Binutils-2.14 のインストール - 第 1 段階

推定構築時間:           1.0 SBU
推定必要ディスクスペース:  194 MB

Binutils の内容

Binutils はオブジェクトファイルとアーカイブで働くリンカ、アセンブラ、その他のツールを含むソフトウェア開発ツールの集まりです。

インストールされるプログラム: addr2line, ar, as, c++filt,gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings 及び strip

インストールされるライブラリ: libiberty.a, libbfd.[a,so] andlibopcodes.[a,so]

Binutils インストール依存性

Binutils は以下のパッケージに依存します: Bash, Coreutils, Diffutils, GCC, Gettext,Glibc, Grep, Make, Perl, Sed, Texinfo.

Binutils のインストール

Glibc と GCC の二つは、それらのどの機能を有効にするかを決定するため、利用できるリンカとアセンブラについてさまざまなテストを行うので、Binutils が最初にコンパイルするパッケージであるのは重要なことです。

このパッケージはデフォルト最適化フラグ( -march と -mcpu オプションを含む)を変更するとおかしなふるまいをすると知られています。 ですから、たとえば CFLAGS や CXXFLAGS のような、デフォルトの最適化を書きかえるような何かの環境変数を定義したなら、Binutils を構築する時に、その設定を解除するか、修正するようお勧めします。

Binutils の文章は、ソースディレクトリとは別の構築専用ディレクトリでコンパイルするよう勧めています。

mkdir ../binutils-build
cd ../binutils-build

それでは コンパイルのために Binutils を準備しましょう。

../binutils-2.14/configure \
    --prefix=/tools --disable-nls

設定オプションの意味

パッケージのコンパイルを続行します。

make configure-host
make LDFLAGS="-all-static"

make のパラメータの意味

パッケージをインストールします。

make install

それでは Glibc の "閉じ込め" のためにリンカを用意します。

make -C ld clean
make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib

make のパラメータの意味

Warning

この段階ではまだ Binutils の構築とソースのディレクトリを削除しないで下さい。この章のもう少し先で、再び現状のまま必要となります。