scribus on arm linux (was: Re: Fw: Raspbian: building Scribus)
William Bell wrote:
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.
Did you push the problem with Scribus back to the Scribus developers?
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:
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
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.