web-dev-qa-db-ja.com

14.04へのアップグレード後にgcc-multilibをインストールできない

最近、12.04から14.04にアップグレードしました。アップグレード後、物事は壊れ始めました。

crt1.o:そのようなファイルはありません:そのようなファイルまたはディレクトリはありません。そのため、gcc-multilibをインストールしようとしましたが、これもエラーになります。

$ Sudo apt-get install gcc-multilib
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:
 gcc-multilib : Depends: gcc-4.8-multilib (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

私は試した

$ Sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
Done
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

次のコマンドの出力を投稿しようとしましたが、実行できません。

cat /etc/apt/sources.list
cat /etc/apt/sources.list.d/*

どうすれば解決できますか?

 $ Sudo apt-get install gcc-4.8-multilib

 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:
  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.


 $ Sudo apt-get install lib32gcc-4.8-dev

 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:
  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
 E: Unable to correct problems, you have held broken packages.


$ Sudo apt-get install lib32gcc1 libx32gcc1 lib32asan0 libx32asan0

 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
  libx32gcc1 : 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 lib32gcc-4.8-dev  lib32gcc1 gcc-4.9-base

 lib32gcc-4.8-dev:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
 lib32gcc1:
  Installed: (none)
  Candidate: 1:4.9-20140406-0ubuntu1
  Version table:
     1:4.9.1-0ubuntu1 0
        100 /var/lib/dpkg/status
     1:4.9-20140406-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
 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://archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages

Sudo apt-get updateの出力へのリンク: http://paste.ubuntu.com/9810181/

4
user368823

私はよくaptitudeを使用しませんが、異なるgccバージョンと依存関係が満たされていない問題の場合、apt-getは「壊れたパッケージを持っている」という問題を修正できないことがあります。

その日、aptitudeをインストールして、希望するパッケージをインストールしてください。すべての依存関係を明確に示しており、1つの提案だけではありません。

最初の提案は、多くの場合apt-getと同じですが、「いいえ」をクリックすると、aptitudeが別の提案を表示します。

試してみる!


回答は少し遅れていますが、このような問題をよく検索し、さまざまな解決策に満足していました。

2
StackFi Neon

観察された動作は、

https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1365375

上記のレポートには、apt-getを再び使用可能にする短期的な回避策が含まれています。

本質的に、 Sudo apt-get -f install failed はこの質問の複製だと思います。

0
Ben Johnson