一部のソフトウェアを実行しようとすると、次のエラーメッセージが表示されます。
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
その後、32ビットパッケージも含めるようにリポジトリを設定したと仮定すると、次のコマンドを使用して32ビットバージョンをインストール/etc/apt/sources.list.d/*.list
できます。<package_name>
sudo apt install <package_name>:i386
または
sudo apt-get install <package_name>:i386
など。デフォルトでは、お気に入りの:i386
パッケージ管理ツールでパッケージ名にサフィックスを追加できます。
問題がない場合は、ldd /home/jessica/project/lib/libgdal.so.20
投稿に出力を追加してください。これには、特定のライブラリが依存するすべてのライブラリが一覧表示されます。解決する必要がある依存関係の競合がある可能性があります。