저는 Archlinux를 실행하고 있습니다. 최근에 호출된 패키지 중 하나가 icu
업데이트되었지만 Firefox는 libicuuc.so.56
R에 의존합니다 libicuuc.so.55
. 이 문제를 어떻게 해결할 수 있나요?
참고: R 패키지는 Intel MKL
라이브러리에 대해 구축되었으므로 새 버전의 종속성에서는 작동하지 않습니다. R을 다시 빌드해 보았습니다. 여전히 이전 버전에 의존합니다.libicuuc.so.55
답변1
나는 당신이 이전 라이브러리를 사용하여 특정 실행 파일을 실행하고 싶다고 가정합니다. 실행 파일을 호출해 보겠습니다 myprogram
.
libicuuc.so.55
예를 들어, 다른 디렉토리에 배치하는 경우 다음과 같은 명령을 사용하여 이전 라이브러리를 사용하도록 지시 /opt/oldlibs/libicuuc.so.55
할 수 있습니다 .myprogram
LD_LIBRARY_PATH=/opt/oldlibs myprogram
라이브러리 파일은 패키지 파일에서 추출할 수 있습니다(리소스에서 찾을 수 있습니다 /var/cache/pacman/pkg
).
그래도 애플리케이션 사용 계획 문제가 해결되지 않으면 chroot
제한된 환경(사용) 또는 컨테이너에서 실행하는 것을 고려할 수 있습니다.
답변2
아치리눅스 사용 경험
systemctl start mongodb에서 프로세스 시작 오류 발생
그냥 쳤어요 로그 제어-xe현재 로그 확인
libboost_system.so.1.64.1이 누락되었음을 보여줍니다(이전 것).
다음은 문제를 해결하는 데 사용한 요약 링크입니다.
readlink -f /lib/libboost_system.so.1.65.1 (new one)
readlink는 심볼릭 링크가 /usr/lib/libboost_system.so.1.65.1을 가리킨다고 알려줍니다.
/var/cache/pacman/pkg에서 Boost-libs 1.64를 추출하고 모든 /lib 파일을 /usr/lib에 붙여넣었습니다.오래된 파일을 덮어쓰려면 건너뛰세요
이를 통해 종속성을 깨는 추가 작업이 해결되었으며, 그래도 작동하지 않으면 누락된 심볼릭 링크를 생성합니다.
ln -s /lib/libboost_system.so.1.64.1 /usr/lib/libboost_system.so.1.64.1
얻은 경험
패치를 찾지 않고 항상 사용하십시오. pacman -Suy && pacman -S 패키지_이름무엇이든 설치하는 데 사용됩니다. 부분 업데이트는 지원하지 않습니다.(아치의 경우)