バイナリまたはライブラリをビルドするときrpath
、つまり
-Wl,rpath,<path/to/lib>
バイナリの実行時に必要なライブラリを見つける場所をリンカに指示します。
ここでの絶対パスと相対パスに関する UNIX の哲学は何ですか? どこからでもライブラリを見つけることができるように、絶対パスを使用する方が良いですか? または、ディレクトリ全体をコピーしたり、より高いレベルのパスの名前を変更したりしても、バイナリが使用できなくなることがないように、相対にする方がよいでしょうか?
アップデート
を使用する$ORIGIN
のが、通常、バイナリを構築するための推奨される方法です。ライブラリの場合、絶対パスを入力するのが好きです。そうしないと、ライブラリにリンクできなくなるからです。シンボリック リンクは、リンク先ではなく、リンク$ORIGIN
のパスを指すようにを変更します。