Solaris 9 9/05 Versionshinweise

Fehler mit Standards

Folgender Fehler im Zusammenhang mit Standards tritt in Solaris 9 9/05 auf.

Kompilation von UNIX 98- oder UNIX 03-Anwendungen, die die Headerdatei dflcn.h enthalten, schlägt fehl (6295971)

Mit der Headerdatei dflcn.h werden Symbole in der Datei /usr/include/sys/auxv.h angezeigt, die unter UNIX(R) 98 und UNIX 03 nicht zugelassen sind. Beim Kompilieren von UNIX 98- oder UNIX 03-Anwendungen, die diese Headerdatei enthalten, erzeugt der Compiler Syntaxfehler. Aus diesem Grund wird die Kompilation auch nicht abgeschlossen.

Diese Fehler können vermieden werden, indem ein anderer Compiler verwendet wird als c89 und c99. Die kompilierten Anwendungen sind dann jedoch nicht mit UNIX 98 und UNIX 03 kompatibel. Darüber hinaus schlägt die Kompilation auch fehl, wenn die Option -D_XOPEN_SOURCE angegeben wird, selbst wenn der cc-Compiler verwendet wird.

Wenn Sie beispielsweise eine Anwendung kompilieren, die die Compiler-Option -D_XOPEN_SOURCE=600 verwendet, wird folgende Fehlermeldung angezeigt:


"/usr/include/sys/auxv.h", line 45: syntax error before 
or at: "a_type unprotected"
"/usr/include/sys/auxv.h", line 45: warning: syntax requires ";" 
after last struct/union member
"/usr/include/sys/auxv.h", line 54: zero-sized struct/union
"/usr/include/sys/auxv.h", line 54: warning: syntax error: 
empty declaration
"/usr/include/sys/auxv.h", line 55: warning: old-style declaration 
or incorrect type for: auxv_t

Abhilfemaßnahme: Wenden Sie einen der folgenden Patches an: