質問

イムは、z / OS USS(ザッツ右側メインフレーム)上のz / libがコンパイルしようとしています。 IVEはgmakeのと(対応C89規格であると仮定IM)C89コンパイラを持って、USSは、POSIXに準拠することになっています。

しかし、zlibの

上にトリップしているようです
struct internal_state FAR *state; /* not visible by applications */

次のエラーで(S)

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 *を取り出したときに

エラーが離れて行く(私は本当にわからそのA farポインタが、イムはないと思います)。これはライブラリがあるとしてではなく、他のアーティファクトは、これを除去することにより、製造することが予定されているかわからないイムます。

誰もが任意のアイデアを持っている?

そこに任意の古いメインフレームのヘッド?

役に立ちましたか?

解決

それはUSS、バージョン1.1.4またはそれに近い上でコンパイルしたzlibの以前のバージョンがあるが判明しました。その背中レベルが、私はそれが最新のコードでFARポインタの実装の前にあるので、この作品と推測します。だから、気圧私は、IVEは、それが動作するようになったと考えています。

すべてのご協力に感謝します。

よろしく

マークます。

他のヒント

FARそれはマイクロソフト/ Intelismで、おそらくどこかに#defineで定義され、C89のキーワードではありません。そうでない場合、あなたは何としてそれを定義する必要があります:

#define FAR

しかし、これはおそらく唯一の多くの問題のいずれかを修正します。私は、ライブラリがFARポインタのようなものを処理するために、条件付きコンパイルのいくつかのフォームを使用していることを推測する - あなたはあなたのプラットフォームのための最もsuitabkleである構成を見つけるために、ドキュメントを読む必要がある。

XLCは、お使いのシステムのデフォルトのコンパイラですので、私は、XLCの代わりにC89を使用したいが、あなたはおそらくまだ問題があるでしょう。私はMVS-OEの電子メールリストに参加したい、その上に人々は非常に便利です。リストに関する情報へのリンクはそれほどに電子メールを送信し、今ダウンしていると思われます LISTSERV@VM.MARIST.EDU  メッセージ付き:INFO MVS-OE

FWIWは、IBMは最近、ヴィンテージメインフレーム上で利用可能な(zEDC所謂)圧縮ハードウェアのサポートが含まれZLIBの構築済みバージョンを提供します。 zEnterpriseをするためにのzlibを参照してください。データ圧縮する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top