Solaris 9 9/05 ご使用にあたって

標準バグ情報

Solaris 9 9/05リリースの標準バグ情報について説明します。

ヘッダーファイルdflcn.hを含む UNIX 98 あるいは UNIX 03 アプリケーションのコンパイルが失敗する。(6295971)

ヘッダーファイル dflcn.h は UNIX(R) 98 あるいは UNIX 03 で許可されていない /usr/include/sys/auxv.h の中のシンボルを表示します。もし、このヘッダーファイルを含む UNIX 98 あるいは UNIX 03 アプリケーションをコンパイルすると、シンタックエラーが生成されます。この結果、このコンパイルは完了しません。

c89 または c99 以外のコンパイラーを使用することによって、このエラーを回避することができます。しかしながら、コンパイルされたアプリケーションは、UNIX 98 あるいは UNIX 03 に準拠しません。さらに、 cc コンパイラーを使用しても、-D_XOPEN_SOURCE フラグが定義されていると、コンパイルは同様に失敗します。たとえば、 -D_XOPEN_SOURCE=600 フラグを使用したアプリケーションをコンパイルすると、次のエラーメッセージが表示されます。


"/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

回避方法: 次のパッチを適用してください。