ldd 显示库存在并已链接,程序未找到它

tor*_*ado 3 sudo libraries dynamic-linking

控制台输出:

bitnami@linux:~$ sudo svnmucc propset svn:needs-lock 1 file:///opt/bitnami/repositories/Standard/Ipc/trunk -m "test set"
svnmucc: error while loading shared libraries: libsvn_client-1.so.0: cannot open shared object file: No such file or directory
bitnami@linux:~$ ldd /opt/bitnami/subversion/bin/svnmucc
        linux-vdso.so.1 =>  (0x00007ffee8dfc000)
        libsvn_client-1.so.0 => /opt/bitnami/subversion/lib/libsvn_client-1.so.0 (0x00007f3d66102000)
        libsvn_wc-1.so.0 => /opt/bitnami/subversion/lib/libsvn_wc-1.so.0 (0x00007f3d65e30000)
        libsvn_ra-1.so.0 => /opt/bitnami/subversion/lib/libsvn_ra-1.so.0 (0x00007f3d65c22000)
        libsvn_diff-1.so.0 => /opt/bitnami/subversion/lib/libsvn_diff-1.so.0 (0x00007f3d65a09000)
Run Code Online (Sandbox Code Playgroud)

我试过:

可执行文件上的“没有这样的文件或目录”,但文件存在并且 ldd 报告存在的所有库

我安装了:

lib32z1, lib32ncurses5, lib32bz2-1.0
Run Code Online (Sandbox Code Playgroud)

我设置:

LD_LIBRARY_PATH="/opt/bitnami/subversion/lib:/opt/bitnami/sqlite/lib:/opt/bitnami/apache2/lib:/opt/bitnami/common/lib"
Run Code Online (Sandbox Code Playgroud)

我在 -

linux 3.13.0-55-generic #94-Ubuntu x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

- Bitnami SVN 堆栈。所以很可能 Bitnami 人可能已经做了一些事情。新鲜的 Debian/Arch/Ubuntu 不是解决方案(公司不想要他们付不起的东西)

问:如何更进一步?因为我使用的是 64 位系统,所以它应该安装了 64 位“lib-loader”。svnmucc 由 SVN 本身进一步提供,因此它应该安装了所有必需的库。我认为 Bitnami 对系统有所缓和,现在它无法访问它(或类似的东西)。然而,我对图书馆的处理不多,这就是为什么我在该主题上没有得到很好的资金支持。

yae*_*shi 7

LD_LIBRARY_PATHsudo为了安全起见,设置被删除。为避免受到影响,您可以将这些路径添加到动态加载程序的全局搜索路径列表中。

将库路径行放入/etc/ld.so.conf.d/bitnami.conf

/opt/bitnami/common/lib
/opt/bitnami/apache2/lib
/opt/bitnami/sqlite/lib
/opt/bitnami/subversion/lib
Run Code Online (Sandbox Code Playgroud)

然后/etc/ld.so.cache通过以下命令更新:

sudo ldconfig
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅ld.soldconfig手册。