Czytałem wiele wskazówek, które mówi, że LD_LIBRARY_PATHjest poszukiwany zanim cokolwiek innego, ale jeden z moich bibliotek .so jest powiązanie z libtdc++.so.6w /usr/lib64.

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

Chcę mylib.sopołączyć się z libstdc++.so.6inną lokalizacją, np/apps/gcc_4.8.0/lib/libstdc++.so.6

Dodam /apps/gcc_4.8.0/libwięc LD_LIBRARY_PATH, że tego nie ma /usr/lib64, ale nadal go tam nie ma.

AKTUALIZACJA:

Jeśli dodam:

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

w moim środowisku nie ma więcej błędów linkera. Tak, ale to nie rozwiązuje problemu. Użytkownicy niższego szczebla nie będą chcieli polegać na tym, że biblioteka znajduje się we właściwym miejscu. DLACZEGO PIERWSZE WYSZUKIWANIE NIE JEST „LD_LIBRARY_PATH!”!

KyleEnglish
źródło