Linux 시스템을 Ubuntu 18.04에서 20.04로 업그레이드했습니다.
clang 컴파일러 제품군을 설치해야 하는데 apt
명령에서 오류가 발생합니다. 가능한 많은 솔루션을 검색했지만 지금까지 유사한 문제를 해결하기 위해 찾은 제안 중 어느 것도 도움이 되지 않았습니다. 이것이 내가 시도했을 때 얻은 결과입니다 apt install clang
.
➜ ~ sudo apt-get install -f clang
패키지 목록 읽기... 완료 종속성 트리 구축 완료
상태 정보 읽기... 완료 일부 패키지를 설치할 수 없습니다. 이는 불가능한 상황을 요청했거나 불안정한 배포판을 사용하는 경우 일부 필수 패키지가 아직 생성되지 않았거나 이동되었음을 의미할 수 있습니다. 다음 정보는 문제를 해결하는 데 도움이 될 수 있습니다.
다음 패키지에는 충족되지 않은 종속성이 있습니다. clang : 의존: clang-10(>= 10~) 그러나 설치되지 않습니다. E: 문제를 해결할 수 없습니다. 패키지가 손상되었습니다. ➜~
나는 온갖 apt-get update
일을 해왔습니다 apt-get upgrade
. 또한 각 패키지를 하나씩 나열해 보았지만 목록이 계속 늘어나서 문제가 해결되지 않습니다.
편집: @Martin Konrad에 이어 적성을 시도했습니다.
➜ ~ sudo aptitude install clang
The following NEW packages will be installed:
clang clang-10{ab} lib32gcc-s1{ab} lib32gcc1{ab} lib32stdc++6{ab}
libc6-i386{a} libclang-common-10-dev{ab} libclang-cpp10{ab} libffi-dev{a}
libobjc-9-dev{ab} libobjc4{ab} libomp-10-dev{a} libomp5-10{a} libpfm4{a}
libz3-4{a} libz3-dev{a} llvm-10{a} llvm-10-dev{ab} llvm-10-runtime{a}
llvm-10-tools{a} python3-pygments{a}
0 packages upgraded, 21 newly installed, 0 to remove and 9 not upgraded.
Need to get 58.4 MB of archives. After unpacking 381 MB will be used.
The following packages have unmet dependencies:
lib32stdc++6 : Depends: gcc-10-base (= 10-20200411-0ubuntu1) but 10-20200416-0ubuntu1~18.04 is installed
libobjc4 : Depends: gcc-10-base (= 10-20200411-0ubuntu1) but 10-20200416-0ubuntu1~18.04 is installed
lib32gcc-s1 : Depends: gcc-10-base (= 10-20200411-0ubuntu1) but 10-20200416-0ubuntu1~18.04 is installed
clang-10 : Depends: libclang1-10 (= 1:10.0.0-4ubuntu1) but 1:10.0.1~++20200519100828+f79cd71e145-1~exp1~20200519201452.38 is installed
lib32gcc1 : Depends: gcc-10-base (= 10-20200411-0ubuntu1) but 10-20200416-0ubuntu1~18.04 is installed
libclang-cpp10 : Depends: libllvm10 (= 1:10.0.0-4ubuntu1) but 1:10.0.1~++20200519100828+f79cd71e145-1~exp1~20200519201452.38 is installed
libobjc-9-dev : Depends: gcc-9-base (= 9.3.0-10ubuntu2) but 9.3.0-11ubuntu0~18.04.1 is installed
Depends: libgcc-9-dev (= 9.3.0-10ubuntu2) but 9.3.0-11ubuntu0~18.04.1 is installed
libclang-common-10-dev : Depends: libllvm10 (= 1:10.0.0-4ubuntu1) but 1:10.0.1~++20200519100828+f79cd71e145-1~exp1~20200519201452.38 is installed
llvm-10-dev : Depends: libllvm10 (= 1:10.0.0-4ubuntu1) but 1:10.0.1~++20200519100828+f79cd71e145-1~exp1~20200519201452.38 is installed
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) clang [Not Installed]
2) clang-10 [Not Installed]
3) lib32gcc-s1 [Not Installed]
4) lib32gcc1 [Not Installed]
5) lib32stdc++6 [Not Installed]
6) libclang-common-10-dev [Not Installed]
7) libclang-cpp10 [Not Installed]
8) libobjc-9-dev [Not Installed]
9) libobjc4 [Not Installed]
10) llvm-10-dev [Not Installed]
Leave the following dependencies unresolved:
11) llvm-10 recommends llvm-10-dev
Accept this solution? [Y/n/q/?] Y
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
해결책은 비효율적으로 설치하는 것입니다.
답변1
실제로 역량 권장 사항에 꽤 가깝습니다. 설치된 항목을 살펴보면 이러한 패키지의 Ubuntu 18 버전이 여전히 존재하는 것을 볼 수 있습니다.
이 작업을 수행하면 sudo aptitude install clang
표시된 것과 동일한 메시지가 표시되지만 "n"을 입력합니다. 그런 다음 Aptitude는 gcc 9로 "다운그레이드"하는 또 다른 솔루션을 제공합니다. 이를 허용하고 명령 프롬프트로 돌아갑니다. 그런 다음 이렇게 하면 sudo apt install clang
clang-10이 표시됩니다.
답변2
개인적으로 저는 이 문제에 직면했고 기사에서 언급한 자동 설치 스크립트를 사용하여 LLVM을 설치하여 해결했습니다.적절한 패키지 페이지.
답변3
어떤 이유로 갈등을 겪고 있는 것 같습니다. Ubuntu 20.04와 100% 호환되지 않는 업그레이드 후 Ubuntu가 아닌 패키지 저장소를 활성화한 것이 근본 원인일 수 있습니까? 그렇다면 해당 항목을 제거 /etc/apt/sources.list.d/
하고 실행해 보세요 apt update
.
도움이 되지 않으면 aptitude
대화형으로 실행하는 것이 좋습니다. 솔루션을 제안하고 반자동 방식으로 해결할 수 있습니다. "예약된" 패키지에 집중할 수도 있습니다. 업그레이드하면 도움이 되는 경우가 많습니다. 이렇게 하려면 aptitude
대화형 모드로 실행하고 Shift+를 누른 U다음 G두 번 누릅니다.
답변4
저는 두 개의 중요한 패키지를 수동으로 다운그레이드하여 이 문제를 해결했습니다.
sudo apt install libclang1-10=1:10.0.0-4ubuntu1 libllvm10=1:10.0.0-4ubuntu1
전체 aptitude
명령을 사용하면 계속할 수 있었지만 주목해야 할 일부 패키지가 제거되었습니다.
The following NEW packages will be installed:
clang clang-10{a} libclang-common-10-dev{a} libclang-cpp10{a} libomp-10-dev{a} libomp5-10{a}
llvm-10{a} llvm-10-dev{a} llvm-10-runtime{a} llvm-10-tools{a}
The following packages will be REMOVED:
libomp-11-dev{a} libomp5-11{a}