[review] [PyKDE] build error w/ KDE 3.5.2 on Mac OS X (Qt3/X11)

Jim Bublitz jbublitz at nwinternet.com
Thu Mar 23 19:42:35 GMT 2006

On Wednesday 22 March 2006 15:02, Benjamin Reed wrote:
> On 3/22/06, Jim Bublitz <jbublitz at nwinternet.com> wrote:
> > In this case, I'd suspect that gcc 4.0 is the problem - early versions
> > (before 4.0.3 ??) can't handle the large files PyKDE generates, although
> > I would have expected problems before you got this far.  Since you're
> > compiling sipkpartspart0.cpp, that means all of the kparts .cpp files
> > have been concatenated (by sip) into one huge file. Normally,
> > configure.py would detect the problem versions of gcc and generate single
> > files for each class, rather than a single large file.
> Yeah, it handled the 10MB (!!!) Qt .cpp just fine from PyQt...  This
> is apple's gcc 4.0.1 build 5250 (which is gcc 4.0.1 plus a bunch of
> vendor-specific patches)

Right - if gcc had a problem, it would show up on PyQt also in my experience. 
kdeui is even larger than PyQt's qt module, but always split in two.

> >     python configure.py -lkparts -i
> >
> > That will re-generate only kparts, and generate individual .cpp files.
> > Then run make (the earlier modules shouldn't recompile if you use -l).
> >
> > If that doesn't work, let me know what happens and we'll go from there
> > (or maybe Simon Edwards has some ideas). I don't have a Mac to try this
> > on.
> Hm, I get the same error after rerunning it with -i, I just end up
> with 29 .cpp files this time, the first of which fails:
> (grin)
> ---(snip!)---
> g++-4.0 -c -Wno-deprecated-declarations -pipe -fPIC -Os -Wall -W
> -I/Users/ranger/tmp/kdebindings/kdebindings-3.5.2-new/python/pykde/kparts
> -I/Users/ranger/tmp/kdebindings/kdebindings-3.5.2-new/python/pykde/extra/kd
>ecvs -I/sw/include -I/sw/include/kio -I../kio -I/sw/include/kparts
> -I/sw/lib/qt3/include
> -I/Users/ranger/tmp/kdebindings/kdebindings-3.5.2-new/python/sip/siplib
> -I/sw/include/python2.4 -I/usr/X11R6/include -o sipkpartscmodule.o
> /Users/ranger/tmp/kdebindings/kdebindings-3.5.2-new/python/pykde/kparts/sip
>kpartscmodule.cpp distcc[27159] ERROR: compile
> /Users/ranger/.ccache/sipkpartsc.tmp.Disco-Volante.local.27149.ii on
> failed
> distccd[18959] (dcc_check_compiler_masq) Warning:
> powerpc-apple-darwin8-g++-4.0 on distccd's path is
> /sw/var/lib/distcc/translated/powerpc-apple-darwin8-g++-4.0 and really
> a link to /sw/var/lib/distcc/gcc-translator.pl
> sipkpartsKPartsEvent.h:43: error: expected class-name before '{' token
> sipkpartsKPartsEvent.h:46: error: expected unqualified-id before '&' token
> sipkpartsKPartsEvent.h:46: error: expected ',' or '...' before '&' token
> sipkpartsKPartsEvent.h:46: error: ISO C++ forbids declaration of
> 'parameter' with no type
> sipkpartsKPartsGUIActivateEvent.h:42: error: invalid use of undefined
> type 'struct KParts::GUIActivateEvent'
> /sw/include/kparts/part.h:49: error: forward declaration of 'struct
> KParts::GUIActivateEvent'
> sipkpartsKPartsPartSelectEvent.h:44: error: invalid use of undefined
> type 'struct KParts::PartSelectEvent'
> /sw/include/kparts/part.h:48: error: forward declaration of 'struct
> KParts::PartSelectEvent'
> sipkpartsKPartsPartActivateEvent.h:44: error: invalid use of undefined
> type 'struct KParts::PartActivateEvent'
> /sw/include/kparts/part.h:47: error: forward declaration of 'struct
> KParts::PartActivateEvent'
> make: *** [sipkpartscmodule.o] Error 1
> ---(snip!)---
> This smells like the kind of error I got when fixing bad KDE_EXPORT
> defines in other parts of KDE (my KDE has -fvisibility=hidden
> enabled).

> If it helps, I've got the pre-parsed gcc -E output at
> http://ranger.befunk.com/debug/sipkpartscmodule.generated-cpp.bz2
> (warning, about 285k compressed).

The problem looks like a missing } or ) or some other punctuation, but it 
never seems to turn out to be that. I looked at the pre-parsed output, but 
the error is about 50K lines in, and I didn't see anything obvious in that 

The only other thing I can suggest at the moment is to download the tarball 
from riverbankcomputing and try building that.


More information about the PyQt mailing list