accessing FORTRAN from Python

Christian Meesters meesters at uni-mainz.de
Tue Nov 14 05:09:23 CST 2006


Hoi,

thanks to Robert Kern who helped me out yesterday on the f2py-list, I was able 
to make some progress in accessing FORTRAN from Python. But only some 
progress ...

If I have the following code, named 'hello.f':
C File hello.f
      subroutine foo (a)
      integer a
      print*, "Hello from Fortran!"
      print*, "a=",a
      end

and compile it with g77 -shared -fPIC hello.f -o hello.so

and then start python, I get the following:
>>> from numpy import *
>>> from ctypes import c_int,  POINTER, byref
>>> hellolib = ctypeslib.load_library('hello', '.')
>>> hello = hellolib.foo_
>>> hello(42)
 Hello from Fortran!
Segmentation fault

Can anybody tell me where my mistake is? (Currently python 2.4.1 (no intention 
to update soon), the most recent ctypes, and numpy '1.0.dev3341' from svn.)

And a second question: Are there simple examples around which show how to pass 
and retrieve lists, numpy arrays, and dicts to and from FORTRAN? Despite an 
intensive web search I couldn't find anything.

TIA
Christian

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642




More information about the Numpy-discussion mailing list