Примушуйте лінкер знаходити stdc ++ у нестандартному каталозі


2

Я прочитав багато вказівок, де говориться, що LD_LIBRARY_PATHпошук шукається раніше, ніж будь-що інше, але одна з моїх .so-бібліотек посилається libtdc++.so.6на /usr/lib64.

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

Я хочу mylib.soзв’язатися з libstdc++.so.6іншим місцем, наприклад/apps/gcc_4.8.0/lib/libstdc++.so.6

Так що я додати /apps/gcc_4.8.0/libдо LD_LIBRARY_PATH, який НЕ має /usr/lib64в ньому, але він по- , як і раніше не знаходить його там.

ОНОВЛЕННЯ:

Якщо я додам:

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

до мого оточення більше помилок лінкера більше немає. Так, але це не вирішує проблему. Користувачі нижче не хочуть залежати від того, чи ця бібліотека знаходиться у потрібному місці. ЧОМУ ІСН "T LD_LIBRARY_PATH ПЕРШИЙ ПОШУК!?!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.