Re: [PyKDE] Trying to build PyKDE for KDE 3
On Thursday 13 June 2002 3:49 am, Jim Bublitz wrote: At this point I think there definitely is something else going on. I've had the RH install (after the version fix) verified, and another poster verified a Mandrake 8.2 install. The sequence of errors you're getting doesn't point to any particular code problems and looks more like a library version problem with something (but not the 3.0.1 stuff). You'd get these kinds of problems if, for example, you were linked to Qt1.4.2 instead of Qt3.0.4 (having done it myself). Yes, I was (accidently) using the QT 3.0.2 version of PyQT with QT 3.0.4, now fixed and PyQT has been rebuilt. Thankyou for pointing me to that one. I looked at the log file (thanks for posting it!), and don't see a problem. I'd suggest the following: 1. If you had sip/PyQt installed from Mandrake, get rid of them (rpm -e). I'm not sure which version they are - if they're pre-3.1, they have libsip in the wrong place (it should only exist in python/site-packages now - remove any other versions in /usr/lib, /usr/local/lib or where-ever). If that was the case, then download sip and PyQt 3.2.4 from riverbankcomputing.co.uk and rebuild/re-install. It might also be a good idea to clean all of the sip/PyQt/PyKDE stuff out of python/site-packages too - maybe look at libkdecore.la *first* (it's a text file) and see if there's anything unusual in there (wrong path to libs, etc) sip, PyQt and PyKDE all need to be 3.2.4 for KDE3.0.0. No old rpms were installed (I madde sure of that from the start), but there were some pieces from an old version of sip hanging around in /usr/local, should have checked for that before. All three installed versions of sip, PyQT and PyKDE (well, partial) are now most definitely version 3.2.4 or greater. 2. If the first step doesn't appear to be the problem, you might want to make sure you have a clean KDE install - check for KDE libs (other than symlinks) in /usr/lib and other locations other than /opt/kde3/lib. Also check for libqt and libqt-mt and look for multiple versions of those (for example libqt.so.2 and libqt.so.3). If you can, delete and re-install KDE (that's pretty messy on SuSE because their installer 'yast' depends on KDE - don't know about Mandrake). Will the PyQt examples run? I have on my machine, dual installs of qt kde. KDE 2.2.2 is installed with /usr/ prefix, and uses QT 2.3.1 installed at /usr/lib/qt2/. KDE 3.0.0 is installed with /opt/kde3/ as prefix, and uses QT 3.0.4 installed at /usr/lib/qt3/. I should perhaps have made this clearer earlier. There are no other versions of QT or KDE, even in source form outside of my home dir. The PyQT examples do run, including the multi threaded ones (eg semaphore.py, tut14.py). ldd of /usr/lib/python2.2/site-packages/libqtcmodulibqtcmodule-3.2.4.so checks out and reports libsip.so.9 = /usr/lib/python2.2/site-packages/libsip.so.9. I had already tried reinstalling KDE from the Mandrake rpms, I don't really wan't to compile the whole thing from source, although I could if it were necessary. Again, the libkdecore.la file in site-packages might provide a hint. If a necessary lib (like libkdecore or libqt) turns up earlier in the search path than /opt/kde3/lib or /usr/lib/qt3, it'll get used instead - I've tried to order things to prevent that, but might not have eliminated all of the possibilities. My guess is somthing along these lines is happening, I've been experimenting with /etc/ld.so.conf, and LD_LIBRARY_DIR and some lib fiddling. It would appear that PyKDE is trying very hard to link against (/usr/lib/)libkdecore.so.3. On my machine this is a KDE 2 library, and hence has symbols missing for PyKDE's purposes. On my machine the KDE 3 equivalent is /opt/kde3/lib/libkdecore.so.4, only by removing the KDE 2 version, and symlinking the KDE 3 version to /opt/kde3/lib/libkdecore.so.3 can I get PyKDE to link libkdecore properly. 3. Try a clean build of PyKDE - running './configure' again deletes everything and rebuilds from the ground up. I know it's a long compile - the next version will be faster, so you might want to wait for that. I don't think anything will change in the next version that will affect the problem you're having though. Restore all the stuff you commented out too (starting with kmutlipledrag.sip) - it should all work once the real problem is fixed. Yep done that: rm -rf PyKDE-3.2.4; tar xzvf PyKDE-3.2.4-1.tar.gz I've run into these kinds of problems on my own systems and they can be very frustrating. The fix is usually simple once you find the cause. I always appreciate it when people stick with it this far and am happy to provide any help I can. Personally I think it's worth it - I've been writing stuff for my own use with PyKDE the last few weeks and it's really been fun and productive too. Agree totally, that I'm still learning the ins and outs of Linux has hindered matters a bit, but I think progress
Re: [PyKDE] Trying to build PyKDE for KDE 3
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:[EMAIL PROTECTED] ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
Re: [PyKDE] Trying to build PyKDE for KDE 3
On 13-Jun-02 Alex Willmer wrote: 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. 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' Yes - that's normal. I'm afraid libtool and type_info functions are currently beyond me. As I posted earlier, I'm still not very enlightened regarding type_info, but it doesn't appear to be the problem. Thanks for taking the time out to help me with this. We try to give everyone their money's worth, and unfortunately sometimes that's what you get :) 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) Those are the Red Hat rpms, which is what I'd expect for Mandrake. They definitely are the 3.0.0 version, just mislabeled. 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: So either I've screwed up so well I can't even spot the error, or there is something else going on. At this point I think there definitely is something else going on. I've had the RH install (after the version fix) verified, and another poster verified a Mandrake 8.2 install. The sequence of errors you're getting doesn't point to any particular code problems and looks more like a library version problem with something (but not the 3.0.1 stuff). You'd get these kinds of problems if, for example, you were linked to Qt1.4.2 instead of Qt3.0.4 (having done it myself). I looked at the log file (thanks for posting it!), and don't see a problem. I'd suggest the following: 1. If you had sip/PyQt installed from Mandrake, get rid of them (rpm -e). I'm not sure which version they are - if they're pre-3.1, they have libsip in the wrong place (it should only exist in python/site-packages now - remove any other versions in /usr/lib, /usr/local/lib or where-ever). If that was the case, then download sip and PyQt 3.2.4 from riverbankcomputing.co.uk and rebuild/re-install. It might also be a good idea to clean all of the sip/PyQt/PyKDE stuff out of python/site-packages too - maybe look at libkdecore.la *first* (it's a text file) and see if there's anything unusual in there (wrong path to libs, etc) sip, PyQt and PyKDE all need to be 3.2.4 for KDE3.0.0. 2. If the first step doesn't appear to be the problem, you might want to make sure you have a clean KDE install - check for KDE libs (other than symlinks) in /usr/lib and other locations other than /opt/kde3/lib. Also check for libqt and libqt-mt and look for multiple versions of those (for example libqt.so.2 and libqt.so.3). If you can, delete and re-install KDE (that's pretty messy on SuSE because their installer 'yast' depends on KDE - don't know about Mandrake). Will the PyQt examples run? Again, the libkdecore.la file in site-packages might provide a hint. If a necessary lib (like libkdecore or libqt) turns up earlier in the search path than /opt/kde3/lib or /usr/lib/qt3, it'll get used instead - I've tried to order things to prevent that, but might not have eliminated all of the possibilities. 3. Try a clean build of PyKDE - running './configure' again deletes everything and rebuilds from the ground up. I know it's a long compile - the next version will be faster, so you might want to wait for that. I don't think anything will change in the next version that will affect the problem you're having though. Restore all the stuff you commented out too (starting with kmutlipledrag.sip) - it should all work once the real problem is fixed. I've run into these kinds of problems on my own systems and they can be very frustrating. The fix is usually simple once you find the cause. I always appreciate it when people stick with it this far and am happy to provide any help I can. Personally I think it's worth it - I've been writing stuff for my own use with PyKDE the last few weeks and it's really been fun and productive too. Jim ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] Trying to build PyKDE for KDE 3
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/ 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/. 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: http://www.alexwillmer.uklinux.net/config.log Hopefully Alex Tail of make install /bin/sh ../mkinstalldirs /usr/lib/python2.2/site-packages /usr/bin/install -c -m 644 kdecore.py /usr/lib/python2.2/site-packages/kdecore.py make install-data-hook make[3]: Entering directory `/home/alex/stuff/software/python/pykde-3.2.4/kdecore' (cd /tmp; PYTHONPATH=/usr/lib/python2.2/site-packages:/usr/lib/python2.2/site-packages /usr/bin/python -c import kdecore) Traceback (most recent call last): File string, line 1, in ? File /usr/lib/python2.2/site-packages/kdecore.py, line 41, in ? import libkdecorec ImportError: /usr/lib/python2.2/site-packages/libkdecorecmodule.so: undefined symbol: __ti13KMultipleDrag make[3]: *** [install-data-hook] Error 1 make[3]: Leaving directory `/home/alex/stuff/software/python/pykde-3.2.4/kdecore' make[2]: *** [install-data-am] Error 2 make[2]: Leaving directory `/home/alex/stuff/software/python/pykde-3.2.4/kdecore' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/home/alex/stuff/software/python/pykde-3.2.4/kdecore' make: *** [install-recursive] Error 1 -- Alex Willmer mailto:[EMAIL PROTECTED] ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
RE: [PyKDE] Trying to build PyKDE for KDE 3
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 ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde