[PyKDE] Trying to build PyKDE for KDE 3

Alex Willmer siu99aw at rdg.ac.uk
Thu Jun 13 02:28:01 BST 2002


On Tuesday 11 June 2002 1:18 am, Jim Bublitz wrote:
> 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.
>

Thankyou for the tip, I tried this out and the 'make install' run got a bit 
further, unfortunately another import error occurred. Judicious (although 
very possibly not correct) repetition of the above with the '%Include 
netwm.sip' line, got a little further, but after that the import error gets 
a bit close to the bone.

>
> 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.
>

Here are the reported errors, both occur during 'make install'. The first is 
after commenting kmultipledrag.sip, the second netwm.sip. Both occur during 
the install-data-hook stage, I can only assume the second refers to the KDE 
Window Manager class constructor.

Traceback (most recent call last):
  File "<string>", line 1, in ?
  File "/usr/lib/python2.2/site-packages/kdecore.py", line 40, in ?
    import libkdecorec
ImportError: /usr/lib/python2.2/site-packages/libkdecorecmodule.so: 
undefined symbol: virtual_hook__10NETWinInfoiPv

Traceback (most recent call last):
  File "<string>", line 1, in ?
  File "/usr/lib/python2.2/site-packages/kdecore.py", line 40, in ?
    import libkdecorec
ImportError: /usr/lib/python2.2/site-packages/libkdecorecmodule.so: 
undefined symbol: qt_cast__10KWinModulePCc

>
> 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
>

I've had a look at the libtool line in question, it does contain the correct 
library ('-L/opt/kde3/lib'), however it is a relink command, which libtool 
warns of in the preceding line:

libtool: install: warning: relinking `libkdecorecmodule.la'

Presumably this is intentional, but I just thought I should mention it. If 
it is relevant, the full output of the 'make install' stage is at the url 
below:

http://www.alexwillmer.uklinux.net/makeinstall.log

I'm afraid libtool and type_info functions are currently beyond me.

Thanks for taking the time out to help me with this. As an aside. Just some 
further background, in case of rpm screwiness, possibly due to a switch 
from some unofficial texstar kde 3.0.1ish/cvs rpms, to the official 
Mandrake ones while trying to build PyKDE previously (of course rerunning 
configure afterwards) I nuked the build directory and started afresh from 
the 3.2.4 tarball today. It appears that the Mandrake RPMS currently 
available for 3.0.0 report as 3.0.1 in the headers with kdeverison.h 
containing:

#define KDE_VERSION 301
#define KDE_VERSION_STRING "3.0.1 (CVS >= 20020327)"

I've modified ckversion.py accordingly. To the best of my knowledge, these 
are definitely the 3.0.0 rpms, 'rpm -qf /opt/kde3/include/kdeversion.h' 
reports 'kdelibs3-devel-3.0-10mdk', as found at:

ftp://ftp.kde.org/pub/kde/stable/3.0/Mandrake/8.2/RPMS/i586

So either I've screwed up so well I can't even spot the error, or there is 
something else going on.

Sincerely

Alex
-- 
Alex Willmer
mailto:siu99aw at rdg.ac.uk




More information about the PyQt mailing list