Estou tentando executar o código BdG-TMAT . A pasta aqui tem arquivos Fortran e python, já que o arquivo principal de execução BDG_K.py usa algumas funções de fortran. Então, para executar o código fortran, eu uso um conversor f2py que converte tmatf.f90 em tmatf.so. (o f2py vem instalado automaticamente com o numpy). Estou executando make da pasta BdG-Tmat onde recebo o erro da seguinte forma:
gfortran:f77: /tmp/tmpQErUyR/src.linux-x86_64-2.7/potsub-f2pywrappers.f
/usr/bin/gfortran -Wall -Wall -shared /tmp/tmpQErUyR/tmp/tmpQErUyR/src.linux-x86_64-2.7/potsubmodule.o /tmp/tmpQErUyR/tmp/tmpQErUyR/src.linux-x86_64-2.7/fortranobject.o /tmp/tmpQErUyR/potsub.o /tmp/tmpQErUyR/tmp/tmpQErUyR/src.linux-x86_64-2.7/potsub-f2pywrappers.o potsubi.o -lgsl -llapack -lcblas -lgslcblas -lgfortran -o ./potsub.so
/usr/bin/ld: error: cannot find -lcblas
collect2: error: ld returned 1 exit status
/usr/bin/ld: error: cannot find -lcblas
collect2: error: ld returned 1 exit status
error: Command "/usr/bin/gfortran -Wall -Wall -shared /tmp/tmpQErUyR/tmp/tmpQErUyR/src.linux-x86_64-2.7/potsubmodule.o /tmp/tmpQErUyR/tmp/tmpQErUyR/src.linux-x86_64-2.7/fortranobject.o /tmp/tmpQErUyR/potsub.o /tmp/tmpQErUyR/tmp/tmpQErUyR/src.linux-x86_64-2.7/potsub-f2pywrappers.o potsubi.o -lgsl -llapack -lcblas -lgslcblas -lgfortran -o ./potsub.so" failed with exit status 1
make: *** [potsub.so] Error 1
Assim, ao executar o arquivo python nesta pasta, estou recebendo o seguinte erro:
$python BDG_K.py
Traceback (most recent call last):
File "BDG_K.py", line 29, in <module>
import tmatf
ImportError: /home/arpit/Desktop/BdG-Tmat/tmatf.so: undefined symbol: dsbevx_
este símbolo mencionado não está lá no arquivo original (onde é dsbevx em vez de dsbevx _)
Por favor, oriente como instalar o CBLAS corretamente para remover o primeiro erro e se o segundo erro está relacionado ao primeiro. Eu tentei fazer a pasta de origem CBLAS, mas não funciona bem. Eu segui isso: link .