私は今次のように入力しました:
sudo apt-get install g++
そして次のようになりました:
The following packages have unmet dependencies:
g++ : Depends: g++-4.8 (>= 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 update
そして
sudo apt-get -f install
どれも私の問題を解決しませんでした。答えをご存知でしたら助けてください。
編集:
コメントに書かれた提案に従って、次のことを試しました:
sudo apt-cache policy g++-4.8
次のような出力が得られました。
g++-4.8:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
試してみると:
sudo apt-get install g++-4.8
私が得たもの:
The following packages have unmet dependencies:
g++-4.8 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Depends: gcc-4.8 (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
Depends: libstdc++-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
問題は:
libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
なぜでしょうか? その理由は次のとおりです。
libstdc++-4.8-dev
メインリポジトリでは、libstdc++-4.8-dev=4.8.2-19ubuntu1
libstdc++-4.8-dev
アップデートリポジトリはlibstdc++-4.8-dev=4.8.4-2ubuntu1~14.04
、システムにインストールされているに依存します
ソリューション?
私の最初の選択肢は、更新リポジトリを再度有効にすることです。
Software & Updatesタブを開いてUpdates
選択
trusty-updates
してtrusty-security
クリックClose端末用のバージョンをお持ちの方がいらっしゃいましたら、お知らせください。
Reload
インストール
sudo apt-get install g++
2番目の選択肢はダウングレード
うーん、それは良くない考えだと思う=)
答え2
ソースのUbuntu 14.04は古すぎるかアクセスできないため、ソースを更新する必要があります。これで解決します。まず、ソースファイルをバックアップする必要があります。sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
Ubuntu のバージョンに応じて新しいソースを追加します。
バージョンコマンドを照会します。
lsb_release -a
すると、次のような情報が出力されます。
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty
バージョンに応じて適切なソースを選択し、「/etc/apt/sources.list」ファイルの末尾に追加します。
http://wiki.ubuntu.org.cn/Template:14.04source,
Ubuntu 14.04 ソース:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
ソースを更新
sudo apt-get update
わかりました
sudo apt-get install g++