[PyKDE] sip/PyQt 3.9
Gerard Vermeulen
gvermeul at grenoble.cnrs.fr
Wed Dec 10 20:41:01 GMT 2003
On Wed, 10 Dec 2003 17:55:36 +0000
Phil Thompson <phil at riverbankcomputing.co.uk> wrote:
[ .. ]
> >
> > I ran into the same problems when porting PyQwt back to sip-3.9,
> > because to make it work I have to set the RPATH to include the qt
> > module. (FYI: I used configure.py to build sip-3.9 AND PyQt-3.9, PyQwt
> > is still made with my own stuff)
> >
> > Why is this superfluous RPATH stuff needed? (now it is, because if
> > I remove the line containing
> >
> > self.rpaths.append(self.config.sip_mod_dir)
> >
> > from siputils.py, I get Pete's initial error messages)
> >
> > RPATH is meant to help ld.so, but ld.so is never(?) used, because
> > Python loads the appropriate modules (abused as libraries).
> >
> >
> > What did change? The module loading with Python-2.3 (but PyQwt worked
> > with sip-3.8 and Python-2.3 without the RPATH magic) or sip?
>
> configure.py builds the sip module in-site then installs it (so you don't have
> to be root). build.py built it in site-packages. That's the most obvious
> difference.
>
Even with build.py you did not need to be root to compile PyQt. My personal
RPMs are made as a normal user and I invoke build.py like:
python build.py \
-fno-exceptions \
-b %{buildroot}/%{_bindir} \
-d %{buildroot}/%{_libdir}/python%{pydir}/site-packages \
-q %{qtdir} \
-lqt-mt
where %{buildroot} is a macro point to a dir somewhere in my home. The rpm
install commands put the *.so files in site-packages. Of course, it may be
possible that the rpm build process does some adjustments in the libraries
(will check this too).
>
> Can you try hacking siplib/Makefile so that it builds in site-packages (and
> remove it from the install target) to see if that makes a difference? If it
> does I'll revert to the previous behaviour (but not for SIP4 as it isn't
> affected by this).
>
Yes, I will try. Mandrake also messes with QMAKE_RPATH and since all distro's
copy from each other... I want to resolve the issue before releasing PyQwt-3.9
(allthough distutils also has some 'knowledge' of RPATH, but IMO it is less
reliable).
Just some statistics from your sip-3.9/spec dir:
[packer at venus specs]$ ls -1 *win32*
win32-borland
win32-g++
win32-icc
win32-msvc
win32-msvc.net
win32-watcom
[packer at venus specs]$ ls -1 | wc
52 52 570
So there are 46 Posix-like systems.
[packer at venus specs]$ grep RPATH * | wc
37 104 1319
So there are 9 Posix systems without an entry QMAKE_RPATH, but I count also
7 Posix systems with an empty string on the rhs of = .
Gerard
More information about the PyQt
mailing list