共有オブジェクト (so) ファイルの検索パス

共有オブジェクト (so) ファイルの検索パス

共有オブジェクト ファイルをロードするために検索されるパスのシーケンスは何ですか?

共有オブジェクト ファイルをロードする実行可能ファイルを実行しようとしています。共有オブジェクト ファイルは にあります/usr/lib/x86_64-linux-gnu/

私には 2 人のユーザーがいます。彼らを とuser1と呼びますuser2user1実行ファイルは実行できますが、user2次のエラーが発生します: 共有オブジェクト ファイル libicuuc.so を開けません

両方のユーザーに同じものがありますLD_LIBRARY_PATH。何が欠けているのでしょうか?

答え1

マニュアルldconfigあなたを助けるかもしれない

/etc/ld.so.cache    File  containing an ordered list of libraries found
                    in the directories specified in /etc/ld.so.conf, as
                    well as those found in /lib and /usr/lib.

ただし、あなたのディストリビューションには私のものとは異なる情報が含まれている可能性があるので、自分のディストリビューションを読んでください。

実行ファイルにどのライブラリをバインドするかを決定する別の方法は、lddプログラムの例:

ldd /bin/echo
        linux-vdso.so.1 =>  (0x00007ffc2277a000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003edc200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003edbe00000)

関連情報