我正在尝试运行某些软件,但收到以下错误消息:
ImportError: /usr/lib/libcrypto.so.10: version `libcrypto.so.10' not found (required by /home/jessica/project/lib/libgdal.so.20)
这很奇怪,因为我有一个名为/usr/lib/libcrypto.so.10
:
/usr/lib$ ll | grep libcrypto
lrwxrwxrwx 1 root root 44 Nov 7 02:03 libcrypto.so.10 -> /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
lrwxrwxrwx 1 root root 15 Nov 18 09:15 libcrypto.so.1.0.0 -> libcrypto.so.10
我重新安装了旧版本的 openssl根据这个网站但我仍然有这个问题。
我在虚拟机上运行 Linux Mint 19。
我可以做什么来解决这个问题?
编辑:
的输出ldd /home/jessica/project/lib/libgdal.so.20
是:
/home/jessica/project/lib/libgdal.so.20: /usr/lib/libcrypto.so.10: version `libcrypto.so.10' not found (required by /home/jessica/project/lib/libgdal.so.20)
linux-vdso.so.1 (0x00007fff655d0000)
libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x00007fa9a8db5000)
libfreexl.so.1 => /usr/lib/x86_64-linux-gnu/libfreexl.so.1 (0x00007fa9a8bac000)
libgeos_c.so.1 => /usr/lib/x86_64-linux-gnu/libgeos_c.so.1 (0x00007fa9a897d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa9a875e000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa9a8556000)
libpcre.so.1 => /lib/x86_64-linux-gnu/libpcre.so.1 (0x00007fa9a82e4000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fa9a7f23000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa9a7d06000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa9a7b02000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa9a7779000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa9a73db000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa9a6fea000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa9a6dd2000)
libgeos-3.6.2.so => /usr/lib/x86_64-linux-gnu/libgeos-3.6.2.so (0x00007fa9a6a39000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa9a9fef000)
libicuuc.so.60 => /usr/lib/x86_64-linux-gnu/libicuuc.so.60 (0x00007fa9a6682000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa9a645c000)
libicudata.so.60 => /usr/lib/x86_64-linux-gnu/libicudata.so.60 (0x00007fa9a48b3000)
编辑2
我现在在另一款软件上也遇到了同样的问题(或至少是一个连接的问题)!
我刚刚下载了.tar.gz
,解压并运行./configure
,我得到了这个:
...
checking for pthread_create in -lpthread... yes
checking for SSL_accept in -lssl... yes
checking for BN_init in -lcrypto... no
configure: error: TORQUE needs lib crypto (often openssl-devel) in order to build
答案1
检查 的输出file /home/jessica/project/lib/libgdal.so.20
。
如果输出包含单词32-bit
,则它是 32 位应用程序/库,并且需要相应的 32 位版本的 libcrypto。
第一次运行dpkg --print-foreign-architectures
。如果它没有输出任何内容,则您需要在包管理系统中启用 x86 架构的 32 位版本。这可以用 来完成sudo dpkg --add-architecture i386
。如果第一个命令输出i386
,则此配置已完成。
之后,假设您配置的存储库中/etc/apt/sources.list
也/etc/apt/sources.list.d/*.list
包含 32 位软件包,您现在应该能够使用<package_name>
如下命令安装 32 位版本:
sudo apt install <package_name>:i386
或者
sudo apt-get install <package_name>:i386
等等。基本上,只需:i386
在您最喜欢的包管理工具中为包名称添加后缀即可。
如果这不是问题所在,请将输出添加ldd /home/jessica/project/lib/libgdal.so.20
到您的帖子中。这列出了特定库所依赖的所有库。可能存在一些需要解决的依赖冲突。