xmingw and f2py

Flavio fccoelho at gmail.com
Fri Sep 8 07:57:44 EDT 2006


Hi Nick,

I followed the steps you describe exactly and I am still gettin this
error message when i try to compile.

here is the command I give:

f2py -c --compiler=/opt/xmingw/bin/i386-mingw32msvc-gcc
--f77exec=opt/xmingw/bi
n/i386-mingw32msvc-g77 -L /opt/xmingw/i386-mingw32msvc/lib/ -lpython2.4
-m flib flib.f

and this is the error:

copying
/usr/lib/python2.4/site-packages/numpy-1.0b5-py2.4-linux-i686.egg/numpy/f2py/src/fortranobject.c
-> /tmp/tmpIkxhAr/src.linux-i686-2.4
copying
/usr/lib/python2.4/site-packages/numpy-1.0b5-py2.4-linux-i686.egg/numpy/f2py/src/fortranobject.h
-> /tmp/tmpIkxhAr/src.linux-i686-2.4
  adding '/tmp/tmpIkxhAr/src.linux-i686-2.4/flib-f2pywrappers.f' to
sources.
running build_ext
error: don't know how to compile C/C++ code on platform 'posix' with
'/opt/xmingw/bin/i386-mingw32msvc-gcc' compiler

any further suggestions?

Nick Craig-Wood wrote:
> Flavio <fccoelho at gmail.com> wrote:
> >  has anyone tried to build extensions for win32 on Linux using
> >  xmingw?
>
> I don't know about xmingw, but we use mingw on linux to compile stuff
> for windows all the time.  (We use the mingw package under debian)
>
> We build extensions using mingw but linked to the link library of the
> official python2.4 build.
>
> Here are some instructions which you'll need to adapt to your setup
>
> /misc/windows is a smb mounted windows machine
>
> # Linking with the distributed python
> #
> # http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/python/cygwin.html
> #
> # On a windows machine
> # install the latest windows python (2.4.3.msi) from www.python.org
> # Copy the header files into the mingw installation
> cp -av /misc/windows/Python24/include /usr/i586-mingw32msvc/include/python2.4
> # Download pexports from here
> # http://www.emmestech.com/software/cygwin/pexports-0.43/download_pexports.html
> # unpack pexports.exe
> unzip pexports-0.43.zip
> # Fetch python dll from the windows machine
> cp -av /misc/windows/WINNT/system32/python24.dll .
> # Extract the exported symbols
> wine pexports python24.dll > python24.def
> # Create the link library
> /usr/i586-mingw32msvc/bin/dlltool --dllname python24.dll --def python24.def --output-lib libpython2.4.a
> # Move the files into the correct place
> mv -i python24.dll python24.def libpython2.4.a /usr/i586-mingw32msvc/lib/
>
> After that lot you can build python extensions with mingw under linux,
> using -lpython2.4
>
> --
> Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick




More information about the Python-list mailing list