尽管我的系统上有该版本,但未找到 libcrypto 版本

尽管我的系统上有该版本,但未找到 libcrypto 版本

我正在尝试运行某些软件,但收到以下错误消息:

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到您的帖子中。这列出了特定库所依赖的所有库。可能存在一些需要解决的依赖冲突。

相关内容