このページは「24環境」の情報です
- gcc-3.0.4のビルド手順メモ
gcc-3.0.3のクロスg++にはbugがあるらしく、ぜんぜんコンパイルできない。
調べてみるとdebian bug repotに上げられていた。
gcc-3.0.4でfixしているらしいのでgcc-3.0.4をビルドしてみる。
- 試したホスト環境
Debian 3.0 (Woody)
- 必要なファイル
杉岡さんのサイトからgcc-3.0.4-3.src.rpmを頂いてくる。
- rootユーザで展開する
# rpm -i gcc-3.0.4-3.src.rpm
/usr/src/rpm/SOURCES に展開される
gcc-3.0.4-libspec.patch
gcc-3.0.4-static-libgcc.patch
gcc-3.0.4.tar.bz2
gcc-sh-linux-3.0.4-20020215-1.patch
- 展開してパッチをあてる
$ tar xjvf /usr/src/rpm/SOURCES/gcc-3.0.4.tar.bz2
$ cd gcc-3.0.4
$ patch -p1 < /usr/src/rpm/SOURCES/gcc-sh-linux-3.0.4-20020215-1.patch
$ patch -p1 < /usr/src/rpm/SOURCES/gcc-3.0.4-libspec.patch
$ patch -p1 < /usr/src/rpm/SOURCES/gcc-3.0.4-static-libgcc.patch
- コンパイル
$ mkdir build
$ cd build
$ ../configure --prefix=/usr --target=sh3-linux --host=i686-pc-linux-gnu \
--build=i686-pc-linux-gnu --enable-languages=c,c++ --mandir=/usr/share/man \
--with-system-zlib --with-gxx-include-dir=/usr/sh3-linux/include/g++-v3 \
--includedir=/usr/sh3-linux/include --disable-checking --with-x=no \
--enable-threads=posix --enable-long-long
$ make
- インストール
# make install
- 実験(hello.cc)
#include <iostream>
using namespace std;
int main()
{
cout << "hello world, new g++\n";
}
$ sh3-linux-g++ hello.cc
$ file a.out
a.out: ELF 32-bit LSB executable, Hitachi SH, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
okだ。
sh3-linuxでセルフでコンパイルしてみる †
- 進め方は同じだが configureスクリプトは以下のようにした
$ ../configure --prefix=/usr --enable-languages=c,c++,proto,objc \
--with-system-zlib --disable-checking --with-x=no --enable-shared \
--enable-threads=posix --enable-long-long
$ time make
real 192m44.782s
user 178m8.590s
sys 10m14.550s
2004-02-06 (金) 00:41:19 えびはら
関連リンク †
コメント †