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

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

控制台输出:

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)

我试过:

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

我安装了:

lib32z1, lib32ncurses5, lib32bz2-1.0

我设置:

LD_LIBRARY_PATH="/opt/bitnami/subversion/lib:/opt/bitnami/sqlite/lib:/opt/bitnami/apache2/lib:/opt/bitnami/common/lib"

我在 -

linux 3.13.0-55-generic #94-Ubuntu x86_64 GNU/Linux

- Bitnami SVN 堆栈。因此,Bitnami 的人很可能搞出了一些事情。新鲜的 Debian/Arch/Ubuntu 不是一个解决方案(公司不想要他们无法支付的东西)

问:我怎样才能走得更远?它应该安装 64 位“lib-loader”,因为我使用的是 64 位系统。 svnmucc 由 SVN 本身进一步提供,因此它应该安装所有必需的库。我认为 Bitnami 对系统有所调整,现在它无法访问它(或类似的东西)。然而,我对图书馆的了解不多,这就是为什么我在这个主题上没有太多资金。

答案1

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

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

sudo ldconfig

ld.soLD配置手册了解详细信息。

相关内容