LFS on Ubuntu(2) 一時的環境の構築 (GCC-4.4.1 - 1回目)

作業するプラットフォームの 「三つの組 (target triplet)」 で表される名称を確認

$ bzip2 -dc binutils-2.20.tar.bz2 | tar xvf -
$ cd binutils-2.20
$ ./config.guess
i686-pc-linux-gnu
$ echo $LFS
/mnt/lfs

ダイナミックリンカの名前を確認

$ readelf -l /bin/ls | grep interpreter
      [Requesting program interpreter: /lib/ld-linux.so.2]

ロスコンパイル版 Binutils のインストール

$ su - lfs
$ cd $LFS/sources
$ mkdir -v binutils-build
$ cd binutils-build
$ ../configure \
--target=$LFS_TGT --prefix=/tools --disable-nls --disable-werror
$ make
$ make install

ロスコンパイル版 GCC のインストール

$ cd ..
$ tar -jxf mpfr-2.4.2.tar.bz2
$ tar -jxf gmp-5.0.0.tar.bz2
$ tar -jxf gcc-4.4.3.tar.bz2

// gcc-4.4.3 配下に mv しないと configure エラーになる
$ mv -v mpfr-2.4.2 ./gcc-4.4.3/mpfr
$ mv -v gmp-5.0.0 ./gcc-4.4.3/gmp

$ mkdir -v gcc-build
$ cd gcc-build
$ ../gcc-4.4.3/configure \
> --target=$LFS_TGT --prefix=/tools \
> --disable-nls --disable-shared --disable-multilib \
> --disable-decimal-float --disable-threads \
> --disable-libmudflap --disable-libssp \
> --disable-libgomp --enable-languages=c
$ make
$ make install

// libgcc.a へのシンボリックリンクを生成
$ ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name |\
> sed 's/libgcc/&_eh/'`
`/mnt/lfs/tools/bin/../lib/gcc/i686-lfs-linux-gnu/4.4.1/libgcc_eh.a' -> `libgcc.a'