簡単な方法
あなたが典型的な開発者なら、http://gcc.gnu.org/wiki/InstallingGCCの指示や次のようなシステムパッケージマネージャーを使用して、簡単な方法でインストールできます。
apt install gcc # for Debian, Ubuntu, etc.
yum install gcc # for RedHat, CentOS, etc.
brew install gcc # for Mac OS X
ハードウェイ
GCCは、ここでの答えは「困難な方法」であると言います。これは、すべてを1つずつ構築し、共有ライブラリを使用しないためです。
GCCインフラストラクチャ
GCCインフラストラクチャを取得します。
ftp://gcc.gnu.org/pub/gcc/infrastructure/
ダウンロードを一時ディレクトリに配置します(任意のディレクトリを使用できます)。
/opt/downloads
ダウンロードディレクトリまたはそのサブディレクトリとは異なる一時ディレクトリにインフラストラクチャを構築します。
/tmp/gcc
次のような静的ライブラリを使用してインフラストラクチャを構成します。
./configure --disable-shared --enable-static --prefix=/tmp/gcc
--disable-sharedフラグは、必要に応じて詳しく調べる価値があります。静的コードのみをビルドしているので--disable-sharedを使用し、共有コードをビルドしないようにしたいと思います。作成したGCCをドライブ内で簡単に移動できるようにする必要があるため、すべての静的コードが必要で、共有コードは必要ありません。共有コードを使用する場合は、-disable-sharedフラグを省略します。
バージョン
この回答のいずれかのコマンドを実行するときは、必要に応じて現在のGCCバージョン番号を使用するようにコマンドを更新してください。この回答のコマンドはGCC 4.6.2用です。
GCCのドキュメントには、「通常、必要なツールの十分に新しいバージョンは機能しますが、ライブラリの要件はより厳しくなっています。新しいバージョンが機能する場合もありますが、記載されている正確なバージョンを使用する方が安全です。」
GMP
GMPは、GNU Multiple Precision Arithmetic Libraryです。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
bunzip2 gmp-4.3.2.tar.bz2
tar xvf gmp-4.3.2.tar
cd gmp-4.3.2
./configure --disable-shared --enable-static --prefix=/tmp/gcc
make && make check && make install
MPFR
MPFRは、GNUの倍精度浮動小数点丸めライブラリです。GMPに依存します。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
bunzip2 mpfr-2.4.2.tar.bz2
tar xvf mpfr-2.4.2.tar
cd mpfr-2.4.2
./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc
make && make check && make install
MPC
MPCは、GNUの倍精度Cライブラリです。GMPとMPFRに依存します。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
tar zxvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc
make && make check && make install
妖精
ELFは、実行可能およびリンク可能な形式の略です。このライブラリは、アーキテクチャに依存しないサイズとエンディアンサポートを提供します。
wget http://www.mr511.de/software/libelf-0.8.13.tar.gz
tar zxvf libelf-0.8.13.tar.gz
cd libelf-0.8.13
./configure --disable-shared --enable-static --prefix=/tmp/gcc
make && make check && make install
GCC
GCCはGNUコンパイラコレクションです。GMP、MPFR、MPC、ELFに依存します。
wget http://www.netgull.com/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.gz
tar zxvf gcc-4.6.2.tar.gz
同じマウントポイントのスクラッチディレクトリにgccをビルドします。(/ tmp内でビルドすると、ホストのクロスコンパイルの問題が発生します)
mkdir -p /opt/downloads/gcc-4.6.2-scratch
cd /opt/downloads/gcc-4.6.2-scratch
configureコマンドとそのフラグはすべて1つのコマンドラインにある必要があります(この投稿では、Webページの幅のために、それらを別々の行に示しています)。
注:設定にはフルパスを使用し、ライブラリパス環境変数は設定しません。ブートストラップを無効にして共有ライブラリを無効にすることを選択します(一般的なユーザーは両方を必要とする場合があります)。また、posixスレッドを使用し、それらが必要なためにデフォルトであるフラグを設定します(一般的なユーザーは他のスレッドを使用するかスキップする場合があります)デフォルトのフラグ)。YMMVとフラグについてはこちら
/opt/downloads/gcc-4.6.2/configure
--disable-shared
--disable-bootstrap
--disable-libstdcxx-pch
--enable-languages=all
--enable-libgomp
--enable-lto
--enable-threads=posix
--enable-tls
--with-gmp=/tmp/gcc
--with-mpfr=/tmp/gcc
--with-mpc=/tmp/gcc
--with-libelf=/tmp/gcc
--with-fpmath=sse
make && make install
このページは、GCCのインストール情報、ビルド方法、さまざまなフラグなどに最適です。
http://www.acsu.buffalo.edu/~charngda/cc_build.html
アップデート
pplライブラリはメモリの最適化に使用できます:bugseng.com/products/ppl/Downloadを参照してください(Paulにコメントをありがとう)
gccソースディレクトリから./contrib/download_prerequisitesを実行できます。(redditのN7Pに感謝)