[PyQt] [Fwd: Bug#441577: ftbfs with g++-4.3/gcc-snapshot]

Danny Pansters danny at ricin.com
Tue Sep 11 23:26:16 BST 2007


On Tuesday 11 September 2007 02:11:52 Andreas Pakulat wrote:
> On 10.09.07 16:30:50, Jim Bublitz wrote:
> > On Monday 10 September 2007 13:25, Torsten Marek wrote:
> > > Hi Phil,
> > >
> > > there has been a bug report about g++-4.3-related build problems, can
> > > you comment on that, please?
> > >
> > > BTW, are you aware of the severe performance problems when compiling
> > > sip-generated code with g++ 4.2? It has improved with recent 4.3
> > > snapshots, but is still not as fast as 4.1 used to be. Splitting PyQt4
> > > into 40 parts and compiling with -O1 runs through "fast enough".
> > >
> > > Please see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30052
> > >
> > > In other news, thanks for the tips wrt qreal/float, it now builds fine
> > > on all arches!
> >
> > I'm also using 4.1.2. I have 4.2.x installed because KDE4 requires that
> > version of the C++ libs (with openSuSE 10.2 anyway), but the one time I
> > tried to compile PyKDE4 using 4.2, it hung (with concatenated files). It
> > may work with sip generating individual files or splitting into a large
> > number of parts may work too. I haven't looked into it any farther
> > because PyKDE4 is still about 3 months away from release.
>
> I'm building PyQt4 here with gcc4.2 on Debian unstable (changed default
> from 4.1 to 4.2 some time ago) concatenating into 4 files and that works
> without problems.
>
> > PyKDE3 had the same problem with early 4.0.x versions, and still detects
> > those and doesn't concatenate for those versions.
>
> PyKDE4 however doesn't work until I split into 19 files (tried with 4, 8
> and 10 IIRC)
>
> Andreas

I've seen this on FreeBSD when compiling with gcc42 (FreeBSD-STABLE=6 has 
gcc34, FreeBSD-CURRENT=7 has gcc42 as their system compiler). I'd get build 
cluster failures on CURRENT for py-qt4-gui, as well as py-kde (kde3 that is). 
The cluster quits building if a single (g++) process takes longer than 2 
hours.  For py-qt4-gui with gcc42 even on my fat 3.4 GHz intel box it would 
never seem to finish.

Turning off concat proved (so far) to be a good solution. Tested with gcc42 on 
STABLE.  It doesn't take that much longer (perhaps even faster compared to, 
say gcc34 with -j 4 which I was already using for py-kde to help amd/sparc 
packages to build).

What happens, as far as I can say, is that the cc1plus process lasts for a 
very long time (or forever). As if there's something odd where the number of 
make invocations and the number of g++ processes don't match up or perhaps 
something overflows causing the compiler to go on and and "optimizing". And 
even if that work is for nothing it will use up resources. There's also a 
known gcc42 <-> python2.5 incompatibility problem which may or may not play a 
role.

Whatever the exact issue is, I think it's safe to assume that building from 
concatted source should (for now?) be discouraged under GCC42+.

Dan

ps: py-qt4-gui refers to the FreeBSD port which is the gui module of PyQt4 
(obviously by far the largest of the lot)


More information about the PyQt mailing list