我需要libcrypto++.so.6
我的杰西来运行一些应用程序。这就是我所拥有的/usr/lib/
:
root@lab-185:~# ls /usr/lib/ | grep libcrypto
libcrypto++.a
libcryptopp.a
libcryptopp.so
libcryptopp.so.9
libcrypto++.so
libcrypto.so.1.0.0
libcrypto++.so.9
libcrypto++.so.9.0.0
以及aptitude
节目:
root@lab-185:~# aptitude search libcrypto
i libcrypto++-dev - General purpose cryptographic library - C++ development
i libcrypto++-doc - General purpose cryptographic library - documentation
i libcrypto++-utils - General purpose cryptographic library - utilities and data files
i A libcrypto++9 - General purpose cryptographic library - shared library
i libcrypto++9-dbg - General purpose cryptographic library - debug symbols
i libcrypto1.0.0-udeb - Secure Sockets Layer toolkit - libcrypto udeb
这是strace
我的应用程序:
root@lab-185:~# strace ./app 2>&1 | grep libcrypto
open("/lib/x86_64-linux-gnu/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libcrypto++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
writev(2, [{"./app", 15}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libcrypto++.so.6", 16}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10./app: error while loading shared libraries: libcrypto++.so.6: cannot open shared object file: No such file or directory
我怎样才能将它安装到我的系统上?
编辑1:
命令ldd
返回:
root@lab-185:~# ldd app
./app: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./app)
./app: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./app)
./app: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./app)
linux-vdso.so.1 (0x00007ffcb69e4000)
libnetsnmp.so.30 => /usr/lib/x86_64-linux-gnu/libnetsnmp.so.30 (0x00007f5661c32000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5661a15000)
liblog4cxx.so.10 => /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10 (0x00007f566162c000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f5661424000)
libxerces-c-3.1.so => /usr/lib/libxerces-c-3.1.so (0x00007f5660e1c000)
libxqilla.so.6 => /usr/lib/libxqilla.so.6 (0x00007f56605aa000)
libcrypto++.so.6 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f566029f000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f565ff9e000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f565fd88000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f565f9df000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f565f5e4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f566245c000)
libapr-1.so.0 => /usr/lib/x86_64-linux-gnu/libapr-1.so.0 (0x00007f565f3af000)
libaprutil-1.so.0 => /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0 (0x00007f565f186000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f565ef6e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f565ed6a000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f565eb65000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f565e92e000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f565e705000)
编辑2:
我努力了这个解决方案;它不起作用。
ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.6
ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.6
ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto++.so.6
编辑3:
我libstdc++6
已经:
root@lab-185:~# aptitude search libstdc++
p libstdc++-4.8-dev - GNU Standard C++ Library v3 (development files)
i A libstdc++-4.9-dev - GNU Standard C++ Library v3 (development files)
v libstdc++-dev -
p libstdc++5 - The GNU Standard C++ Library v3
i libstdc++6 - GNU Standard C++ Library v3
答案1
最简单的方法是下载当前的 Stretch 二进制文件,它在 Jessie 中可以正常工作:
wget http://ftp.debian.org/debian/pool/main/libc/libcrypto++/libcrypto++6_5.6.4-7_amd64.deb
sudo apt install ./libcrypto++6_5.6.4-7_amd64.deb
您需要留意可能的更新(订阅包裹追踪器使用右上角的蓝色大“订阅”按钮)。
鉴于 产生的错误ldd
,我怀疑这是否足以运行您的应用程序:您libstdc++6
也需要更新版本的。就地升级比较困难,你最好升级到 Debian 9。