Eu tenho várias compilações de um aplicativo no meu sistema (uma compilação de desenvolvimento e muitas compilações antigas). Quando estou tentando executar uma versão mais antiga, o sistema invariavelmente pega as bibliotecas dinâmicas da compilação do desenvolvedor.
De /home/franz/Projects/appleseed/archives/releases/1.1.0-alpha-14-0-g4e46ed9/appleseed/bin
, que é o diretório da versão mais antiga que estou tentando executar:
$ ldd appleseed.studio
[stuff omitted]
libappleseed.so => /home/franz/Projects/appleseed/build/linux-gcc4/appleseed/libappleseed.so (0x00007fbcb090b000)
libappleseed.shared.so => /home/franz/Projects/appleseed/build/linux-gcc4/appleseed.shared/libappleseed.shared.so (0x00007fbcb030c000)
[more stuff omitted]
( /home/franz/Projects/appleseed/build/linux-gcc4/appleseed/
é o caminho para minha compilação de desenvolvimento).
Naturalmente, devo definir LD_LIBRARY_PATH
corretamente antes de executar uma versão mais antiga:
$ export LD_LIBRARY_PATH=/home/franz/Projects/appleseed/archives/releases/1.1.0-alpha-14-0-g4e46ed9/appleseed/bin ; ./appleseed.studio
( LD_LIBRARY_PATH
está inicialmente vazio, então não me incomodo com a concatenação.)
No entanto, isso não funciona e o sistema continua a pegar a compilação dev das bibliotecas dinâmicas.
Estou fazendo algo errado? Alguma idéia?
Estou executando uma versão de 64 bits do Ubuntu 10.10 Maverick Meerkat (sem suporte a partir de abril de 2012).
ATUALIZAÇÃO: atualizei meu sistema para o Ubuntu 11.10 (Natty) e o problema persiste.