<sect1 id="ch06-binutils">
<!--
<title>Installing Binutils-&binutils-version;</title>
-->
<title>Binutils-&binutils-version; のインストール</title>
<?dbhtml filename="binutils.html" dir="chapter06"?>

<!--
<screen>Estimated build time:           &binutils-time;
Estimated required disk space:  &binutils-compsize;</screen>
-->
<screen>推定構築時間:           &binutils-time;
推定必要ディスクスペース  &binutils-compsize;</screen>

&aa-binutils-shortdesc;
&aa-binutils-dep;

<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2>
<!--
<title>Installation of Binutils</title>
-->
<title>Binutils のインストール</title>

<!--
<para>Now is an appropriate time to verify that your pseudo terminals (PTYs) are
working properly inside the chroot environment. We will again quickly check that
everything is set up correctly by performing a simple test:</para>
-->
<para>では、仮想ターミナル（ PTYs ）が chroot 環境の中で正しく動いているかを確かめる適切な時です。再び簡単なテストを行なうことで全てが正しく設定されていることを素早くチェックします。</para>

<screen><userinput>expect -c "spawn ls"</userinput></screen>

<!--
<para>If you receive the message:</para>
-->
<para>もしも</para>

<blockquote><screen>The system has no more ptys.  Ask your system administrator to create more.</screen></blockquote>

<!--
<para>Your chroot environment is not set up for proper PTY operation. In this
case there is no point in running the test suites for Binutils and GCC until you
are able to resolve the issue. Please refer back to <xref linkend="ch06-proc"/>
and <xref linkend="ch06-makedev"/> and perform the recommended steps to fix the
problem.</para>
-->
<para>というメッセージが出るなら、お使いの chroot 環境は正しい PTY 操作に設定されていません。この場合は、問題を解決できるようになるまで Binutils と GCC へのテストは意味がありません。
<xref linkend="ch06-proc"/> という節と、<xref linkend="ch06-makedev"/> という節に戻って、問題を修正するのに所定の手順を踏んでください。</para>

<!--
<note><para>The test suite for Binutils in this section is considered
<emphasis>critical</emphasis>. Our advice is to not skip it under any
circumstances.</para></note>
-->
<note><para>この章の Binutils へのテストスイーツは<emphasis>必須</emphasis>だと考えています。どんな状況下でもテストを飛ばしてしまわないように注意しておきます。</para></note>

<!--
<para>This package is known to behave badly when you have changed its
default optimization flags (including the -march and -mcpu options).
Therefore, if you have defined any environment variables that override
default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting
or modifying them when building Binutils.</para>
-->
<para>このパッケージはデフォルト最適化フラグ（ -march 及び -mcpu オプションを含む）を変更するとおかしなふるまいをすると知られています。
ですから、たとえば CFLAGS や CXXFLAGS のような、デフォルトの最適化を書きかえるような何かの環境変数を定義したなら、Binutils を構築する時に、その設定を解除するか、修正するようお勧めします。</para>

<!--
<para>The Binutils documentation recommends building Binutils outside of the
source directory in a dedicated build directory:</para>
-->
<para>Binutils の文書は、ソースディレクトリとは別の構築専用ディレクトリでコンパイルするよう勧めています。</para>

<screen><userinput>mkdir ../binutils-build
cd ../binutils-build</userinput></screen>

<!--
<para>Now prepare Binutils for compilation:</para>
-->
<para>さてコンパイルのために Binutils を準備します。</para>

<screen><userinput>../binutils-&binutils-version;/configure \
&nbsp;&nbsp;&nbsp;&nbsp;--prefix=/usr --enable-shared</userinput></screen>

<!--
<para>Compile the package:</para>
-->
<para>パッケージをコンパイルします。</para>

<screen><userinput>make tooldir=/usr</userinput></screen>

<!--
<para>Normally, the <emphasis>tooldir</emphasis> (the directory where the
executables end up) is set to $(exec_prefix)/$(target_alias), which expands
into, for example, <filename>/usr/i686-pc-linux-gnu</filename>. Since we only
build for our own system, we don't need this target specific directory in
<filename>/usr</filename>. That setup would be used if the system was used to
cross-compile (for example compiling a package on an Intel machine that
generates code that can be executed on PowerPC machines).</para>
-->
<para>通常、<emphasis>tooldir</emphasis>（実行ファイルが入ることになるディレクトリ）は $(exec_prefix)/$(target_alias) に設定されていて、たとえば <filename>/usr/i686-pc-linux-gnu</filename> のようになります。
自分のシステムを構築するだけなので、<filename>/usr</filename> の中にこの対象となる特定のディレクトリは必要ありません。
システムがクロスコンパイル（たとえば PowerPC で実行されるコードを Intel マシンで生成するようなパッケージのコンパイル）に使われるなら、そのようなセットアップが使われることになります。</para>

<!--
<para>Test the results:</para>
-->
<para>結果をテストします。</para>

<screen><userinput>make check</userinput></screen>

<!--
<para>The test suite notes from <xref linkend="ch05-binutils-pass2"/> are still
very much appropriate here. Be sure to refer back there should you have any
doubts.</para>
-->
<para><xref linkend="ch05-binutils-pass2"/>という節からのテストスイーツの注意書きはここでもまだとても役立ちます。万一何か疑問を持ったらそこを参照して確かめて下さい。</para>

<!--
<para>Install the package:</para>
-->
<para>パッケージをインストールします。</para>

<screen><userinput>make tooldir=/usr install</userinput></screen>

<!--
<para>Install the <emphasis>libiberty</emphasis> header file that is needed by
some packages:</para>
-->
<para>いくつかのパッケージに必要とされる <emphasis>libiberty</emphasis> ヘッダファイルをインストールします。</para>

<screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>

</sect2>

</sect1>

