Re: [PyKDE] Trying to build PyKDE for KDE 3

2002-06-16 Thread Alex Willmer

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

2002-06-12 Thread Alex Willmer

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

2002-06-12 Thread Jim Bublitz

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

2002-06-10 Thread Alex Willmer

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

2002-06-10 Thread Jim Bublitz

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