これは、 gcc-7またはclang 4.0のインストール方法 へのフォローアップの質問です。
その中の答えに従って、私はgcc-7.2を次の方法でインストールできました。
Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update
Sudo apt-get install -y gcc-7
ただし、インストール後、gcc
/g++
コマンドは引き続きデフォルトで5.4.0
になります
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
gcc-7
をデフォルトとして使用し、古いgcc-5.xファイルを完全に削除することは可能ですか?
上記の複製とは異なり、シンボリックリンクを設定する代わりにremove/replacegcc-5.xを探していることに注意してください。
試行錯誤の末に自分の質問に答えるために、古いgcc(gcc-5)を削除/置換しても安全ではないようですnotツールチェーン全体を一掃する程度までの多くの依存関係。
たとえば、コメントで述べたようにgcc-5を削除/置換しようとすると
Update-alternativesを実行して、gcc-7をデフォルトのgccバージョンとして設定し、タイプをSudo dpkg -r gcc-5に設定します
これによりエラーが生成されます。
dpkg: dependency problems prevent removal of gcc-5:
g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
g++ depends on gcc-5 (>= 5.3.1-3~).
gcc depends on gcc-5 (>= 5.3.1-3~).
gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
これらの依存関係をSudo dpkg -r
アイテムのリストに追加する場合、削除する必要があるパッケージの数が増えています。例えば.
...
r-base-dev depends on g++.
build-essential depends on g++ (>= 4:5.2).
。debパッケージをアンインストールする方法? で説明されているように、削除されるパッケージの最大セットを見つけようとしませんでした。しかし、Ubuntuの便利なパッケージのほとんどがその時点でなくなることは明らかです。