結果的に完全な GCC のインストールを紹介することになってしまいましたか。
まあ、成功したんだから、そのことを知らせる意義はあるか。
今回は i686-Linux 用の GCC をビルドします。
クロスコンパイラのコンパイル方法は次で紹介します。
- 作者: 西田亙
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/11/29
- メディア: 大型本
- クリック: 19回
- この商品を含むブログ (30件) を見る
を参考にさせていただきました(ぇ
必要なもの
一応現時点での最新バージョンで解説します。
まずは binutils をインストールします。
最後にパスを通してあげます。(でないと gcc がコンパイルできない)
$ wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.gz $ tar zxvf binutils-2.18.tar.gz $ cd binutils-2.18 $ mkdir build_686 $ ../configure --prefix=/usr/local/gnu $ make $ sudo make install $ export PATH=/usr/local/gnu/bin:$PATH
以外とかかります。*1
次に gcc をインストールします。
今回はこの勉強会用に、C と C++ 言語をインストールします。
$ wget ftp://core.ring.gr.jp/pub/GNU/gcc/gcc-4.2.2/gcc-core-4.2.2.tar.bz2 $ wget ftp://core.ring.gr.jp/pub/GNU/gcc/gcc-4.2.2/gcc-g++-4.2.2.tar.bz2 $ tar xvfj gcc-core-4.2.2.tar.bz2 $ tar xvfj gcc-g++-4.2.2.tar.bz2 $ cd gcc-4.2.2 $ mkdir build_686 $ cd build_686 $ ../configure --enable-languages=c,c++ \ > --prefix=/usr/local/gnu \ > --disable-bootstrap $ make $ sudo make install
この場合はネイティブのビルドですが、メインで使うわけではないので、bootstrap は思い切ってオフにしてしまいました。
(オンだと比較エラーになる)
とてつもなく長いです。根気よく待ちましょう。
他の作業をするという手もありかも。
おわったら
$ i686-pc-linux-gnu-gcc -v
を実行してみてください。
ちゃんとバージョン 4.2.2 になってますか?
このコマンド名は長いので、gcc-linux とかからシンボリックリンクを張ってしまいましょう。
$ cd /usr/local/gnu/bin $ ln -s i686-pc-linux-gnu-gcc gcc-linux
もとから入っている gcc を実行できなくなってもいいのなら、gcc にしちゃっても問題ないです。ただし、こっちが先に探されるようにしておいてくださいね。
*1:参考書だと tar のオプションが xvfj になってた