Para a opção de Nathan, eu adicionaria patchelf
, o que permite alterar o RPATH
de um executável. Eu pessoalmente prefiro aplicar RPATH
na definição de LD_LIBRARY_PATH
e afins, pois o Ubuntu tem problemas para defini-los em profile
e também como se não definisse isso em profile
, isso economiza a necessidade de um script wrapper.
Para definir um executável RPATH
que é relativo ao diretório do aplicativo (se você desejar, isso não é obrigatório), você precisa usar $ORIGIN
tomando cuidado para escapar do $
que deve aparecer literalmente (então use $ORIGIN
se você invocar patchelf
de um shell). Ex. se o aplicativo pertencer a um diretório bin
e as bibliotecas pertencerem a um diretório peer lib
, você usará $ORIGIN/../lib
para o RPATH
.
Você também pode usar um RPATH
absoluto, se preferir.
Veja Patchelf (nixos.org) .