2
裏面叫我嘗試使用f2py FORTRAN90代碼寫入以下命令與LAPACK使用f2py從模塊
gfortran -c nrt.f90
gfortran -c lu.f90
gfortran -c sqn.f90
gfortran -c csm.f90 -llapack -lblas
gfortran -c pa.f90
f2py -c nrt.f90 lu.f90 sqn.f90 csm.f90 pa.f90 -m p_avg
我所說的LAPACK功能zhegv()內csm.f90包。一切編譯,但是當我打電話的IPython從終端
ipython --pylab
然後在IPython的類型
from p_avg import pa
我看到
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-8181d9e1b27d> in <module>()
----> 1 from p_avg import pa
ImportError: ./p_avg.so: undefined symbol: zhegv_
有什麼事情需要做,以確保f2py可以理解這個LAPACK函數調用?我看到其他人詢問有關使用f2py直接與LAPACK模塊,但在這裏我使用另一塊FORTRAN代碼中的LAPACK函數。
謝謝。
更新: 當我嘗試在命令中鍵入在終端下面的意見建議,
f2py -L/usr/lib/lapack -llapack -c nrt.f90 lu.f90 sqn.f90 csm.f90 pa.f90 -m p_avg
或
f2py -L/usr/lib/ -llapack -c nrt.f90 lu.f90 sqn.f90 csm.f90 pa.f90 -m p_avg
然後鍵入IPython的下面,
from p_avg import pa
我得到
---------------------------------------------------------------- -----------
ImportError Traceback (most recent call last)
<ipython-input-1-8181d9e1b27d> in <module>()
----> 1 from p_avg import pa
ImportError: No module named p_avg
你見過這[問題]和它的答案(http://stackoverflow.com/questions/10766969/f2py-wrapping-fortran-module-which-makes-use-of-subrouines-distributed-in-diffe) ?你可以試試像'f2py -L/path/to/lapack -llapack -c nrt.f90 lu.f90 sqn.f90 csm.f90 pa.f90 -m p_avg'? – francis 2014-10-09 16:52:04
我在Ubuntu中,希望能把它放在正確的路徑上。不幸的是,另一個問題似乎來自該命令。 – Impossibear 2014-10-09 18:21:36