일부 소프트웨어를 실행하려고 하는데 다음과 같은 오류 메시지가 나타납니다.
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
게시물에 출력을 추가하세요. 여기에는 특정 라이브러리가 의존하는 모든 라이브러리가 나열됩니다. 해결해야 할 종속성 충돌이 있을 수 있습니다.