[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>