[root@sawmill sawmill]# ./sawmill
./sawmill: error while loading shared libraries: libldap-2.3.so.0: cannot open shared object file: No such file or directory
使用时yum provides libldap_r-2.3.so.0
我发现包含此文件的软件包是: compat-openldap-2.3.43-2.el6.i686 。安装后我仍然收到错误。如果我使用定位,我可以在 /usr/lib 中找到该文件,因此我尝试从 /usr/lib 到 /usr/lib64 创建指向该文件的符号链接,但仍然收到相同的错误。我还尝试设置 LD_LIBRARY_PATH=/usr/lib/ 和 LD_LIBRARY_PATH=/usr/lib64 但它不允许我运行 sawmill 安装脚本。有人知道如何解决这个问题吗?
编辑:安装您提到的软件包修复了 libldap 文件,现在我被困在 libssl 文件上,您知道如何解决吗?
[root@sawmill sawmill]# ldd sawmill
linux-vdso.so.1 => (0x00007fffe0cf7000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff5fe30e000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007ff5fe0f4000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ff5fdeda000)
libcrypto.so.6 => /usr/lib64/libcrypto.so.6 (0x00007ff5fdb40000)
libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0 (0x00007ff5fd903000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff5fd6e7000)
libssl.so.6 => not found
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ff5fd4af000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ff5fd1a9000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff5fcf25000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff5fcd0e000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff5fc97e000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff5fe518000)
libz.so.1 => /lib64/libz.so.1 (0x00007ff5fc768000)
liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0 (0x00007ff5fc559000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00007ff5fc33f000)
libssl.so.10 => not found
libfreebl3.so => /usr/lib64/libfreebl3.so (0x00007ff5fc0dc000)
[root@sawmill sawmill]#
答案1
尝试运行ldd /path/to/sawmill
。这将向您显示 Sawmill 正在寻找库的完整路径。
我可能会从那里符号链接到你的包管理器安装它的地方。
关于新的错误,您使用的是 64 位操作系统,对吗?
尝试安装openldap-2.3.43-2.el6.x86_64
而不是openldap-2.3.43-2.el6.i686
。
答案2
libssl.so.6 和 libssl.so.10 是 OpenSSL 包的一部分。要安装:
yum install openssl
然后重新运行以下命令以确保那些未找到的错误已得到解决:
ldd sawmill
如果是这样,请重新运行安装,这样就好了。
要查找哪个库属于哪个包,请运行:
yum whatprovides libssl.so.6
-布伦丹