실행해야 하는 실행 파일에는 새 버전의 쐐기풀 라이브러리가 필요합니다.
error while loading shared libraries: libnettle.so.8: cannot open shared object file: No such file or directory
업그레이드하기 전에 현재 버전을 확인하세요. pacman -Q nettle
반환nettle 3.5.1-2
libnettle.so.8을 제공하는 버전 pacman -S nettle
으로 쐐기풀을 업그레이드하세요.nettle-3.6-1
실행 파일을 다시 실행했는데 이제 업그레이드된 버전이 필요합니다.
error while loading shared libraries: libnettle.so.7: cannot open shared object file: No such file or directory
이상한. 그래서 이전 쐐기풀 버전으로 다시 다운그레이드했습니다.
pacman -U /var/cache/pacman/pkg/nettle-3.5.1-2-x86_64.pkg.tar.xz
실행 파일을 실행하면 이제 libnettle.so.8에 다시 의존하게 됩니다!
error while loading shared libraries: libnettle.so.8: cannot open shared object file: No such file or directory
내가 어떤 실수를 해서 이런 결과가 나왔나요?
답변1
전체 시스템 업그레이드를 했습니다. 이제 수동 개입 없이도 모든 것이 잘 작동합니다.
편집: 이 문제의 근본 원인은 다음과 같습니다.부분 업그레이드로 인해도서관에서 했어요(Paul H에게 감사드립니다.)
아치 리눅스는 롤링 배포판입니다. 즉, 새 라이브러리 버전이 저장소에 푸시되면 개발자와 신뢰할 수 있는 사용자가 라이브러리에 대해 다시 빌드해야 하는 저장소의 모든 패키지를 다시 빌드합니다.
...
...일부 업그레이드는 지원되지 않습니다. 또는 뒤에 오는
pacman -Sy package
것과 유사한 것을 사용하지 마십시오 . 패키지를 설치하기 전에 반드시 업그레이드(사용)하십시오.pacman -Sy
pacman -S package
pacman -Syu