[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pkgsrc/doc/guide/files/fixes.xml: 1.74 -> 1.75



以下のページの更新をしました。ツッコミをお願いします。

pkgsrc/doc/guide/files/fixes.xml: 1.74 -> 1.75

> revision 1.75
> date: 2006/11/11 05:38:27;  author: rillig;  state: Exp;  lines: +31 -2
> The "undefined reference to ..." error message can also appear when
> using inline functions with SunPro.

月曜日までに異議がなければ、 commit します。

以下、訳と原文それぞれの新旧の差分です。

--- fixes.xml.orig	2007-01-14 21:32:10.000000000 +0900
+++ fixes.xml	2007-01-14 21:32:10.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: fixes.xml,v 1.74 2006/10/11 14:32:56 yyamano Exp $ -->
+<!-- $NetBSD: fixes.xml,v 1.75 2006/11/11 05:38:27 rillig Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: fixes.xml,v 1.74 2006/10/11 14:32:56 yyamano Exp   -->
+<!-- NetBSD: fixes.xml,v 1.75 2006/11/11 05:38:27 rillig Exp   -->
 
 <chapter id="fixes"> <?dbhtml filename="fixes.html"?>
 <title>パッケージを動くようにする</title>
@@ -1097,8 +1097,8 @@
 <sect2 id="undefined-reference">
 <title>undefined reference to <quote>...</quote></title>
 
-	<para>このコンパイラーエラーは、
-	パッケージが必要な共有ライブラリーにリンクしていない場合にしばしば出ます。
+	<para>このエラーメッセージは、しばしば、
+	パッケージが必要な共有ライブラリーにリンクしていないことを表します。
 	以下の関数は、このエラーメッセージを何度も出すことがわかっているものです。</para>
 
     <informaltable id="undefined-reference-functions">
@@ -1122,6 +1122,35 @@
     -l<replaceable>foo</replaceable></literal> を追加してから <command>bmake clean;
     bmake</command> を実行すれば十分です。</para>
 
+<sect3 id="undefined-reference-sunpro">
+<title>特殊な問題: SunPro コンパイラー</title>
+
+<para>SunPro コンパイラーを使っている場合は、別の問題の可能性があります。
+このコンパイラーは、以下のようなコードを処理することができません。</para>
+
+<programlisting>
+    extern int extern_func(int);
+    
+    static inline int
+    inline_func(int x)
+    {
+        return extern_func(x);
+    }
+    
+    int main(void)
+    {
+        return 0;
+    }
+</programlisting>
+
+<para>ここからは、<function>inline_func</function> 関数がたとえ使われていなくても、
+この関数用のコードが生成され、そのコードから
+<function>extern_func</function> が参照されますが、この参照は通常は解決することができません。
+この問題を解決するため、
+パッケージに関数のインライン化を無効化するよう指示してみることができます。</para>
+
+</sect3>
+
   </sect2>
 
   <sect2 id="out-of-memory">
Index: fixes.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/fixes.xml,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- fixes.xml	11 Oct 2006 14:32:56 -0000	1.74
+++ fixes.xml	11 Nov 2006 05:38:27 -0000	1.75
@@ -1,4 +1,4 @@
-<!-- $NetBSD: fixes.xml,v 1.74 2006/10/11 14:32:56 yyamano Exp $ -->
+<!-- $NetBSD: fixes.xml,v 1.75 2006/11/11 05:38:27 rillig Exp $ -->
 
 <chapter id="fixes"> <?dbhtml filename="fixes.html"?>
 <title>Making your package work</title>
@@ -1137,7 +1137,7 @@
 <sect2 id="undefined-reference">
 <title>Undefined reference to <quote>...</quote></title>
 
-	<para>This compiler error often means that a package did not
+	<para>This error message 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>
 
@@ -1162,6 +1162,35 @@
     <filename>Makefile</filename> and then say <command>bmake clean;
     bmake</command>.</para>
 
+<sect3 id="undefined-reference-sunpro">
+<title>Special issue: The SunPro compiler</title>
+
+<para>When you are using the SunPro compiler, there is another
+possibility. That compiler cannot handle the following code:</para>
+
+<programlisting>
+    extern int extern_func(int);
+    
+    static inline int
+    inline_func(int x)
+    {
+        return extern_func(x);
+    }
+    
+    int main(void)
+    {
+        return 0;
+    }
+</programlisting>
+
+<para>It generates the code for <function>inline_func</function> even if
+that function is never used. This code then refers to
+<function>extern_func</function>, which can usually not be resolved. To
+solve this problem you can try to tell the package to disable inlining
+of functions.</para>
+
+</sect3>
+
   </sect2>
 
   <sect2 id="out-of-memory">