私はDebianサーバー上のgccコンパイラのアップデートをインストールするために多くの解決策を試しました。どれもうまくいきませんでした。安定したlibcxx11 ABIとC++11の安定したサポートを提供するため、C++11の新機能を使用するにはコンパイラのアップデートが必要です(参照:ここ)。具体的には、現在のコンパイラ gcc バージョン 4.9.2 (Debian 4.9.2-10) に含まれていないバージョン `GLIBCXX_3.4.21' を取得します。
解決策のヒントがあれば助かります。よろしくお願いします。
私がすでに試した問題に関連するフォーラムへのリンクをいくつか示します。
1 2 3(Ubuntu にはまったく関係のない解決策ですが、Debian の FTP サーバーではまだ gcc-5 を見つけることができませんでした)
答え1
私はGCC 5+をDebian Jessieにインストールする必要がありましたが、Debianテスト版(少なくとも6月16日現在)ではapt-pinningを使用して利用可能なパッケージをインストールできます(https://wiki.debian.org/AptPreferences)。
apt-pinning を使用して debian jessie のテストから GCC 5+ をインストールするには:
ディレクトリに
/etc/apt/sources.list.d
次の行を含むファイルを作成して、aptソースにdebianテストリポジトリを追加します。deb http://ftp.us.debian.org/debian testing main contrib non-free
/etc/apt/preferences.d
以下の内容を含むファイルを作成して、特定のパッケージでテストソースを使用するように Debian に指示します。Package: * Pin: release a=testing Pin-Priority: 100
apt データベースを更新します:
sudo apt-get update
テストから gcc をインストールします。
sudo apt-get install -t testing gcc
-t testing
使用すると、以前に設定したとおりに、apt-get にテスト ソースから gcc をインストールするように指示することに注意してください。
ソースを再度コンパイルする前に、コンパイルをすべてクリーンアップし、依存関係を再コンパイルすることを強くお勧めします。
楽しむ!
答え2
2017-02-19現在、gcc-5は削除されたテストから:
https://tracker.debian.org/pkg/gcc-5
apt-get install gcc-5
まずこの行を root として実行すれば可能です:
echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list
/etc/apt/preferences.d
次に、おそらく llekn の回答に従って、そのソースの優先順位を変更する必要があるでしょう。
答え3
前の 2 つの回答を 1 つに組み合わせるには、次のようにします。
echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5
ただし!!! 不安定版からパッケージをインストールするため、自己責任で使用してください。/etc/apt/sources.list.d/unstable.list
パッケージをインストールしたら削除することもできます。
可能であれば、OS を台無しにしないように Docker でインストールしてください。結果は状況によって異なる場合があります。
答え4
gcc-5
Debian 10.13 "buster" の Ubuntu リポジトリからインストールできました。これは本当に悪い習慣ですが、他に選択肢がありませんでした。
コマンドは次のとおりです(CIフレンドリー)
apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++