web-dev-qa-db-ja.com

Ubuntu 18.04 build-essential、g ++、gcc、cppにアップグレードすると、壊れたパッケージが保持されました

16.04ビルド必須、g ++、gcc&cppからUbuntu 18.04にアップグレードした後E: Unable to correct problems, you have held broken packages.

$ Sudo apt-get install build-essential
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:
 build-essential : Depends: gcc (>= 4:7.2) but it is not going to be installed
                   Depends: g++ (>= 4:7.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


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

G ++およびcppの同じタイプの出力

これを修正する方法は?

5
Santhosh Veer

私は同じに遭遇しました-Ubuntu 16.04では、gcc-7を含むgccおよびclangビルド用に Toolchain Test Builds PPA がありました。 18.04へのアップグレード中、サードパーティのリポジトリはインストールプロセスによって無効化され、このPPAが含まれていました。

これを修正するには、ツールチェーンPPAをaptソースリストに追加(再?)してみてください。

Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update

次に、build-essentialをインストールするときに、ツールチェーンPPAからgcc-7を正常に選択する必要があります。

2
valiano

私も同じ問題を抱えていましたが、どうやらこれらのツールをインストールしたときに別のPPAを使用していたようです。

私のために私はそれを修正しました:

Sudo add-apt-repository ppa:jonathonf/gcc
1
Duncan Jones