[Numpy-discussion] Calling routines from a Fortran library using python

David Cournapeau cournape at gmail.com
Thu Feb 18 08:29:39 EST 2010


On Thu, Feb 18, 2010 at 10:22 PM, Nils Wagner
<nwagner at iam.uni-stuttgart.de> wrote:
> On Thu, 18 Feb 2010 11:55:07 +0100
>  Matthieu Brucher <matthieu.brucher at 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.

David



More information about the NumPy-Discussion mailing list