OSDN Git Service

update to lfsbook 6.8.ja
[linuxjf/JF.git] / docs / LFS-BOOK / chapter05 / binutils-pass1.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4   <head>
5     <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
6     <title>
7       5.4. Binutils-2.21 - 1回め
8     </title>
9     <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
10     <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
11     <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
12     "text/css" media="print" />
13   </head>
14   <body class="lfs" id="lfs-6.8">
15     <div class="navheader">
16       <h4>
17         Linux From Scratch - Version 6.8
18       </h4>
19       <h3>
20         第5章 一時的環境の構築
21       </h3>
22       <ul>
23         <li class="prev">
24           <a accesskey="p" href="generalinstructions.html" title=
25           "全般的なコンパイル手順">前のページ</a>
26           <p>
27             全般的なコンパイル手順
28           </p>
29         </li>
30         <li class="next">
31           <a accesskey="n" href="gcc-pass1.html" title=
32           "GCC-4.5.2 - 1回め">次のページ</a>
33           <p>
34             GCC-4.5.2 - 1回め
35           </p>
36         </li>
37         <li class="up">
38           <a accesskey="u" href="chapter05.html" title=
39           "第5章 一時的環境の構築">上に戻る</a>
40         </li>
41         <li class="home">
42           <a accesskey="h" href="../index.html" title=
43           "Linux From Scratch - Version 6.8">ホーム</a>
44         </li>
45       </ul>
46     </div>
47     <div class="wrap" lang="ja" xml:lang="ja">
48       <h1 class="sect1">
49         <a id="ch-tools-binutils-pass1" name=
50         "ch-tools-binutils-pass1"></a>5.4. Binutils-2.21 - 1回め
51       </h1>
52       <div class="package" lang="ja" xml:lang="ja">
53         <p>
54           Binutils パッケージは、リンカやアセンブラなどのようにオブジェクトファイルを取り扱うツール類を提供します。
55         </p>
56         <div class="segmentedlist">
57           <div class="seglistitem">
58             <div class="seg">
59               <strong class="segtitle">概算ビルド時間:</strong> <span class=
60               "segbody">1 SBU</span>
61             </div>
62             <div class="seg">
63               <strong class="segtitle">必要ディスク容量:</strong> <span class=
64               "segbody">248 MB</span>
65             </div>
66           </div>
67         </div>
68       </div>
69       <div class="installation" lang="ja" xml:lang="ja">
70         <h2 class="sect2">
71           5.4.1. クロスコンパイル版 Binutils のインストール
72         </h2>
73         <div class="admon note">
74           <img alt="[注記]" src="../images/note.png" />
75           <h3>
76             注記
77           </h3>
78           <p>
79             前の節に戻って再度説明をよく読み、重要事項として説明している内容をよく理解しておいてください。
80             そうすればこの後の無用なトラブルを減らすことができるはずです。
81           </p>
82         </div>
83         <p>
84           Binutils は一番最初にビルドするパッケージです。 ここでビルドされるリンカやアセンブラを使って、Glibc や GCC
85           の様々な機能が利用できるかどうかを判別することになります。
86         </p>
87         <p>
88           Binutils のドキュメントでは Binutils
89           をビルドする際に、ソースディレクトリではなく、ビルド専用のディレクトリを使ってビルドすることを推奨しています。
90         </p>
91         <pre class="userinput">
92 <kbd class="command">mkdir -v ../binutils-build
93 cd ../binutils-build</kbd>
94 </pre>
95         <div class="admon note">
96           <img alt="[注記]" src="../images/note.png" />
97           <h3>
98             注記
99           </h3>
100           <p>
101             本節以降で SBU値を示していきます。 これを活用していくなら、本パッケージの configure
102             から初めのインストールまでの処理時間を計測しましょう。 具体的には処理コマンドを <span class=
103             "command"><strong>time</strong></span> で囲んで <strong class=
104             "userinput"><code>time { ./configure ... &amp;&amp; make
105             &amp;&amp; make install; }</code></strong> と入力すれば実現できます。
106           </p>
107         </div>
108         <div class="admon note">
109           <img alt="[注記]" src="../images/note.png" />
110           <h3>
111             注記
112           </h3>
113           <p>
114             概算ビルド時間と必要ディスク容量は、この第5章ではテストスイートに関わる時間や容量は含めないことにします。
115           </p>
116         </div>
117         <p>
118           Binutils をコンパイルするための準備をします。
119         </p>
120         <pre class="userinput">
121 <kbd class="command">../binutils-2.21/configure \
122     --target=$LFS_TGT --prefix=/tools \
123     --disable-nls --disable-werror</kbd>
124 </pre>
125         <div class="variablelist">
126           <p class="title">
127             <b>configure オプションの意味:</b>
128           </p>
129           <dl>
130             <dt>
131               <span class="term"><code class=
132               "envar">--target=$LFS_TGT</code></span>
133             </dt>
134             <dd>
135               <p>
136                 変数 <code class="envar">LFS_TGT</code> に設定しているマシン名は
137                 <span class="command"><strong>config.guess</strong></span>
138                 スクリプトが返すものとは微妙に異なります。 そこでこのオプションは、Binutils
139                 のビルドにあたってクロスリンカをビルドするように <span class=
140                 "command"><strong>configure</strong></span> スクリプトに指示するものです。
141               </p>
142             </dd>
143             <dt>
144               <span class="term"><em class=
145               "parameter"><code>--prefix=/tools</code></em></span>
146             </dt>
147             <dd>
148               <p>
149                 configure スクリプトに対して Binutils プログラムを <code class=
150                 "filename">/tools</code> ディレクトリ以下にインストールすることを指示します。
151               </p>
152             </dd>
153             <dt>
154               <span class="term"><em class=
155               "parameter"><code>--disable-nls</code></em></span>
156             </dt>
157             <dd>
158               <p>
159                 一時的なツール構築にあたっては i18n 国際化は行わないことを指示します。
160               </p>
161             </dd>
162             <dt>
163               <span class="term"><em class=
164               "parameter"><code>--disable-werror</code></em></span>
165             </dt>
166             <dd>
167               <p>
168                 ホストのコンパイラが警告を発した場合に、ビルドが中断することがないようにします。
169               </p>
170             </dd>
171           </dl>
172         </div>
173         <p>
174           パッケージをコンパイルします。
175         </p>
176         <pre class="userinput">
177 <kbd class="command">make</kbd>
178 </pre>
179         <p>
180           コンパイルが終了しました。通常ならここでテストスイートを実行します。
181           しかしシステム構築初期のこの段階ではテストスイートのフレームワーク (Tcl, Expect, DejaGNU)
182           が準備できていません。 さらにこの時点で生成されるプログラムは、すぐに次の生成作業によって置き換えられますから、
183           この時点でテストを実行することはあまり意味がありません。
184         </p>
185         <p>
186           x86_64 にて作業をしている場合は、ツールチェーンの切り分けを適切に行うためにシンボリックリンクを作成します。
187         </p>
188         <pre class="userinput">
189 <kbd class="command">case $(uname -m) in
190   x86_64) mkdir -v /tools/lib &amp;&amp; ln -sv lib /tools/lib64 ;;
191 esac</kbd>
192 </pre>
193         <p>
194           パッケージをインストールします。
195         </p>
196         <pre class="userinput">
197 <kbd class="command">make install</kbd>
198 </pre>
199       </div>
200       <div class="content" lang="ja" xml:lang="ja">
201         <p>
202           本パッケージの詳細は <a class="xref" href=
203           "../chapter06/binutils.html#contents-binutils" title=
204           "6.12.2. Binutils の構成">6.12.2.「Binutils の構成」</a> を参照してください。
205         </p>
206       </div>
207     </div>
208     <div class="navfooter">
209       <ul>
210         <li class="prev">
211           <a accesskey="p" href="generalinstructions.html" title=
212           "全般的なコンパイル手順">前のページ</a>
213           <p>
214             全般的なコンパイル手順
215           </p>
216         </li>
217         <li class="next">
218           <a accesskey="n" href="gcc-pass1.html" title=
219           "GCC-4.5.2 - 1回め">次のページ</a>
220           <p>
221             GCC-4.5.2 - 1回め
222           </p>
223         </li>
224         <li class="up">
225           <a accesskey="u" href="chapter05.html" title=
226           "第5章 一時的環境の構築">上に戻る</a>
227         </li>
228         <li class="home">
229           <a accesskey="h" href="../index.html" title=
230           "Linux From Scratch - Version 6.8">ホーム</a>
231         </li>
232       </ul>
233     </div>
234   </body>
235 </html>