У меня есть общие или динамические библиотеки, установленные в изолированной программной среде. Я создаю некоторые приложения, которые ссылаются на библиотеки. Я сталкиваюсь с тем, что кажется разницей между OSX и Linux в этом отношении, и я не уверен, что это (лучшее) решение.Как связать общие библиотеки в локальном каталоге, OSX и Linux
В OSX расположение самой библиотеки записывается в библиотеку, так что, если ваши приложения ссылаются на нее, исполняемый файл знает, где искать библиотеку во время выполнения. Это работает, как и ожидалось, с моей песочницей, потому что исполняемый файл выглядит там вместо системных путей установки.
В Linux Я не могу заставить это работать. По-видимому, расположение библиотеки отсутствует в самой библиотеке. Насколько я понимаю, вам нужно добавить папки, содержащие библиотеки, в /etc/ld.so.conf и восстановить ld-кеш, запустив ldconfig.
Это не похоже на трюк для меня, потому что мои библиотеки находятся в домашнем каталоге пользователей. Похоже, ldconfig не нравится, что имеет смысл на самом деле.
Как я могу это решить? Я не хочу переместить библиотеки из своей песочницы.
я как-то думал, что LD_LIBRARY_PATH использовался LDCONFIG. Я не знал, что вы можете просто изменить его динамически. Отлично работает. Благодаря! –
Я проголосовал за этот ответ, моя ошибка: -p –
'-Wl, -rpath,/path/to/sandbox' – Jed