
私はdockerでcentos 6.10を実行しています。タイトルに記載されているように/usr/local/lib
.confファイルにおよびを設定しました。 .soライブラリを挿入するたびにこのタスクを実行する必要があります。それ以外の場合(Python 3をコンパイルするとき)、見つかりません。ただし、これを設定するには(confファイルに書き込むことなく)、ライブラリを配置した後に追加の手順は必要ありません。原因は何ですか?/usr/local/lib64
/etc/ld.so.conf.d/
ldconfig
/usr/local/lib
LD_LIBRARY_PATH
/usr/local/lib:/usr/local/lib64
/etc/ld.so.conf.d/
しかし、/lib
ディレクトリがor/usr/lib
に設定されていないのはなぜですか?/etc/ld.so.conf
/etc/ld.so.conf.d/
答え1
glibcを介してアプリケーションを実行すると、LD_LIBRARY_PATH=PATH app
指定されたディレクトリ内のすべてのファイルがスキャンされます。
このフラグを使用しないと、/etc/ld.so.cache
キャッシュライブラリ()のみがアクティブになり、プロセス速度が向上します。アプリケーションを10万回連続して実行し、毎回すべてのディレクトリを再検索する必要があることを想像してください。すべてが遅くなる可能性があります。