前几天我在一个ScientificLinux上也遇到过类似的问题,和CentOS很像。问题是这些库是必需的 libssl.so.0.9.8 和 libcrypto.so.0.9.8,但以 libssl.so.0.9.8e 和 libcrypto.so.0.9.8e 的形式存在。
# ldd /opt/smalltalk/pharovm14A/libSqueakSSL.so
linux-gate.so.1 => (0x00bfb000)
libssl.so.0.9.8 => not found
libcrypto.so.0.9.8 => not found
libc.so.6 => /lib/libc.so.6 (0x006ce000)
/lib/ld-linux.so.2 (0x0055a000)
# ls /usr/lib/libssl.so.0.9.8* /usr/lib/libcrypto.so.0.9.8*
/usr/lib/libcrypto.so.0.9.8e /usr/lib/libssl.so.0.9.8e
解决方案是创建两个符号链接:
# ln -s /usr/lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8
# ln -s /usr/lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8
# ldd /opt/smalltalk/pharovm14A/libSqueakSSL.so
/opt/smalltalk/pharovm14A/libSqueakSSL.so: /usr/lib/libcrypto.so.0.9.8: no version information available (required by /opt/smalltalk/pharovm14A/libSqueakSSL.so)
/opt/smalltalk/pharovm14A/libSqueakSSL.so: /usr/lib/libssl.so.0.9.8: no version information available (required by /opt/smalltalk/pharovm14A/libSqueakSSL.so)
linux-gate.so.1 => (0x0062d000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x008a8000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x00a3f000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x0025f000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0x0029e000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00eee000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00374000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00e41000)
libdl.so.2 => /lib/libdl.so.2 (0x00e0c000)
libz.so.1 => /lib/libz.so.1 (0x00477000)
/lib/ld-linux.so.2 (0x007f9000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x003a0000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x003ab000)
libpthread.so.0 => /lib/libpthread.so.0 (0x005fd000)
libselinux.so.1 => /lib/libselinux.so.1 (0x009b4000)