Não é possível abrir o arquivo de objeto compartilhado ao usar o compilador D

2

Eu tinha ldc2 e gdc compilado da fonte e funcionando até um mês atrás. Nada mudou, exceto que não me lembro da (s) variável (s) que eu definiria no terminal para fazer o ldc2 e o gdc funcionarem.

Eu recebo os seguintes erros ao tentar compilar o código-fonte D; com gdc ( $ /home/Code/D/gdc/Bin/usr/local/bin/gdc -o t4 t4.d ): /home/Code/D/gdc/Bin/usr/local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.4.5/cc1d: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

com ldc2 ( /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d ): /home/Code/D/ldc2/bin/ldc2: error while loading shared libraries: libconfig++.so.8: cannot open shared object file: No such file or directory

Não me lembro se foi apenas uma adição ao PATH ou algo para a DFLAGS. Alguma idéia?

    
por Arlen 02.06.2011 / 03:37

1 resposta

1

Aqui você não pode nem executar o executável do compilador, porque ele não consegue encontrar as bibliotecas necessárias. gdc está procurando libmpfr.so.1 e ldc2 está procurando libconfig++.so.8 .

Se essas bibliotecas ainda estiverem presentes em seu sistema, talvez em /home/Code/D/gdc/Bin/usr/local/lib , você possa adicionar esse diretório à variável de ambiente LD_LIBRARY_PATH (na maioria dos unices; no Mac OS X, a variável é chamada DYLD_LIBRARY_PATH ).

LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib gdc …

Você pode escrever scripts de wrapper para executar gdc e ldc2 ou colocar isso em ~/.profile :

export LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib

Se essas bibliotecas estiverem em /usr/lib e desaparecerem em uma atualização do sistema, você terá que restaurar as versões necessárias ou recompilar as ferramentas D para as novas versões das bibliotecas.

    
por 02.06.2011 / 20:55