2

z/OS USS (メインフレーム) で z/lib をコンパイルしようとしています。ive は gmake と c89 コンパイラ (c89 標準に準拠していると想定しています) を取得しており、USS は POSIX に準拠しているはずです。

しかし、zlibがつまずいているようです

struct internal_state FAR *state; /* not visible by applications */

次のエラーで

c89 -O3 -DUSE_MMAP -D_XOPEN_SOURCE_EXTENDED=1 -D_POSIX_SOURCE   -c -o example.o example.c
ERROR CCN3277 ./zlib.h:92    Syntax error: possible missing ';' or ','?
ERROR CCN3007 ./zlib.h:92    "struct internal_state" is undefined.
ERROR CCN3166 ./zlib.h:103   Definition of function FAR requires parentheses.
ERROR CCN3276 ./zlib.h:103   Syntax error: possible missing '{'?
ERROR CCN3273 ./zlib.h:124   Missing type in declaration of gz_header.
ERROR CCN3166 ./zlib.h:126   Definition of function gz_header requires parentheses.
ERROR CCN3276 ./zlib.h:126   Syntax error: possible missing '{'?
WARNING CCN3137 ./zlib.h:1346  Declaration must declare at least one declarator, tag, or the members of an enumeration.
ERROR CCN3275 ./zlib.h:1350  Unexpected text z encountered.
ERROR CCN3282 ./zlib.h:1350  The type of the parameters must be specified in a prototype.
ERROR CCN3275 ./example.c:95    Unexpected text file encountered.
ERROR CCN3045 ./example.c:95    Undeclared identifier gzFile.
ERROR CCN3046 ./example.c:96    Syntax error.
ERROR CCN3045 ./example.c:98    Undeclared identifier file.
ERROR CCN3019 ./example.c:523   Expecting an array or a pointer to object type.
ERROR CCN3280 ./example.c:527   Function argument assignment between types "const char*" and "int" is not allowed.
CCN0793(I) Compilation failed for file ./example.c.  Object file not created.
FSUM3065 The COMPILE step ended with return code 12.
FSUM3017 Could not compile example.c. Correct the errors and try again.
gmake: *** [example.o] Error 3

FAR *を徐々に取り出すと(ファーポインターだと思いますが、実際にはよくわかりません)、エラーはなくなります。しかし、これはライブラリであるため、これを削除することで他のアーティファクトが生成されるかどうかはわかりません。

誰かアイデアを持っていますか?

古いメインフレームはありますか?

4

4 に答える 4

3

USS、バージョン1.1.4またはそれに近いバージョンでコンパイルされるzlibの以前のバージョンがあることがわかりました。これはバックレベルですが、最新のコードで FAR ポインターが実装される前であるため、これは機能すると思います。だからatm私はそれがうまくいったと思う。

ご助力いただきありがとうございます。

よろしく

マーク。

于 2009-07-06T07:09:03.010 に答える
1

xlc はシステムのデフォルト コンパイラであるため、c89 の代わりに xlc を使用しますが、それでも問題が発生する可能性があります。私は MVS-OE メーリング リストに登録したいと思います。そこにいる人々は非常に役に立ちます。リストに関する情報へのリンクが現在停止しているようです。メッセージを添えて LISTSERV@VM.MARIST.EDU に電子メールを送信してください: INFO MVS-OE

于 2009-06-30T12:19:47.103 に答える