binutilsの構築
gccにはbinutilsが必要なので,
binutilsのコンパイル
クロスコンパイラと同じく,binutils-2.
$ tar xvjf binutils-2.16.1.tar.bz2 $ cd binutils-2.16.1
以下のように構築をするフォルダを作成します。
$ mkdir build $ cd build
configureでは,
その場合は以下のようにconfigureのオプションを指定し,
$ ../configure --prefix=/usr --host=sh3-linux --build=i686-vine-gnu $ make
binutilsのインストール
configureで指定したインストール先の/usrは組込みボードのフォルダなので,
ここでは~/shlinuxとしますので,
$ mkdir ~/shlinux $ make install prefix=~/shlinux
gccの構築
gccのコンパイル
クロスコンパイラと同じgcc-4.
$ tar xvjf gcc-4.1.2.tar.bz2 $ cd gcc-4.1.2
以下のように構築をするフォルダを作成します。
$ mkdir build $ cd build
binutilsと同じく,
以下のようにconfigureのオプションを指定し,
$ ../configure --prefix=/usr --host=sh3-linux --build=i686-vine-gnu --enable-languages=c,c++ $ make
コンパイルは成功したかのようにエラーも出ませんが,
gccの不完全インストール
configureで指定したインストール先の/usrは組み込みボードのフォルダなので,
$ make install prefix=~/shlinux
前述のとおりCコンパイラの構築が失敗しているので,
/usr/bin/install: 宛先の `/home/general/shlinux/libexec/gcc/sh3-linux/4.1.2/install-tools/mkinstalldirs' はディレクトリではありません /usr/bin/install: `build/fix-header' を stat できません: そのようなファイルやディレクトリはありません make[2]: *** [install-mkheaders] Error 1 make[2]: Leaving directory `/home/general/gcc-4.1.2/build/gcc' make[1]: *** [install-gcc] Error 2 make[1]: Leaving directory `/home/general/gcc-4.1.2/build' make: *** [install] Error 2
何やらインストールでのトラブルのような感じがしますが,