私はかなり前からg ++ 7を自分のDebianマシンにインストールしようとしています。私のMacにはかなり簡単にインストールできました(自作の公式があるため)。しかし、Linuxにインストールする方法を見つけることができないようです。
この個人はスレッドを持っていました g ++ 4.9のインストール、および彼が与えたURLの変更が私を導きました このページへ 、それは正しい方向にあるようです...しかし、私は想像しますこの方法でインストールすると、これらのパッケージを更新したいときに、いくつかの潜在的な問題が発生する可能性があります。
私が見逃しているソースはありますか?それとも、実行するために必要なすべてのものをダウンロードしてコンパイルできる場所はありますか?
ご協力ありがとうございました。
役立つデータ:
私のカーネルはx86_64 Linux 3.16.0-4-AMD64です。
編集:ディートリッヒのアドバイスに従った後、私は今新しいエラーに遭遇しました:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
gcc-7 : Depends: cpp-7 (= 7-20170316-1) but it is not going to be installed
Depends: libcc1-0 (>= 7-20170316-1) but it is not going to be installed
Depends: binutils (>= 2.28) but 2.25-5+deb8u1 is to be installed
Depends: libgcc-7-dev (= 7-20170316-1) but it is not going to be installed
Depends: libisl15 (>= 0.15) but it is not installable
Depends: libmpfr4 (>= 3.1.3) but 3.1.2-2 is to be installed
Depends: libstdc++6 (>= 5) but 4.9.2-10 is to be installed
E: Unable to correct problems, you have held broken packages.
これがsources.listの設定方法です:
#------------------------------------------------------------------------------#
# OFFICIAL DEBIAN REPOS
#------------------------------------------------------------------------------#
###### Debian Main Repos
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
###### Debian Update Repos
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
###### For ffmpeg
deb http://www.deb-multimedia.org jessie main non-free
###### For gcc-7 (Experimental)
deb http://httpredir.debian.org/debian experimental main
あなたが言ったように、これは私がDebianの安定版にいるときの問題だと思いますか?安定したままで、このエラーを修正するために何をする必要がありますか?
編集2:さて、私はその最後のエラーを理解しました。私は問題を引き起こしたすべての個々の依存関係に通過し、apt-get install -t Testingを使用してそれをインストールする必要がありました。返信してくださった皆様ありがとうございました。あなたは皆とても役に立ちました。
カーネルは無関係です。
GCC 7リリースノート で確認できるように、GCC 7はまだリリースされていません。
免責事項:GCC 7はまだリリースされていないため、このドキュメントは作成中です。
異なるLinuxディストリビューションの違いを知りたいと思うかもしれません。特に、 ローリング配布 とは何か、 Debianリリース はどのように機能するか。ローリング配布では、すべてのパッケージが継続的に新しいバージョンに更新されます。 Debian 8.7(Jessie/stable)はnotローリングディストリビューションです。パッケージのバージョンは凍結され、安定性を高めるために必要な場合にのみ更新されます。 Debian 8.7上のGCCの最新バージョンはGCC 4.9です。
Debian 9.0(ストレッチ/テスト)isローリングリリース、少なくともフリーズするまで。コンピュータをStretchに切り替えると、GCC 6.3が取得されます。
新しいものが必要な場合は、Sid(不安定)に切り替えるか、Sidからパッケージを固定できます。
ただし、GCC 7はまだリリースされていないため、 experimental でのみ使用できます。必要に応じて、experimentalから単一のパッケージをインストールできます。手順については、 Debian Experimental を参照してください。
/etc/apt/sources.list
に追加
https://wiki.debian.org/DebianExperimental
その後
apt-get update
apt-get -t experimental install gcc-7
Stack OverflowのUnixページでも同様です。debianでのテストから最新のg ++をインストールするには、次の手順を実行します。行を含むlist.dフォルダー
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
ファイルには、preferencesやTestingprefなどの名前を付ける必要があります。設定ファイルがある場合は、そこに追加できます。 .unusedまたはanyを削除します。ファイル名。
データベースを更新する:
Sudo apt-get update
G ++をインストールします。
Sudo apt-get install -t testing g++
これにより、リポジトリ内の最新バージョンのg ++が提供されます。したがって、更新を受け取り、より簡単に元に戻すことができます。最新バージョンを取得するには、-tテストを使用する必要があります。依存関係の問題がある可能性があります。 ご使用のアーキテクチャのテストではなく、実験的なものである可能性があります。 https://packages.debian.org/search?keywords=g%2B%2Bを参照してください
実験的なパッケージ(7はそこにあります)の場合、以下を追加します。
deb http://httpredir.debian.org/debian experimental main
/etc/apt/sources.listに追加します。上記と同じです。ピン留めは、a = testingではなくa = experimentalと言う必要があります。最後に、
Sudo apt-get install -t experimental g++
幸運を。
このページから、g ++ 7 for AMD64 debファイルをダウンロードする必要があります。次に、ルートとして次のコマンドを実行します。
dpkg -i file.deb