내 시스템에서는 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그런 다음 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게시물에 출력을 추가하세요. 여기에는 특정 라이브러리가 의존하는 모든 라이브러리가 나열됩니다. 해결해야 할 종속성 충돌이 있을 수 있습니다.

관련 정보