Estou tentando instalar um pacote no R (pacote "ks"). Falha com a mensagem de erro:
/usr/bin/ld: cannot find -lgfortran
Eu já instalei o pacote essencial do Ubuntu:
sudo apt-get install build-essential
Eu também tentei adicionar links simbólicos:
sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so
sudo ln -s /usr/lib/libgfortran.so.3.0.0 /usr/lib/libgfortran.so
sudo ldconfig
Uso o gcc e o g ++ regularmente, mas ainda não tive motivos para usar o gfortran.
Eu já vi outras pessoas com esse problema no gcc-4.7 ( http://ubuntuforums.org/showthread.php?t=2123821 ), então eu me pergunto se isso é da instalação manual do gcc-4.7. Eu segui a receita da resposta aceita aqui aqui e aqui aqui .
lsb_release -a
Impressões em execução
Ubuntu 12.04.2 LTS
e uname -r
impressões em execução
3.2.0-39-generic-pae
Alguém pode oferecer conselhos sobre por ld
que não funciona?
Respostas:
Você precisa instalar o gfortran. O erro indica que faltam as bibliotecas estáticas para a vinculação em tempo de construção, não as bibliotecas dinâmicas que você tentou ajustar.
fonte
sudo apt-get install gfortran
, recebo0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
... Alguma idéia?dpkg -S /usr/lib/gcc/x86)64-linux-gnu/4.6/libgfortran.a
a resposta de que isso é dogfortran-4.6
pacote. O Gcc está procurando o arquivo .a. Se você instalou outra versão do gcc, o vinculador procurará dentro de um diretório com nome semelhante o libgfortran.a.-L
(que é basicamente o mesmo). Se isso falhar, você precisará instalar a versão 4.7 do gfortran a partir do ppa usado para o gcc 4.7. Qual versão do gfortran você tem agora?Um pouco mais de explicação para a resposta de Cloud Oliver.
Descubra a versão do gcc atualmente sendo usada através deste comando.
A entrada com
*
informa qual versão do GCC está sendo usada. Basta pressionar Enter para manter as configurações atuais.Se ele imprimir "sem alternativas para o gcc", talvez seja necessário usar este comando para descobrir a versão:
cd
para o diretório gcc direito (substitua o número da versão pelo seu):Você pode procurar
libgfortran.a
com o seguinte comando (opcional). No meu caso, estava presente no/usr/lib/gcc/x86_64-linux-gnu/4.8/
diretórioCrie o link simbólico:
fonte
O que fiz, verifico no ubuntu se as versões do g ++, gcc e g são iguais ou não.
Eu acho que é melhor se você tiver todos os três da mesma versão.
Para mim, isso resolveu todos os problemas que eu estava enfrentando ao instalar o pacote "TTR" no R usando o RStudio no Ubuntu.
fonte
Solução:
fonte
cd
linha separada , pelo menos?cd /usr/lib/gcc/x86_64-linux-gnu/4.9.3
e entãosudo ln -s /usr/lib/gcc/x86_64-linux-gnu/4.8/libgfortran.a libgfortran.a