[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyKDE] sip/PyQt 3.9
From:       Gerard Vermeulen <gvermeul () grenoble ! cnrs ! fr>
Date:       2003-12-11 18:41:16
[Download RAW message or body]

On Wed, 10 Dec 2003 17:55:36 +0000
Phil Thompson <phil@riverbankcomputing.co.uk> wrote:

[ .. ]

> >
> > 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.
> 
> 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).
> 
With a few patches I manage to build out of place (install after building)
without the RPATH magic: sip-3.9, PyQt-3.9 and a PyQwt (no install necessary
to run the examples).

The trick was to add -Wl,-soname$(TARGET) to LFLAGS.
Is there any distro that dares to touch LFLAGS_SONAME :-) 

Attached you'll find build-scripts and patches to see what I have done.
(Python-2.3.2 lives in /home/packer/usr/bin, so prefix=/home/packer/usr)

Gerard

["make-sip" (application/octet-stream)]
["sip-3.9-pre.patch" (application/octet-stream)]

--- sip-3.9/siputils.py.pre	Thu Dec 11 08:15:39 2003
+++ sip-3.9/siputils.py	Thu Dec 11 08:15:58 2003
@@ -957,7 +957,6 @@
 
             self.INCDIR.append(self.config.sip_inc_dir)
             self.LIBDIR.append(self.config.sip_mod_dir)
-            self.rpaths.append(self.config.sip_mod_dir)
             self.LIBS.append(self.platform_lib(self.module_as_lib("sip")))
 
         ModuleMakefile.finalise(self)

["sip-3.9-post.patch" (application/octet-stream)]

--- sip-3.9/siplib/Makefile.post	Thu Dec 11 08:16:27 2003
+++ sip-3.9/siplib/Makefile	Thu Dec 11 19:09:44 2003
@@ -8,7 +8,7 @@
 CPPFLAGS = -DSIP_QT_SUPPORT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. \
-I/home/packer/usr/include/python2.3 -I/usr/lib/qt323/include -I/usr/X11R6/include  \
CFLAGS = -pipe -fPIC -O2 -mcpu=i686 -march=i686 -w -D_REENTRANT  CXXFLAGS = -pipe \
                -fPIC -O2 -mcpu=i686 -march=i686 -w -D_REENTRANT
-LFLAGS = -shared -Wl,-rpath,/usr/lib/qt323/lib
+LFLAGS = -shared -Wl,-soname,$(TARGET) -Wl,-rpath,/usr/lib/qt323/lib
 LIBS = -L/usr/lib/qt323/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
 MOC = /usr/lib/qt323/bin/moc
 


["make-pyqt" (application/octet-stream)]
["PyQt-x11-gpl-3.9-post.patch" (application/octet-stream)]

--- PyQt-x11-gpl-3.9/qt/Makefile.post	Thu Dec 11 08:27:59 2003
+++ PyQt-x11-gpl-3.9/qt/Makefile	Thu Dec 11 19:15:43 2003
@@ -8,7 +8,7 @@
 CPPFLAGS = -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I. \
-I/home/packer/usr/include/python2.3 -I/usr/lib/qt323/include -I/usr/X11R6/include  \
CFLAGS = -pipe -fPIC -O2 -mcpu=i686 -march=i686 -w -D_REENTRANT  CXXFLAGS = -pipe \
                -fPIC -O2 -mcpu=i686 -march=i686 -w -D_REENTRANT
-LFLAGS = -shared -Wl,-rpath,/usr/lib/qt323/lib
+LFLAGS = -shared -Wl,-soname,$(TARGET) -Wl,-rpath,/usr/lib/qt323/lib
 LIBS = -L/home/packer/usr/lib/python2.3/site-packages -L/usr/lib/qt323/lib \
-L/usr/X11R6/lib -lqassistantclient -lsip -lqt-mt -lXext -lX11 -lm -lpthread  MOC = \
/usr/lib/qt323/bin/moc  


_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic