実行時:
sudo /sbin/ldconfig
次のエラーが表示されます。
/sbin/ldconfig: /usr/local/lib/ is not a symbolic link
コマンドを実行するfile
と、以下が表示されます。
file /usr/local/lib/
/usr/local/lib/: directory
内部/usr/local/lib/
には、私が使用する 3 つのライブラリがあります。ここではlib1
、 、lib2
と呼びますlib3
。
さて、ldd
バイナリで を実行すると、次の結果になります。
lib1.so => not found
lib2.so => not found
lib3.so => /usr/local/lib/lib3.so (0x00216000)
しかし、それらはすべて と同じフォルダーにあります/usr/local/lib/{lib1,lib2,lib3}.so
。
を実行するたびldconfig
に、同じエラーが表示されます。
/usr/local/lib/ is not a symbolic link
/usr/local/lib
で2回宣言する必要があると思いまし/etc/ld.conf.d/*.conf
たが、そうではありません:
sudo egrep '\/usr\/local' /etc/ld.so.conf.d/*
projectA.conf.old:/usr/local/projectA/lib
local.conf:/usr/local/lib
ld.so.conf
のみを含む/etc/ld.so.conf.d/*.conf
ため、これ*.old
は処理されず、 を参照し/usr/local/projectA/lib
ます。
lib1 と lib2 をすべて削除しようとしてしばらくすると (ある時点でバイナリのフォルダーでテストしました)、同じエラーが発生します。