Folgender Fehler im Zusammenhang mit Standards tritt in Solaris 9 9/05 auf.
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:
Für SPARC-basierte Systeme: Patch ID 112963-23
Für x86-basierte Systeme: Patch ID 113986-19