[PyKDE] PyKDE-3.11rc1 build failure (against kdelibs-3.2.3)
Jim Bublitz
jbublitz at nwinternet.com
Wed Jun 2 17:51:00 BST 2004
On Wednesday 02 June 2004 08:17, Rex Dieter wrote:
> Rex Dieter wrote:
> >> Additionally, you may try this:
> >> for i in $(find sip -name \*-kde322.diff); do
> >> cp $i $(echo $i | sed "s|kde322|kde323|g")
> >> done
> >> cp -a extra/kde322 extra/kde323
> >
> > thanks, that appears to have done the trick
>
> Spoke too soon... build fails later now. (kdelibs-3.2.3, rh90, gcc-3.2.2):
>
> $make
> make[1]: Entering directory `/usr/local/tmp/BUILD/PyKDE-3.11rc1/dcop'
> make[1]: `libdcopcmodule.so' is up to date.
> make[1]: Leaving directory `/usr/local/tmp/BUILD/PyKDE-3.11rc1/dcop'
> make[1]: Entering directory `/usr/local/tmp/BUILD/PyKDE-3.11rc1/kdecore'
> g++ -c -Wno-deprecated-declarations -pipe -fPIC -O2 -march=i386
> -mcpu=i686 -w -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I.
> -I../extra/kde323 -I/usr/include/kde -I/usr/include/python2.2
> -I/usr/lib/qt-3.3/include -I/usr/X11R6/include -o kdecorepart0.o
> kdecorepart0.cpp
> /usr/lib/qt-3.3/include/qptrlist.h: In member function `void
> QPtrList<type>::deleteItem(void*) [with type = KIconThemeDir]':
> kdecorepart0.cpp:104810: instantiated from here
> /usr/lib/qt-3.3/include/qptrlist.h:150: invalid use of undefined type
> `struct
> KIconThemeDir'
> ../extra/kde323/kicontheme.h:23: forward declaration of `struct
> KIconThemeDir'
> make[1]: *** [kdecorepart0.o] Error 1
> make[1]: Leaving directory `/usr/local/tmp/BUILD/PyKDE-3.11rc1/kdecore'
Pete got you on the right track - I always forget to create the new extra/kde*
directory. KIconThemeDir is a struct or class defined in the cpp file, so sip
can't access it. Normally this isn't a problem for sip, but KIconThemeDir has
a long history of screwing up. To make things worse, over the last few
releases it hasn't screwed up all the time, so I haven't always remembered to
modify the h file. Apparently in your case it works on Fedora without
modification.
All you need to do is edit extra/kde323/kicontheme.h and comment out the two
lines that reference KIconThemeDir (one forward declaration near the
beginning, and a private variable declaration near the end of the file).
To be strictly rigorous, you should duplicate extra/kde322 as kde323, but by
copying the same set of h files from KDE 3.2.3 sources in to extra/kde323.
There probably aren't any changes in this release though. The only one that
requires modification any longer is kicontheme.h. The others just aren't
always present in kde3/include.
Jim
More information about the PyQt
mailing list