From: Victor W. T. K. <vi...@it...> - 2006-03-29 00:07:33
|
Hi, I can't compile with -shared, though. I get the following error message if I specify both -shared and -fPIC: =================================== g++ -shared -fPIC Complex_wrap.o -o _Complex.so /usr/bin/ld: Complex_wrap.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC Complex_wrap.o: could not read symbols: Bad value collect2: ld returned 1 exit status =================================== If I specify just -fPIC, then I get all errors of the following type: ================================= /usr/lib/gcc/x86_64-redhat-linux/3.4.3/../../../../lib64/crt1.o(.text+0x21): In function `_start': : undefined reference to `main' Complex_wrap.o(.text+0xb92): In function `SWIG_Python_ErrorType(int)': : undefined reference to `PyExc_MemoryError' Complex_wrap.o(.text+0xba2): In function `SWIG_Python_ErrorType(int)': : undefined reference to `PyExc_IOError' Complex_wrap.o(.text+0xbb2): In function `SWIG_Python_ErrorType(int)': : undefined reference to `PyExc_RuntimeError' Complex_wrap.o(.text+0xbbf): In function `SWIG_Python_ErrorType(int)': : undefined reference to `PyExc_IndexError' ================================= And so on. Any ideas? - Victor On Tue, 28 Mar 2006, Marcelo Matus wrote: > Sorry, I though you were using your python module from a separated main > program. > But it seems you are just loading it as a normal module, then you just > need to be sure > to create a 'shared' object. Keep the -shared object when you create the > .so file, and > add -fPIC to the compilation stage. > > Marcelo > > Victor Wai Tak Kam wrote: > > >How do I link against the python library? For some reason I didn't have > >to do that on the 32 bit machine, maybe thanks to global flags. Thanks! > > > >- Victor > > > > > >On Mon, 27 Mar 2006, Marcelo Matus wrote: > > > > > > > >>Check what python versions are you using and be sure you link against > >>the python > >>library in both cases. > >> > >>Marcelo > >> > >> > >>Victor Wai Tak Kam wrote: > >> > >> > >> > >>>Hi all, > >>> > >>> I'm having trouble compiling something that works fine on a 32 bit > >>>machine onto a 64 bit machine, with error messages of the following sort: > >>> > >>>========================================= > >>>build/temp.linux-x86_64-2.3/Py_Scream_EE_wrap.o(.gnu.linkonce.t._ZN4swig19traits_asptr_stdseqISt3mapISsiSt4lessISsESaISt4pairIKSsiEEES4_ISsiEE5asptrEP7_objectPPS8_+0x5a1) > >>>:/projects/Biogroup/SCREAM/SCREAM/swig/python/Py_Scream_EE_wrap.cpp:2373: > >>>undefined reference to `PySequence_Size' > >>>========================================= > >>> > >>> I only included one line of the undefined references, but where > >>>"PySequence_Size" is, it also happens for PyExc_TypeError, PyExc_Format, > >>>etc. I'm using swig 1.3.29 on the 64 bit machine, and am using the exact > >>>same compiler options as the 32 bit machine except I changed -shared to > >>>-fPIC. I also checked that the python version is compiled for the 64 bit > >>>architecture. > >>> > >>> Does anybody know how to resolve this problem? I'm suspecting I may > >>>need to explicitly link to some 64 bit library for some swigged python > >>>stuff but I don't know where and which files to look for. Thanks in > >>>advance! > >>> > >>>- Victor > >>> > >>> > >>> > >>>"I must say I am slightly disappointed. I did not bring my flock of sheep > >>>in the hope I could shepherd them across London Bridge." > >>> > >>>Alan Greenspan, made a Freeman of the City of London, an award bestowing > >>>on him certain ancient privileges including the right to take sheep > >>>through the city > >>> > >>> > >>> > >>>"If you have to cut down a tree on private land, gnaw the stump so that it > >>>will appear that a beaver did it." > >>> > >>>-- From the Canada Committee on Ecological (Bio-Physical) Land > >>>Classification, Newsletter, No 5, 1978. > >>> > >>> > >>>________________________________________________________________________ > >>>Victor Kam | > >>>Department of Chemistry | vi...@ca... > >>>MC 139-74 | phone #626-644-5947 > >>>California Institute of Tech. | #626-395-2440 > >>>Pasadena, CA 91125 | > >>>________________________________________________________________________ > >>> > >>> > >>> > >>> > >>> > >>>------------------------------------------------------- > >>>This SF.Net email is sponsored by xPML, a groundbreaking scripting language > >>>that extends applications into web and mobile media. Attend the live webcast > >>>and join the prime developer group breaking into this new coding territory! > >>>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > >>>_______________________________________________ > >>>Swig-user mailing list > >>>Swi...@li... > >>>https://lists.sourceforge.net/lists/listinfo/swig-user > >>> > >>> > >>> > >>> > >> > >> > > > > > >------------------------------------------------------- > >This SF.Net email is sponsored by xPML, a groundbreaking scripting language > >that extends applications into web and mobile media. Attend the live webcast > >and join the prime developer group breaking into this new coding territory! > >http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > >_______________________________________________ > >Swig-user mailing list > >Swi...@li... > >https://lists.sourceforge.net/lists/listinfo/swig-user > > > > > > |