El 27/08/2013 17:27, "Kyle Mandli" <kyle.mandli@gmail.com> escribió:
On Tue, Aug 27, 2013 at 6:46 AM, Juan Luis Cano <juanlu001@gmail.com>
I'm having some problems to properly build a module written in Fortran 90 using numpy.distutils. It only contains one subroutine, but:
* If I write a .f90 file with the single subroutine (no module .. contains), then f2py tries to compile it using a f77 compiler, and that's not what I want. * If I put it inside a module definition, then at the final compilation stage modulef2pywrapper.c is missing the corresponding .mod file and I have to make the build fail, then copy the .mod from the temp directory and rebuild. Weird.
On the other hand, with the second approach f2py creates a unnecessary level of nesting in the corresponding python module and I don't feel quite ok with that.
What is the right way to do this? I find the documentation on numpy.distutils a bit lacking, I almost always find the solution by trial and error. I can push the code, it's a short file (part of the rewrite of odeint I'm doing in SciPy).
Regards
Juan Luis Cano _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
You should be able to specify the compiler when invoking f2py, something
wrote: like:
f2py --fcompiler=$COMPILER -m $MODULE_NAME -c $SOURCE_FILE
That won't work since gfortran is used for both F77 and F90. If you look on rules.py in f2py F77 wrappers are generated if the subroutine is not inside a module, and then the compilation fails because it contains invalid statements for F77. Bug? Any other suggestions?
Kyle
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion