Czytałem wiele wskazówek, które mówi, że LD_LIBRARY_PATH
jest poszukiwany zanim cokolwiek innego, ale jeden z moich bibliotek .so jest powiązanie z libtdc++.so.6
w /usr/lib64
.
ldd mylib.so:
...
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f82abd18000)
...
Chcę mylib.so
połączyć się z libstdc++.so.6
inną lokalizacją, np/apps/gcc_4.8.0/lib/libstdc++.so.6
Dodam /apps/gcc_4.8.0/lib
wię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!”!