Força o linker a encontrar o stdc ++ no diretório não padrão

2

Li muito de orientação que diz que LD_LIBRARY_PATH é pesquisada antes de qualquer outra coisa, mas uma das minhas bibliotecas .so está vinculando com libtdc++.so.6 em /usr/lib64 .

ldd mylib.so:
...
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f82abd18000)
...

Eu quero que mylib.so vincule com libstdc++.so.6 em outro local, como /apps/gcc_4.8.0/lib/libstdc++.so.6

Então, adiciono /apps/gcc_4.8.0/lib a LD_LIBRARY_PATH , que não tem /usr/lib64 , mas ainda não o encontra lá.

ATUALIZAÇÃO:

Se eu adicionar:

setenv LD_PRELOAD /apps/gcc_4.8.0/lib/libstdc++.so.6

para o meu ambiente, não há mais erros de vinculação. Mas isso não resolve o problema. Usuários a jusante não vão querer depender dessa biblioteca estar no lugar certo. POR QUE ISN "T LD_LIBRARY_PATH ESTÁ PROCURANDO PRIMEIRO!?!

    
por KyleEnglish 10.06.2016 / 15:30

0 respostas

Tags