On Fri, Jan 04, 2008 at 05:07:57PM +0100, Jean-Fran?ois Mertens wrote:
> 
> On 04 Jan 2008, at 10:21, Dominique Dhumieres wrote:
> 
> > Updating to plplot-5.8.0-1001 failed on Intel/Leopard with:
> >
> > ...
> > /bin/sh ../../../libtool --tag=CC --mode=link gcc  -Os -fstrict- 
> > aliasing -Wno-long-double  -L/sw/lib/python2.5/config -Wl,-x,- 
> > dead_strip -o cplplotcanvasmodule.la -rpath /sw/lib/python2.5/site- 
> > packages -Wl,-m -rpath /sw/lib/python2.5/site-packages -module - 
> > avoid-version  ../../../src/libplplotd.la ../../../bindings/gnome2/ 
> > lib/libplplotgnome2d.la -Wl,-framework,CoreServices,- 
> > framework,ApplicationServices -L/sw/lib -L/usr/X11/lib - 
> > lgnomeprintui-2-2 -lgnomeprint-2-2 -lgnomecanvas-2 -lxml2 - 
> > lart_lgpl_2 -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXinerama -lXext - 
> > lXfixes -lXcursor -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lXft - 
> > lXrender -lpangox-1.0 -lX11 -lpangoft2-1.0 -lfontconfig -lfreetype - 
> > lz -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl - 
> > liconv   -L/sw/lib -lgobject-2.0 -lglib-2.0 -lintl -liconv    
> > cplplotcanvasmodule_la-cplplotcanvas.lo cplplotcanvasmodule_la- 
> > cplplotcanvasmodule.lo  -lm
> > gcc ${wl}-undefined ${wl}dynamic_lookup -o .libs/ 
> > cplplotcanvasmodule.so -bundle  .libs/cplplotcanvasmodule_la- 
> > cplplotcanvas.o .libs/cplplotcanvasmodule_la-cplplotcanvasmodule.o   
> > -L/sw/lib/python2.5/config ../../../src/.libs/libplplotd.dylib -L/ 
> > sw/lib/freetype219/lib /sw/lib/freetype219/lib/libfreetype.dylib -L/ 
> > sw/lib /sw/src/fink.build/plplot-5.8.0-1001/plplot-5.8.0/lib/ 
> > csa/.libs/libcsirocsa.dylib /sw/src/fink.build/plplot-5.8.0-1001/ 
> > plplot-5.8.0/lib/nn/.libs/libcsironn.dylib /usr/lib/libltdl. 
> > 3.1.4.dylib /usr/lib/libdl.dylib /usr/lib/libm.dylib ../../../ 
> > bindings/gnome2/lib/.libs/libplplotgnome2d.dylib /sw/src/fink.build/ 
> > plplot-5.8.0-1001/plplot-5.8.0/src/.libs/libplplotd.dylib -L/usr/ 
> > X11/lib -L/usr/X11R6/lib /usr/lib/libpthread.dylib /usr/X11/lib/ 
> > libXau.6.0.0.dylib /usr/X11/lib/libXdmcp.6.0.0.dylib /usr/lib/ 
> > libexpat.dylib /usr/lib/libz.dylib /usr/lib/libc.dylib /sw/lib/ 
> > libgnomeprintui-2-2.dylib /sw/lib/libgnomeprint-2-2.dylib /sw/lib/ 
> > libgnomecanvas-2.dylib /sw/lib/libxml2.dyl
> >  ib /sw/lib/libart_lgpl_2.dylib /sw/lib/libgtk-x11-2.0.dylib /sw/ 
> > lib/libgdk-x11-2.0.dylib /usr/X11/lib/libXrandr.2.0.0.dylib /usr/ 
> > X11/lib/libXinerama.1.0.0.dylib /usr/X11/lib/libXext.6.4.0.dylib / 
> > usr/X11/lib/libXfixes.3.1.0.dylib /usr/X11/lib/libXcursor. 
> > 1.0.2.dylib /sw/lib/libatk-1.0.dylib /sw/lib/ 
> > libgdk_pixbuf-2.0.dylib /sw/lib/libpangoxft-1.0.dylib /usr/X11/lib/ 
> > libXft.2.1.2.dylib /usr/X11/lib/libXrender.1.3.0.dylib /sw/lib/ 
> > libpangox-1.0.dylib /usr/X11/lib/libX11.6.2.0.dylib /sw/lib/ 
> > libpangoft2-1.0.dylib /usr/X11/lib/libfontconfig.dylib /usr/X11/lib/ 
> > libfreetype.dylib -lz /sw/lib/libpango-1.0.dylib /sw/lib/ 
> > libgmodule-2.0.dylib /sw/lib/libgobject-2.0.dylib /sw/lib/ 
> > libglib-2.0.dylib /sw/lib/libintl.dylib /sw/lib/libiconv.dylib -lm - 
> > Wl,-x -Wl,-dead_strip -Wl,-m -Wl,-framework -Wl,CoreServices -Wl,- 
> > framework -Wl,ApplicationServices
> > ld64: warning: option -m is obsolete and being ignored
> > ld: duplicate symbol __PyGObject_API in .libs/ 
> > cplplotcanvasmodule_la-cplplotcanvasmodule.o and .libs/ 
> > cplplotcanvasmodule_la-cplplotcanvas.o
> >
> > collect2: ld returned 1 exit status
> 
> Don't know how to fix this; have no access to 10.5 _nor to a 64 bit  
> machine at the moment
> _ though I see now in man ld that "-m" is marked as 32-bit only...
[...]
> With my ld, adding the '-m' flag (which is done in the patchscript),  
> avoided the 'duplicate symbol' error, and led to proper linking:

The gnome python bindings have some standard macros to control this
kind of situation (essentially, inhibit defining the symbol in certain
object files). Instead of -m, try patching the sources for the two
colliding .o (cplplotcanvasmodule.c and cplplotcanvas.o perhaps?) to
insert a line:

#define NO_IMPORT_PYGOBJECT

before the

#include "pygobject.h"

in them. If that fixes it, please file an upstream report; it's a
portable fix for a non-darwin-specific bug.

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-devel mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.devel

Reply via email to