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

David Cournapeau cournape@gmail....
Mon Feb 22 07:18:23 CST 2010

On Mon, Feb 22, 2010 at 10:01 PM, Nils Wagner
<nwagner@iam.uni-stuttgart.de> wrote:

> ar x test.a
> gfortran -shared *.o -o libtest.so -lg2c
> to build a shared library. The additional option -lg2c was
> necessary due to an undefined symbol: s_cmp

You should avoid the -lg2c option at any cost if compiling with
gfortran. I am afraid that you got a library compiled with g77. If
that's the case, you should use g77 and not gfortran. You cannot mix
libraries built with one with libraries with another.

> Now I am able to load the shared library
> from ctypes import *
> my_lib = CDLL('test.so')
> What are the next steps to use the library functions
> within python ?

You use it as you would use a C library:


But the fortran ABI, at least for code built with g77 and gfortran,
pass everything by reference. To make sure to pass the right
arguments, I strongly suggest to double check with the .h you



More information about the NumPy-Discussion mailing list