Ubuntu 14.04에서 Chromium을 빌드하는 데 필요한 종속성을 설치하려고 하는데 다음 메시지가 표시됩니다.
The following packages have unmet dependencies:
g++-4.8-multilib : Depends: gcc-4.8-multilib (= 4.8.2-19ubuntu1) but it is not going to be installed
Depends: lib32stdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
Depends: libx32stdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.1-0ubuntu1 is to be installed
libbluetooth-dev : Depends: libbluetooth3 (= 4.101-0ubuntu13) but 4.101-0ubuntu13.1 is to be installed
libcairo2-dbg : Depends: libcairo2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
libcairo2-dev : Depends: libcairo2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
Depends: libcairo-gobject2 (= 1.13.0~20140204-0ubuntu1) but 1.13.0~20140204-0ubuntu1.1 is to be installed
Depends: libfontconfig1-dev (>= 2.2.95) but it is not going to be installed
libfontconfig1-dbg : Depends: libfontconfig1 (= 2.11.0-0ubuntu4) but 2.11.0-0ubuntu4.1 is to be installed
libgbm-dev : Depends: libgbm1 (= 10.1.0-4ubuntu5)
libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.0-4ubuntu5)
Recommends: libgl1-mesa-dri:i386 (>= 7.2)
Conflicts: libgl1
libgl1-mesa-glx-lts-utopic : Conflicts: libgl1:i386
Conflicts: libgl1-mesa-glx:i386
libglib2.0-0-dbg : Depends: libglib2.0-0 (= 2.40.0-2) but 2.40.2-0ubuntu1 is to be installed
libglib2.0-dev : Depends: libglib2.0-0 (= 2.40.0-2) but 2.40.2-0ubuntu1 is to be installed
Depends: libglib2.0-bin (= 2.40.0-2)
libgtk2.0-dev : Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed
libpango1.0-0-dbg : Depends: libpango-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
libpangocairo-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
libpangoft2-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed or
libpangoxft-1.0-0 (= 1.36.3-1ubuntu1) but 1.36.3-1ubuntu1.1 is to be installed
libpulse-dev : Depends: libpulse0 (= 1:4.0-0ubuntu11) but 1:4.0-0ubuntu11.1 is to be installed
Depends: libpulse-mainloop-glib0 (= 1:4.0-0ubuntu11) but 1:4.0-0ubuntu11.1 is to be installed
libstdc++6-4.6-dbg : Depends: libgcc1-dbg but it is not going to be installed
libudev-dev : Depends: libudev1 (= 204-5ubuntu20) but 204-5ubuntu20.11 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
You will have to install the above packages yourself.
이 패키지를 직접 설치해야 한다고 하는데 어떻게 해야 합니까?
시도해 보면 sudo apt-get install <some_package>
다음과 같은 메시지가 나타납니다(예: gcc-4.8-multilib).
gcc-4.8-multilib : Depends: lib32gcc-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
Depends: libx32gcc-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
누군가가 이러한 모든 패키지의 설치 문제를 해결하는 데 도움을 줄 수 있습니까?
업데이트 1:
나는 sudo apt-get install lib32gcc-4.8-dev
다음을 얻습니다.
lib32gcc-4.8-dev : Depends: lib32gcc1 (>= 1:4.8.2-19ubuntu1) but it is not going to be installed
Depends: libx32gcc1 (>= 1:4.8.2-19ubuntu1) but it is not going to be installed
Depends: lib32asan0 (>= 4.8.2-19ubuntu1) but it is not going to be installed
Depends: libx32asan0 (>= 4.8.2-19ubuntu1) but it is not going to be installed
나는 apt-cache policy lib32gcc-4.8-dev
다음을 얻습니다.
lib32gcc-4.8-dev:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
업데이트 2:
나는 sudo apt-get install lib32gcc1
다음을 얻습니다.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.1-0ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
나는 apt-cache policy lib32gcc1
다음을 얻습니다.
Installed: (none)
Candidate: 1:4.9-20140406-0ubuntu1
Version table:
1:4.9-20140406-0ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
1:4.6.3-1ubuntu5 0
500 mirror://mirrors.ubuntu.com/mirrors.txt/ precise/main amd64 Packages
나는 apt-cache policy lib32gcc-4.8-dev lib32gcc1 libx32gcc1 lib32asan0 libx32asan0
다음을 얻습니다.
lib32gcc-4.8-dev:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
lib32gcc1:
Installed: (none)
Candidate: 1:4.9-20140406-0ubuntu1
Version table:
1:4.9-20140406-0ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
1:4.6.3-1ubuntu5 0
500 mirror://mirrors.ubuntu.com/mirrors.txt/ precise/main amd64 Packages
libx32gcc1:
Installed: (none)
Candidate: 1:4.9-20140406-0ubuntu1
Version table:
1:4.9-20140406-0ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
lib32asan0:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
libx32asan0:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
업데이트 3:
나는 apt-cache policy gcc-4.9-base
다음을 얻습니다.
gcc-4.9-base:
Installed: 4.9.1-0ubuntu1
Candidate: 4.9.1-0ubuntu1
Version table:
*** 4.9.1-0ubuntu1 0
100 /var/lib/dpkg/status
4.9-20140406-0ubuntu1 0
500 http://ro.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
이 작업을 수행하려고 하면 다음과 같은 결과 sudo apt-get purge gcc-4.9-base
가 나타납니다.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgcc1 : Depends: gcc-4.9-base (= 4.9.1-0ubuntu1) but it is not going to be installed
libudev1 : Depends: libcgmanager0 but it is not going to be installed
Depends: libnih-dbus1 (>= 1.0.0) but it is not going to be installed
Depends: libnih1 (>= 1.0.0) but it is not going to be installed
libxcb1 : Depends: libxau6 but it is not going to be installed
Depends: libxdmcp6 but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
답변1
터미널을 열고 다음을 입력하세요.
sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get autoclean
로컬 저장소에서 검색된 패키지 파일을 지웁니다 /var/cache/apt/archives
. 차이점은 더 이상 다운로드할 수 없고 본질적으로 쓸모가 없는 패키지 파일만 제거한다는 것입니다.
sudo apt-get autoremove
다른 패키지에 대한 종속성을 충족하기 위해 자동으로 설치되었지만 더 이상 필요하지 않은 패키지를 제거하는 데 사용됩니다.
autoclean
또한 autoremove
시스템에 영향을 미칠 수 있는 원치 않는 소프트웨어 패키지가 없는지 확인하는 데 사용됩니다.
sudo apt-get update
소스 목록을 업데이트하고 소스의 패키지 인덱스 파일을 다시 동기화하십시오.
sudo apt-get dist-upgrade
업그레이드 기능을 수행하는 것 외에도 dist-upgrade는 소프트웨어 패키지의 종속성 변경을 지능적으로 처리할 수도 있습니다.
답변2
적어도 일부 gcc
패키지는 수동으로 설치되었으며 Ubuntu 14.04의 패키지보다 최신 버전에 해당합니다. 해당 종속 항목을 설치하려면 g++-multilib
해당 패키지를 아카이브의 버전으로 다운그레이드해야 합니다.
달리기부터 시작해
sudo apt-get install gcc-4.9-base=4.9-20140406-0ubuntu1
그리고 거기서부터... 다운그레이드해야 할 다른 패키지가 무엇인지 알려주는 많은 오류가 표시됩니다.
패키지를 다운그레이드하려면 apt-cache policy
각 패키지를 실행하여 아카이브의 버전(즉, URL이 있는 버전 trusty
)을 확인하고 이를 sudo apt-get install
위 줄에 추가해야 합니다.
sudo apt-get install gcc-4.9-base=4.9-20140406-0ubuntu1 package1=version1 package2=version2 ...
또는 gcc
관련 패키지를 모두 지우고 다시 설치할 수 있습니다.
분명히 수동으로 설치된 버전이 있는 다른 라이브러리가 있으므로 아카이브와 일치하도록 시스템을 복원하는 데 많은 작업이 필요할 수 있습니다.