[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkgsrc/doc/guide/files/fixes.xml: 1.56 -> 1.57
以下のページの更新をしました。ツッコミをお願いします。
pkgsrc/doc/guide/files/fixes.xml: 1.56 -> 1.57
> revision 1.57
> date: 2006/06/29 11:29:46; author: rillig; state: Exp; lines: +186 -163
> Reordered the sections so that the general ones are at the beginning,
> followed by the ones specific to a phase. Added an "undefined reference
> to ..." section.
月曜日までに異議がなければ、 commit します。
内容の順序、字下げ、改行位置が変わったために差分が大きくなっていますが、
内容そのものの変更点は、
- Undefined reference to <quote>...</quote> の節を追加
- ${INSTALL}, ${INSTALL_DATA_DIR}, ... の節名を
Creating needed directories に変更し、内容に加筆
- いいまわしの変更
のみです。
1.57 の原文は
http://cvsweb.de.NetBSD.org/cgi-bin/cvsweb.cgi/pkgsrc/doc/guide/files/fixes.xml?rev=1.57&content-type=text/plain
http://cvsweb.de.NetBSD.org/cgi-bin/cvsweb.cgi/%7Echeckout%7E/htdocs/Documentation/pkgsrc/fixes.html?rev=1.69&content-type=text/html
で、訳文は
http://www.na.rim.or.jp/%7Ekano/tmp/pkgsrc/doc/guide/files/fixes.xml
http://www.na.rim.or.jp/%7Ekano/tmp/Documentation/pkgsrc/fixes.html
に置いてあります。
# cvsweb.NetBSD.org で文字化けするとのご指摘があったので de
以下、1.56 の順序、字下げ、改行位置を調整したものと 1.57 との、
訳と原文それぞれの差分です。
--- fixes.xml.orig 2006-11-30 22:54:09.000000000 +0900
+++ fixes.xml 2006-12-03 15:59:30.000000000 +0900
@@ -13,8 +13,8 @@
<para>pkgsrc の目玉の一つは、多くのプラットフォームで動作することです。
そのため、pkgsrc のパッケージの移植性をできるかぎり高めることが重要になります。
- pkgsrc の作業に際して、
- 具体的には以下のような事項に注意してください。</para>
+ 本章では、pkgsrc の作業に際して、
+ 注意が必要となる具体的な事項を説明します。</para>
</sect2>
@@ -923,29 +923,54 @@
<para>たいていは、回避策として、<varname>MACHINE_ARCH</varname>
とコンパイラーのバージョンを確認し、
- 問題のあるファイル/<varname>MACHINE_ARCH</varname>/コンパイラーの組合せに対して最適化を無効に
+ 問題のあるファイル・<varname>MACHINE_ARCH</varname>・コンパイラーの組合せに対して最適化を無効に
し、そのことを<filename>pkgsrc/doc/HACKS</filename>に文書化しておくことが必要となります。
このファイルに多くの例が載っているので、参照してください。</para>
</sect2>
+<sect2 id="undefined-reference">
+<title>undefined reference to <quote>...</quote></title>
+
+ <para>このコンパイラーエラーは、
+ パッケージが必要な共有ライブラリーにリンクしていない場合にしばしば出ます。
+ 以下の関数は、このエラーメッセージを何度も出すことがわかっているものです。</para>
+
+ <informaltable id="undefined-reference-functions">
+ <tgroup cols="3">
+ <thead><row><entry>関数</entry><entry>ライブラリー</entry><entry>影響のあるプラットフォーム</entry></row></thead>
+ <tbody>
+ <row><entry>gethost*</entry><entry>-lnsl</entry><entry>Solaris</entry></row>
+ <row><entry>accept, bind, connect</entry><entry>-lsocket</entry><entry>Solaris</entry></row>
+ <row><entry>inet_aton</entry><entry>-lresolv</entry><entry>Solaris</entry></row>
+ <row><entry>dlopen, dlsym</entry><entry>-ldl</entry><entry>Linux</entry></row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+</sect2>
</sect1>
<sect1 id="fixes.install">
<title><emphasis>install</emphasis> 相での問題を修正する</title>
<sect2 id="install-scripts">
-<title>${INSTALL}, ${INSTALL_DATA_DIR}, ...</title>
+<title>必要なディレクトリーを作成する</title>
<para>一部のプラットフォームに附属する BSD 互換の <command>install</command> は、
- 一度に複数の操作をおこなうことができません。
- このため、 <quote>${INSTALL}</quote> などを使うときは、以下のようにします。</para>
+ 一度に複数のディレクトリーを作成することができません。
+ このため、 <literal>${INSTALL_*_DIR}</literal> を使うときは、以下のようにします。</para>
<programlisting>
${INSTALL_DATA_DIR} ${PREFIX}/dir1
${INSTALL_DATA_DIR} ${PREFIX}/dir2
</programlisting>
+ <para>こうするかわりに、単に <quote><literal>dir1
+ dir2</literal></quote> を
+ <varname>INSTALLATION_DIRS</varname> 変数に追加するという方法もあります。
+ こうすると、適切な処理が自動的におこなわれます。</para>
+
</sect2>
<sect2 id="where-to-install-documentation">
<title>ドキュメンテーションのインストール場所</title>
--- fixes.xml.orig 2006-11-30 22:55:00.000000000 +0900
+++ fixes.xml 2006-11-30 22:25:13.000000000 +0900
@@ -11,8 +11,8 @@
<para>One appealing feature of pkgsrc is that it runs on many
different platforms. As a result, it is important to ensure,
- where possible, that packages in pkgsrc are portable. There are
- some particular details you should pay
+ where possible, that packages in pkgsrc are portable. This
+ chapter mentions some particular details you should pay
attention to while working on pkgsrc.</para>
</sect2>
@@ -964,32 +964,56 @@
<para>Typically, a workaround involves testing the
<varname>MACHINE_ARCH</varname> and compiler version, disabling
- optimisation for that
- file/<varname>MACHINE_ARCH</varname>/compiler combination, and
- documenting it
+ optimisation for that combination of file,
+ <varname>MACHINE_ARCH</varname> and compiler, and documenting it
in <filename>pkgsrc/doc/HACKS</filename>. See that file for a
- number of examples!</para>
+ number of examples.</para>
</sect2>
+<sect2 id="undefined-reference">
+<title>Undefined reference to <quote>...</quote></title>
+
+ <para>This compiler error often means that a package did not
+ link to a shared library it needs. The following functions are
+ known to cause this error message over and over.</para>
+
+ <informaltable id="undefined-reference-functions">
+ <tgroup cols="3">
+ <thead><row><entry>Function</entry><entry>Library</entry><entry>Affected platforms</entry></row></thead>
+ <tbody>
+ <row><entry>gethost*</entry><entry>-lnsl</entry><entry>Solaris</entry></row>
+ <row><entry>accept, bind, connect</entry><entry>-lsocket</entry><entry>Solaris</entry></row>
+ <row><entry>inet_aton</entry><entry>-lresolv</entry><entry>Solaris</entry></row>
+ <row><entry>dlopen, dlsym</entry><entry>-ldl</entry><entry>Linux</entry></row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+</sect2>
</sect1>
<sect1 id="fixes.install">
<title>Fixing problems in the <emphasis>install</emphasis> phase</title>
<sect2 id="install-scripts">
-<title>${INSTALL}, ${INSTALL_DATA_DIR}, ...</title>
+<title>Creating needed directories</title>
<para>The BSD-compatible <command>install</command> supplied
- with some operating systems will not perform more than one
- operation at a time. As such, you should call
- <quote>${INSTALL}</quote>, etc. like this:</para>
+ with some operating systems cannot create more than one
+ directory at a time. As such, you should call
+ <literal>${INSTALL_*_DIR}</literal> like this:</para>
<programlisting>
${INSTALL_DATA_DIR} ${PREFIX}/dir1
${INSTALL_DATA_DIR} ${PREFIX}/dir2
</programlisting>
+ <para>You can also just append <quote><literal>dir1
+ dir2</literal></quote> to the
+ <varname>INSTALLATION_DIRS</varname> variable, which will
+ automatically do the right thing.</para>
+
</sect2>
<sect2 id="where-to-install-documentation">
<title>Where to install documentation</title>