Como posso alterar forçadamente uma versão de biblioteca compartilhada usada pelo meu código de uma determinada pasta que não a padrão em / usr / local / lib /?

0

Eu tenho um aplicativo que estou construindo no Linux (Ubuntu). As etapas envolvidas são ./configure com determinadas opções, make e, em seguida, executar o aplicativo.

Por padrão, o aplicativo vincula / usa uma biblioteca compartilhada presente na pasta /usr/local/lib/libstarpu.so.0, mas eu fiz o download da fonte mais recente para este Starpu e instalei-o em minha casa $ HOME / lib /.

Eu tentei usar essa nova biblioteca como uma entrada para o comando configure como abaixo e até mesmo removi o / usr / local / lib do meu LD_LIBRARY_PATH, mas ainda quando eu verifico com o ldd, parece mostrar que o executável é construído com o versão antiga da biblioteca em / usr / local / lib.

./configure LDFLAGS="-l:$HOME/lib/libstarpu.so.0"

Como faço meu sistema de compilação usar a versão mais nova dessa biblioteca compartilhada em uma pasta diferente do padrão do / usr / local / lib?

Preciso modificar alguma coisa em meus makefiles relacionados à configuração, configurar arquivos?

    
por goldenmean 05.12.2011 / 14:33

1 resposta

0

Tente:

LD_LIBRARY_PATH="$HOME/lib" ./configure

De qualquer forma, verifique as variáveis de ambiente explicadas aqui:

man ld.so
    
por 05.12.2011 / 15:56