[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

scribus on arm linux (was: Re: Fw: Raspbian: building Scribus)

William Bell wrote:
Hi Peter,

Did you push the problem with Scribus back to the Scribus developers?
As a general rule I don't deal with upstreams directly unless it's for a program I use myself heavilly and/or am one of the debian matainers for. IMO the responsibility for knowing how best to deal with upstream and knowing what patches from debian they will and wont want lies with the maintainer of the debian packages.

In this case though given the lack of any action by the debian maintainer on the latest bug I filed I think it's best to keep upstream in the loop. I'm ccing them (and a few other places) on this mail.

Note that I do not personally use scribus.

> It looks like Plugwash fixed the issue upstream:
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659916
Afaict bug reports have been filed over issues with scribus on arm on several occasions. All the ones I submitted were variants on the theme of "you need to be more careful about mixing qreal and double". From reading the debian changelog it looks like the maintainer pushed at least some of them upstream.

For anyone reading this who is not familiar with the issue the underlying problem is that qt developers chose to define qreal differently on arm from on other platforms. On most platforms qreal is defined as double but on arm platforms it is defined as float. I assume this was done to give better performance, especially on earlier arm hardware that did not have usable hardware floating point, whatever the original reason it seems to be a descision we are laregly stuck with*. Therefore qt application developers have to be careful about how they mix qreal and double if they want their code to work on arm.
The problem with double and float seems to be worse in 1.4.3. There are several references to QVector<double> and QList<double>. The fix is not as straightforward as hoped, since they have some overridden functions with QVector<double> and QVector<float> inside Scribus.
I was able to get 1.4.2 to build with a patch that I posted at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=707882 . However the patch was far more intrusive than previous patches I have prepared and I am not confident in it's correctness. It really needs someone who understands the code in question to check it before it is applied. The patch looks basically the same as the one the fedora guy posted.

This issue is blocking scribus 1.4.2 from reaching debian (and hence raspbian) jessie.

I have not looked at 1.4.3 partly because it's not in debian yet and partly because I only look at build failures when i'm bored or when they are blocking something I care about.

* Unless we want to break binary compatibility with upstream but I really do not think going down that road is a good idea.

Reply to: