Я прочитал много рекомендаций, в которых говорится, что 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 ПОИСК ПЕРВЫЙ!?!