私はずっと前に f2py で FORTRAN プログラムをコンパイルしていました。しかし、今日再コンパイルに失敗したとき。その理由は、適切なコンパイラを指していないことだと思います。前回、私のマシンはクリーンで、唯一のコンパイラとして gnu がインストールされていましたが、今日は からのコンパイルが多すぎますvisualstudio2012
Parallel Studio XE 2013
MinGW32-xy
Rtools
。一般的に、コードは正しいと確信しています。では、f2py を使用するための引数について、誰かが私にいくつかの提案をしてくれませんか? 以下は私のコマンドです:
python C:\Python27\Scripts\f2py.py --fcompiler=gnu95 -c -m geneeb geneec2_edit_unix.for
build_src: building npy-pkg config files
running build_ext
No module named msvccompiler in numpy.distutils; trying from distutils
customize MSVCCompiler
customize MSVCCompiler using build_ext
customize GnuFCompiler
Could not locate executable g77
Could not locate executable f77
customize IntelVisualFCompiler
Could not locate executable ifort
Could not locate executable ifl
customize AbsoftFCompiler
Could not locate executable f90
customize CompaqVisualFCompiler
Could not locate executable DF
customize IntelItaniumVisualFCompiler
Could not locate executable efl
customize Gnu95FCompiler
Found executable c:\Rtools\gcc-4.6.3\bin\gfortran.exe
Found executable c:\Rtools\gcc-4.6.3\bin\gfortran.exe
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
building 'geneeb' extension
compiling C sources
error: Unable to find vcvarsall.bat
その後、この投稿に基づいて、ユーザー環境に VS90COMNTOOLS=%VS110COMNTOOLS% を追加しましたが、次のエラーが発生しました。あなたの助けに本当に感謝します!
I:\Dropbox\REST>python C:\Python27\Scripts\f2py.py --fcompiler=gnu95 -c -m geneec geneec2_edit_unix.for
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "geneec" sources
f2py options: []
f2py:> c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneecmodule.c
creating c:\users\tao\appdata\local\temp\tmpfjjb_m
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7
Reading fortran codes...
Reading file 'geneec2_edit_unix.for' (format:fix,strict)
Post-processing...
Block: geneec
Block: geneec2
{}
In: :geneec:geneec2_edit_unix.for:agasae
vars2fortran: No typespec for argument "nasae".
{}
In: :geneec:geneec2_edit_unix.for:agasae
vars2fortran: No typespec for argument "yloc".
{}
In: :geneec:geneec2_edit_unix.for:agasae
vars2fortran: No typespec for argument "pondep".
Block: agasae
Post-processing (stage 2)...
Building modules...
Building module "geneec"...
Constructing wrapper function "geneec2"...
re1,re2,re3,re4,re5,re6,re7,re8 = geneec2(apprat,appnum,apspac,koc,methaf,wetted,method,airflg,ylocen,grnflg,grsize,orcflg,incorp,sol,methap,hydhap,fothap)
Constructing wrapper function "agasae"...
agasae(nasae,yloc,pondep)
Wrote C/API module "geneec" to file "c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneecmodule.c"
adding 'c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\fortranobject.c' to sources.
adding 'c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7' to include_dirs.
copying C:\Python27\lib\site-packages\numpy\f2py\src\fortranobject.c -> c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7
copying C:\Python27\lib\site-packages\numpy\f2py\src\fortranobject.h -> c:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7
build_src: building npy-pkg config files
running build_ext
No module named msvccompiler in numpy.distutils; trying from distutils
customize MSVCCompiler
customize MSVCCompiler using build_ext
customize Gnu95FCompiler
Found executable c:\Rtools\gcc-4.6.3\bin\gfortran.exe
Found executable c:\Rtools\gcc-4.6.3\bin\gfortran.exe
customize Gnu95FCompiler using build_ext
building 'geneec' extension
compiling C sources
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m
creating c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7 -IC:\Python27\lib\site-pack
es\numpy\core\include -IC:\Python27\include -IC:\Python27\PC /Tcc:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneecmodule.c /Foc:\users\tao\appdata\local\temp\tmpfjjb_m\Release\
ers\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneecmodule.obj
Found executable C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\cl.exe
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7 -IC:\Python27\lib\site-pack
es\numpy\core\include -IC:\Python27\include -IC:\Python27\PC /Tcc:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\fortranobject.c /Foc:\users\tao\appdata\local\temp\tmpfjjb_m\Release
sers\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\fortranobject.obj
compiling Fortran sources
Fortran f77 compiler: c:\Rtools\gcc-4.6.3\bin\gfortran.exe -Wall -ffixed-form -fno-second-underscore -O3 -funroll-loops
Fortran f90 compiler: c:\Rtools\gcc-4.6.3\bin\gfortran.exe -Wall -fno-second-underscore -O3 -funroll-loops
Fortran fix compiler: c:\Rtools\gcc-4.6.3\bin\gfortran.exe -Wall -ffixed-form -fno-second-underscore -Wall -fno-second-underscore -O3 -funroll-loops
compile options: '-Ic:\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7 -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c'
gfortran.exe:f77: geneec2_edit_unix.for
copying c:\rtools\gcc-4.6.3\lib\libgfortran.a -> c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\gfortran.lib
copying c:\rtools\gcc-4.6.3\lib\gcc\i686-w64-mingw32\4.6.3\libgcc.a -> c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\gcc.lib
copying c:\rtools\gcc-4.6.3\i686-w64-mingw32\lib\libmingw32.a -> c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\mingw32.lib
copying c:\rtools\gcc-4.6.3\i686-w64-mingw32\lib\libmingwex.a -> c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\mingwex.lib
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\rtools\gcc-4.6.3\lib /LIBPATH:c:\rtools\gcc-4.6.3\lib\gcc\i686-w64-mingw32\4.6.
/LIBPATH:c:\rtools\gcc-4.6.3\i686-w64-mingw32\lib /LIBPATH:C:\Python27\libs /LIBPATH:C:\Python27\PCbuild /LIBPATH:c:\users\tao\appdata\local\temp\tmpfjjb_m\Release /LIBPATH:C:\Python27\lib
/LIBPATH:C:\Python27\PCbuild gfortran.lib gcc.lib mingw32.lib mingwex.lib /EXPORT:initgeneec c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.wi
2-2.7\geneecmodule.obj c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\fortranobject.obj c:\users\tao\appdata\local\temp\tmpfjjb_m\Re
ase\geneec2_edit_unix.o /OUT:.\geneec.pyd /IMPLIB:c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneec.lib /MANIFESTFILE:c:\users\t
\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneec.pyd.manifest
Found executable C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\link.exe
mt.exe -nologo -manifest c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneec.pyd.manifest -outputresource:.\geneec.pyd;2
Found executable C:\Program Files (x86)\Windows Kits\8.0\bin\x86\mt.exe
c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneec.pyd.manifest : general error c1010070: Failed to load and parse the manifest.
e system cannot find the file specified.
error: Command "mt.exe -nologo -manifest c:\users\tao\appdata\local\temp\tmpfjjb_m\Release\users\tao\appdata\local\temp\tmpfjjb_m\src.win32-2.7\geneec.pyd.manifest -outputresource:.\geneec
yd;2" failed with exit status 31
アップデート:
2 番目のコンパイル方法は機能しましたが、コンパイル プロセスでエラーが発生しました。これらのエラーを常に無視できるかどうかわかりません。