2011-06-29 7 views
4

J'essaye de tester un package qui inclut quelques dossiers f90. Si je compile ou installe et spécifie le compilateur de fortran, cela fonctionne bien. Cependant, lorsque je tente de tester je reçois l'erreur suivante:Comment obtenir setup.py test pour utiliser un compilateur fortran spécifique?

C:\Users\jsalvatier\workspace\scikits.bvp_solver>python setup.py config_fc --fcompiler=gfortran test 
running config_fc 
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options 
running test 
running egg_info 
running build_src 
build_src 
building extension "scikits.bvp_solver.bvp_solverf" sources 
f2py options: [] 
    adding 'build\src.win32-2.6\fortranobject.c' to sources. 
    adding 'build\src.win32-2.6' to include_dirs. 
    adding 'build\src.win32-2.6\scikits\bvp_solver\lib\bvp_solverf-f2pywrappers2.f90' to sources. 
building data_files sources 
build_src: building npy-pkg config files 
writing scikits.bvp_solver.egg-info\PKG-INFO 
writing namespace_packages to scikits.bvp_solver.egg-info\namespace_packages.txt 
writing top-level names to scikits.bvp_solver.egg-info\top_level.txt 
writing dependency_links to scikits.bvp_solver.egg-info\dependency_links.txt 
reading manifest file 'scikits.bvp_solver.egg-info\SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
writing manifest file 'scikits.bvp_solver.egg-info\SOURCES.txt' 
running build_ext 
customize Mingw32CCompiler 
customize Mingw32CCompiler using build_ext 
customize GnuFCompiler 
Found executable C:\mingw\bin\g77.exe 
gnu: no Fortran 90 compiler found 
gnu: no Fortran 90 compiler found 
Found executable C:\mingw\bin\g77.exe 
customize GnuFCompiler 
gnu: no Fortran 90 compiler found 
gnu: no Fortran 90 compiler found 
customize GnuFCompiler using build_ext 
building 'scikits.bvp_solver.bvp_solverf' extension 
compiling C sources 
C compiler: gcc -mno-cygwin -O2 -Wall -Wstrict-prototypes 

compile options: '-Ibuild\src.win32-2.6 -IC:\Python26\lib\site-packages\numpy\core\include -IC:\Python26\include -IC:\Python26\PC -c' 
gcc -mno-cygwin -O2 -Wall -Wstrict-prototypes -Ibuild\src.win32-2.6 -IC:\Python26\lib\site-packages\numpy\core\include -IC:\Python26\include -IC:\Python26\PC -c build\src.win32-2.6\scikits\bvp_solver\lib\bvp_solverfmodule.c -o build\temp.win32-2.6\Release\build\src.win32-2.6\scikits\bvp_solver\lib\bvp_solverfmodule.o 
Found executable C:\mingw\bin\gcc.exe 
gcc -mno-cygwin -O2 -Wall -Wstrict-prototypes -Ibuild\src.win32-2.6 -IC:\Python26\lib\site-packages\numpy\core\include -IC:\Python26\include -IC:\Python26\PC -c build\src.win32-2.6\fortranobject.c -o build\temp.win32-2.6\Release\build\src.win32-2.6\fortranobject.o 
compiling Fortran 90 module sources 
XXX: module_build_dir='build\\temp.win32-2.6\\Release\\scikits\\bvp_solver' option ignored 
XXX: Fix module_dir_switch for GnuFCompiler 
XXX: module_dirs=[] option ignored 
XXX: Fix module_include_switch for GnuFCompiler 
Fortran f77 compiler: C:\mingw\bin\g77.exe -g -Wall -fno-second-underscore -mno-cygwin -O3 -funroll-loops 
compile options: '-Ibuild\src.win32-2.6 -IC:\Python26\lib\site-packages\numpy\core\include -IC:\Python26\include -IC:\Python26\PC -c' 
error: f90 not supported by GnuFCompiler needed for scikits\bvp_solver\lib\BVP_M.f90 

est-il un moyen de contourner cela? Je suis sur Windows 7, python 2.6, numpy 1.4.1.

+0

Êtes-vous ing gfortran ou g95? Aussi, où est le compilateur F90 installé? –

+0

J'utilise gfortran, bien que je puisse installer g95. gfortran est installé dans C: \ MinGW \ bin –

+0

Je vous recommande de coller avec gfortran. Je voulais juste m'assurer que vous utilisiez vraiment gfortran; les gens obtiennent souvent g95 et gfortran confus. –

Répondre

1

Je pense que le problème est que la commande 'test' nécessite de construire inplace.

python setup.py config --fcompiler=gfortran build_ext --inplace 

générait la même erreur que précédemment, mais

python setup.py config --fcompiler=gfortran build_ext 

n'a pas été.

j'ai pu contourner le problème en

  1. configuration L'exécution en mode interactif (python setup.py)

  2. Réglage du compilateur Fortran à gfortran

  3. sélection inplace build (3)

2

Le documentation pour ce paquet recommande la construction comme suit:

python setup.py config --compiler=mingw32 build --compiler=mingw32 install 

qui est censé travailler avec la version mingw32 de gfortran. Je n'ai pas une machine Windows accessible, mais quand je l'ai construit d'autres modules Python (de numpy, par exemple) avec gfortran, la commande était quelque chose comme:

python setup.py build --fcompiler=gnu95 

ETA: J'ai mal lu le début de votre question , et maintenant je vois que vous pouvez construire mais pas tester. Avez-vous essayé ceci avec seulement "--compiler = mingw32"?

+0

N'a pas fonctionné malheureusement. Fait intéressant, python setup.py config --fcompiler = gfortran build_ext --inplace ne fonctionne pas, mais python setup.py config --fcompiler = gfortran build_ext fait, je pense que cela peut être la racine du problème que je pense 'test 'doit construire inplace. –

+0

Que python setup.py compile --fcompiler = gnu95 fonctionne parfaitement pour installer scipy dans ubuntu 11.10. Je cherchais toute la journée et c'était ma solution. – Louis

Questions connexes