システム上の gcc バージョンを確認しました。
現在は 4.6.3 です。gcc-4.8 がリリースされたと読みました。
次のコマンドを試しましたが、成功しませんでした。
sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)
このパッケージを 12.04 にインストールする方法を知っている人はいますか?
答え1
GCC-4.8 は現在 12.04 Precise で利用可能ですか?
アップデート: 2013年6月5日現在、12.04(precise)用のgcc 4.8.1のリリースが以下で入手可能です。https://launchpad.net/~ubuntu-toolchain-r/+archive/test。
簡単に答えると、次のようになります。gcc-4.8
現在、ツールチェーンPPA経由で12.04(Precise)が利用可能 またはソースをコンパイルすることによって(詳細は下記を参照)。
リリースのお知らせ
のgcc-4.8 リリースのお知らせ3 月 22 日に作成されたため、現時点では公式リポジトリには表示されない可能性があります。
しかし、LaunchpadにはPPAが用意されているようです。ツールチェーンgcc-4.8 を含むテストビルドは、こちらにあります:https://launchpad.net/~ubuntu-toolchain-r/+archive/test
による変更履歴とパッケージリストi386、amd64、arm、powerpc 用の debs があり、raring 13.04 に対してビルドされています。
12.04 用の gcc の最新バージョンは 4.8.1 であり、ツールチェーン PPA で入手できます。
ツールチェーン/テスト PPA の追加:
PPA をシステムに追加するには、ターミナル ( Ctrl+ Alt+ t) を開き、次のコマンドを実行します。
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
いくつかの推奨パッケージをインストールするように求められます。これらのパッケージは gcc-4.8 のインストールに推奨されますが、オプションです。
gcc-4.7.2 では利用できず、gcc-4.8 では利用できる C++ 機能は何ですか?
- によるとGNU.ORGgcc-4.7は、いくつかのC++11の機能。
gcc-4.8リリース時点では、gcc-4.7は64の機能のうち8つをサポートしていません(GCC での C++0x/C++11 サポート)
これらの機能は次のとおりです。
Language Features - Rvalue references for *this - Generalized attributes - Alignment support - Inheriting constructors Concurreny - Bidirectional Fences - Memory model - Abandoning a process and at_quick_exit - Thread-local storage
- gcc-4.8の変更点の完全なリストについては、変更リスト
今、12.04 Precise でこれらの gcc 機能が必要です。どうすれば入手できますか?
ソースから GCC-4.8 をビルドする:
12.04でgcc-4.8が必要な場合は、唯一の選択肢はソースから構築する。
お読みくださいGCC インストールに関する FAQインストールする前に。
gcc-4.8はgnu.orgのミラーサイトまたは直接SVN サーバー。
ソースからコンパイルする手順の例を以下に示します(ここ詳細については、こちらをご覧ください。) これらは、システムや設定によって異なる場合がありますのでご了承ください。
ダウンロードソースコード
- ビルドディレクトリを作成する(
mkdir gcc-build && cd gcc-build
) - ソースファイルをダウンロードします:
wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
(このコマンドを調整して適切なものを使用してください)ミラーサイト。 - ファイルを解凍します(
tar -xvjf <file name>
)
- ビルドディレクトリを作成する(
追加のライブラリをインストールする(
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
)- ソースをコンパイルします:
./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
- 実行
make
(完了するまでに少し時間がかかります。コーヒーを淹れたり、クッキーを焼いたりしてください。 ;-)) - コードをインストールします:
sudo make install
このプロセスが完了したら、コマンドを実行してgcc --version
インストールが正常に完了したことを確認します。次のような出力が表示されます。
maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
結論: 簡単にインストールできる Ubuntu バックポートを提供してくれたすべての人々に感謝します。 実行中に焼いたクッキーを彼らにあげてくださいmake
。 ;-)
答え2
したがって、上記の回答は、少なくとも手動インストールでは機能します。 後でもsudo make install
、 を実行すると、gcc
依然として標準バージョン 4.6.3 が実行されます。 または を試してgcc-4.8
もgcc-4.8.0
機能しません。 を実行すること/app/gcc/4.8.0/bin/gcc
が、私にとって機能する唯一の方法のようです。 つまり、それはちょっと残念ですが、少なくとも機能します。