
David Cournapeau wrote:
On Thu, Feb 18, 2010 at 10:22 PM, Nils Wagner <nwagner@iam.uni-stuttgart.de> wrote:
On Thu, 18 Feb 2010 11:55:07 +0100 Matthieu Brucher <matthieu.brucher@gmail.com> wrote:
Ok I have extracted the *.o files from the static library.
Applying the file command to the object files yields
ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), not stripped
What's that supposed to mean ?
It means that each object file is an object file compiled with -fPIC, so you just have to make a shared library (gfortran -shared *.o -o libmysharedlibrary.so)
Then, you can try to open the library with ctypes. If something is lacking, you may have to add -lsome_library to the gfortran line.
Matthieu -- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher
O.k. I tried
gfortran -shared *.o -o libmysharedlibrary.so
/usr/bin/ld: dxop.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
The message is pretty explicit: it is not compiled with -fPIC, there is nothing you can do, short of requesting a shared library from the software vendor.
Well, I think one can make a static executable with C or Cython and embed the Python interpreter. But it is pretty complicated stuff, and requesting a shared library is vastly preferable. Dag Sverre