Ubuntu 16.04で最新のgccおよびg ++に更新する


11

作業中のcfdコードが最新のgccバージョンでコンパイルされなかったため、最近gcc 4.7にダウングレードしようとしました。しかし、多くのエラーとコードがまだコンパイルされていないので、私はあきらめ、最新のgccおよびg ++コンパイラに戻りたいと思いますが、何かを台無しにしてしまったようです。

私がする時:

sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-6.2 g++-6.2

または、gcc-5.1 g ++-5.1でさえ、次のエラーが表示されます

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package gcc-6.2
E: Couldn't find any package by glob 'gcc-6.2'
E: Couldn't find any package by regex 'gcc-6.2'
E: Unable to locate package g++-6.2
E: Couldn't find any package by glob 'g++-6.2'
E: Couldn't find any package by regex 'g++-6.2'

私も前にこれをやってみました

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6.2 g++-6.2

しかし、うまくいかないようです。最後に私がやったとき

sudo apt-get install gcc

それは言う

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version (4:5.3.1-1ubuntu1).

私はまだ代替をインストールして構成する必要があることを知っていますが、それを行うと次のようにも機能しません

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5.3 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5.3 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
sudo update-alternatives --config gcc
sudo update-alternatives --config g++

申し訳ありませんが、これはかなり長くなりました。詳細が必要な場合はお知らせください。ありがとう!

編集: 上記のコードでgcc-5.3をgcc-5に変更することで実際に動作するようになりました。これはusr / binで呼ばれているようです。誰かが同じ問題に直面した場合、今後の参考のために保管しておきます。


2
AFAIK gccおよびg ++は、デフォルトではupdate-alternativesとしてインストールされません-代わりに、gccおよびg++依存パッケージは、などのデフォルトの依存関係への直接リンクをインストールします/usr/bin/g++ -> g++-5。パッケージgccg++パッケージを単に再インストールしてみましたか?
スチールドライバー

このタイプの問題を回避する1つの方法は、VMを作成し、そこに古いコンパイラバージョンをインストールすることです。
NZD

このホットフィックスは、インストールで修正できます。パッケージリストの読み取り...完了依存関係ツリーの構築状態情報の読み取り...完了gccはすでに最新バージョンです(4:7.3.0-3ubuntu2.1)。0はアップグレード、0は新しくインストール、0は削除、36はアップグレードされていません。
JOC KERS

回答:


5

次のコマンドを順番に実行します。同じエラーが発生していました。これは私のために働いた。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-snapshot
sudo apt-get install gcc-6 g++-6

9
なぜsudo apt-get update初めてではなく3回実行されたのですか?特に、最後のパッケージのインストール、なぜですか?
エリアカガン

gcc-snapshotは正確に何をしますか?以前のgccバージョン(4.8.4)を削除するにはどうすればよいですか?
abunickabhi

0

apt-get updateを実行して、追加したばかりのリポジトリにコンピューターがアクセスし、そのコンテンツを利用できるようにする必要があります。あなたがそれを実行しない場合、あなたのコンピュータはそれが利用可能なそのリポジトリ情報を持っていることを認識していません

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.