[PyKDE] Trying to build PyKDE for KDE 3

Jim Bublitz jbublitz at nwinternet.com
Tue Jun 11 02:34:01 BST 2002


On 10-Jun-02 Alex Willmer wrote:
> Hello All
 
> I'm trying to get pykde 3.2.4 working with kde 3.0.0, however
> make install fails with the error below. I'm not sure where to
> look to find the solution, make appeared to work without
> errors. The configure line I used was:
 
>  ./configure --with-qt-dir=/usr/lib/qt3/ 
> --with-pyqt-sip-dir=../pyqt-3.2.4/sip/ --with-kde-dir=/opt/kde3/

configure should find all of those locations, except perhaps not
the lower case PyQt. Looks fine.

 
> The system is Mandrake 8.2 with the mandrake rpms of kde 3.0.0,
> sip & pyqt 3.2.4 were built from source. I've deleted the
> DocStruct class lines and  added the newlines to pct.h in
> extraH/kde300/.

Sloppy work on my part - those should've been fixed already.
 
> Please if anyone can point me in the right direction, I would
> love to get this working. Last lines reported by make install
> are included below. I'll also post config.log to:

>     import libkdecorec
> ImportError:
> /usr/lib/python2.2/site-packages/libkdecorecmodule.so: 
> undefined symbol: __ti13KMultipleDrag

This indicates libkdecore.so (in /opt/kde3/lib) has an undefined
symbol __ti13KMultipleDrag. If you do:

   nm /opt/kde3/lib/libkdecore.so | less

and then

   /__ti13KMultipleDrag

to search for the symbol (you can grep instead of 'less' too), it
either shouldn't be there or will have a 'U' next to it. If it's
there and has an address, something else is wrong. According to the
same 'nm' line with a -C switch to unmangle the names, the
corresponding item on my system is defined as a 'type_info
function'. I don't know what that is for sure or how it gets there,
so I'm a little at a loss as to how to fix this. Do other Mandrake
8.2 users have this problem?

On SuSE (and I assume RH and Debian) this symbol is defined and the
install/link step works fine.

The only fix I can think of at the moment is to go to:

   PyKDE-3.2.4/sip/kde30/kdecore.sip-in

and comment out (//) the line 

   %Include kmultipledrag.sip

I don't believe anything else references this class. After that
do:

   build -mkdecore

and recompile (make - only kdecore should recompile, saving you
about an hour). You shouldn't need to run configure again. These
kinds of install failures come about because of things missing in
the KDE libs - I have no idea how that happens, but there are a
number of things in the .h files that don't make it to the
libraries. You won't have the KMultipleDrag class with this fix.

My only concern in this case is that the 'type_info' functions
(whatever they are) are missing as a group, and there are a number
of them. I can't verify any of this because I don't have a Mandrake
system, and it works on my systems, so please let me know what
happens.

I'll look into this some more and see if I can figure out what a
'type_info function' is. You might also want to check the libtool
command line just before the install failure and make sure it has a
'-L/opt/kde3/lib' and not some other KDE location (like kde2 if
that's also on your system) - KMultipleDrag is new in 3.0.0. If
that does occur, you can try adding a

        '--with-kde-libraries=/opt/kde3/lib'

to ./configure (your log looked correct however, so I wouldn't try
that unless there's a clear indication that it's a problem;
re-running configure will require a complete re-compile).


Jim




More information about the PyQt mailing list