erro como incapaz de encontrar cblas

0

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 .

    
por cleanplay 17.04.2014 / 03:04

1 resposta

1

Para que esses erros desapareçam, você precisa instalar o lapack e o atlas. Encontrei rotas no seguinte site em Álgebra Linear Numérica . Você pode usar synaptic ou apt-get para instalar os pacotes listados nessa página, e sua biblioteca de transformação será compilada.

    
por 17.04.2014 / 22:34

Tags