web-dev-qa-db-ja.com

Debian Wheezyarmelにg ++ 4.9をインストールするにはどうすればよいですか?

私のDebian7armel組み込みシステムには現在g ++ 4.6があり、新しいC++ 11機能を使用するためにg ++ 4.9にアップグレードしたいと思います。それ、どうやったら出来るの?

私の現在のsources.listの内容は次のとおりです。

 
 deb http://security.debian.org/ wheezy/updatesメイン
 deb-src http://security.debian.org/ wheezy/updatesメイン
 deb http://ftp.us.debian.org/debian wheezy main non-free 
 deb-src http://ftp.us.debian.org/debian wheezy main non-free 
 

パッケージの単純なapt-getインストールは機能しません:

 
 root @ arm:〜#apt-get install g ++-4.9 
パッケージリストの読み取り...完了
依存関係ツリーの構築
状態の読み取り情報...完了
 E:パッケージg ++-4.9が見つかりません
 E:正規表現 'g ++-4.9' 
 
でパッケージが見つかりませんでした
11
user43995

別の回避策は、 このブログ投稿 によると、「Jessie」からg ++ 4.9パッケージをインストールすることです。簡単に言うと、新しいG ++のインストール中にJessieリポジトリを使用するようにAPTに指示する必要があります。まず、現在のWheezyを最新の状態にします。

Sudo apt-get update
Sudo apt-get upgrade

次に、バックアップを実行します:-)そして/etc/apt/sources.listを編集して、文字列"wheezy""jessie"に置き換えます。

Sudo cp /etc/apt/sources.list /etc/apt/sources.list.WHEEZY
Sudo vi /etc/apt/sources.list

次に、パッケージリストを更新し、4.9バージョンのGCC/G ++をインストールします。

Sudo apt-get update
Sudo apt-get install gcc-4.9 g++-4.9

この後、「元の」パッケージリストに戻ります。

Sudo cp /etc/apt/sources.list.WHEEZY /etc/apt/sources.list
Sudo apt-get update

これにより、元のGCC、G ++がそのまま残ります。 4.9バージョンでコンパイルする場合は、それに応じてCCおよびCXX env varsを設定するか、コンパイラーをgcc-4.9またはg++-4.9として明示的に呼び出します。

16
Laryx Decidua

おそらく必須:packaging-devubuntu-dev-tools

Pbuilderを設定します

(これにより、ビルド依存パッケージでシステムを汚染することなく、chrootでパッケージをビルドできます)

Sudo pbuilder create

特定のディストリビューション用にビルドする場合(pbuilderはchrootでビルドシステムリリースを使用します)、pbuilder-dist [precise/oneric/trusy/etc ...] createを使用できます。

Debianソースを入手する

pull-debian-source gcc-4.9 [4.9.0-6] 

特定のdebianリビジョンはオプションですが、実験的/不安定/テスト/安定したリビジョンをプルする場合は、それらをdeb-srcとしてsources.listに追加し、Sudo apt-get srcを使用して、特定のubuntuディストリビューションからプルすることもできます。

ビルドパッケージ

Sudo pbuilder build gcc-4.9_4.9.0-6.dsc

ダウンロードされたファイルには.dscファイルがあり、最新のgccの場合、パッケージ記述子ファイルであるgcc-4.9_4.9.0-6.dscです。 .orig.tar。[gz/xz]はソースtarballです。

ローカルAptリポジトリを作成する

mkdir /convenient/place/for/repo
cp /var/cache/pbuilder/result/* /path/to/repo
cd /path/to/repo
apt-ftp archive packages . > Packages
Sudo echo "deb [trusted=yes] file:/local/repo/Packages ./" > /etc/apt/sources.list.d/gcc-repo.list`

どこからでもダウンロードした.debsを使用してこのステップを実行することもできることに注意してください(ステップ1〜3をスキップ)

インストール

apt-get update; apt-get install gcc-4.9 g++-4.9
5
user4032676

Jessieパッケージを使用する代わりに、wheezyにバックポートされているかどうかを確認することをお勧めします。これを/etc/apt/sources.listに追加します:

deb http://http.debian.net/debian wheezy-backports main

apt-get updateを実行して、インストールできるかどうかを確認します。

1
DrHyde

gcc-4.9-backport があります。

Sudo apt-get update && Sudo apt-get install gcc-4.9-backport
0
xqliang