「通常の」ディレクトリツリーの外側(つまり、/custom/dir
ではなく/usr
)にBoostをビルドする必要がありますが、これはそれほど問題ではありません。/に渡すだけで--prefix=/custom/path
、そこに移動します。./runscript.sh
./bjam
またはそう思った。
問題は、一部のBoostライブラリが相互に依存していることです。デフォルトのビルドプロセスを使用して./bootstrap.sh
/を実行すると、Boostライブラリのライブラリ検索パスにパスが追加されていない./bjam
ようです。つまり、noが適用されます。つまり、他のBoostライブラリに依存するBoostライブラリは、実行時にそれらを見つけることができません。--prefix
-Wl,-rpath
私のアプリケーション(これらのBoostライブラリのリンク)は、自分のコンパイララインに渡したにもかかわらず(つまり、Boostライブラリへの正しいパスがあることを再確認しました)、見つからないため、すでに段階的に/custom/path
失敗しています。./configure
libboost_filesystem.so
libboost_system.so
-Wl,-rpath=/custom/path/boost/lib
libboost_system.so
さて、設定LD_LIBRARY_PATH
のような手間のかかる方法を避けるために、すべてのBoostライブラリがコンパイルされた他のBoostライブラリの適切な検索パスを持つようにBoostを構築したいと思います。しかし、そのための適切な手順を見つけることができませんでした。誰か助けてもらえますか?