Debian Jessie 8.1 に GCC 5 をインストールする方法

Debian Jessie 8.1 に GCC 5 をインストールする方法

私は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+ をインストールするには:

  1. ディレクトリに/etc/apt/sources.list.d次の行を含むファイルを作成して、aptソースにdebianテストリポジトリを追加します。

    deb http://ftp.us.debian.org/debian testing main contrib non-free

  2. /etc/apt/preferences.d以下の内容を含むファイルを作成して、特定のパッケージでテストソースを使用するように Debian に指示します。

    Package: *
    Pin: release a=testing
    Pin-Priority: 100
    
  3. apt データベースを更新します:sudo apt-get update

  4. テストから 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-5Debian 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++

関連情報