Мне нужно построить Boost вне «обычного» дерева каталогов (т. Е. /custom/dir
вместо /usr
), что не составляет особой проблемы: просто передайте --prefix=/custom/path
в ./runscript.sh
/ ./bjam
и вот, пожалуйста.
Или я так подумал.
Проблема в том, что некоторые библиотеки Boost зависят друг от друга и - при использовании процесса сборки по умолчанию, проходящего через ./bootstrap.sh
/./bjam
- похоже, что путь --prefix
не добавлен в путь поиска библиотеки для библиотек Boost, т.е. -Wl,-rpath
не применяется.Это означает, что библиотеки Boost, зависящие от других библиотек Boost, не могут найти их во время выполнения.
Мое приложение - связывание этих библиотек /custom/path
Boost - уже завершается ошибкой на этапе ./configure
, поскольку libboost_filesystem.so
не может найти libboost_system.so
,, хотя я передал -Wl,-rpath=/custom/path/boost/lib
своей собственной строке компилятора (т. Е. Правильный путь к библиотекам Boost, я дважды проверил, что libboost_system.so
есть).
Теперь, чтобы избежатьтакие сложные методы, как установка LD_LIBRARY_PATH
, я бы хотел собрать Boost таким образом, чтобы все библиотеки Boost имели правильный путь поиска для других библиотек Boost, скомпилированных в них.Однако я не смог найти подходящую процедуру для этого.Кто-нибудь может мне помочь?