سؤال

أحاول تجميع z/lib على z/OS يو اس اس(هذا صحيح المركزية).لقد حصلت gmake و c89 مترجم (التي im على افتراض c89 متوافقة مع المعايير) و يو اس اس المفترض أن تكون متوافقة مع 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

عندما تدريجيا تأخذ بها الآن * (أعتقد الآن المؤشر ولكن انا حقا لست متأكد) الأخطاء تذهب بعيدا.ولكن هذه مكتبة ايم ليس متأكدا ما تحف أخرى سوف يتم إنتاجها عن طريق إزالة هذا.

وقد أي شخص لديك أي أفكار ؟

أي الرئيسي القديم رؤساء هناك ؟

هل كانت مفيدة؟

المحلول

اتضح أن هناك نسخة سابقة من zlib أن يجمع على يو اس اس الإصدار 1.1.4 أو قريبة من ذلك.في العودة المستوى ، ولكن أفترض يعمل هذا لأنه قبل تنفيذ الآن المؤشر في أحدث التعليمات البرمجية.حتى أجهزة الصراف الآلي أعتقد لقد حصلت على عمل.

شكرا على كل ما تبذلونه من مساعدة.

تحياتي

علامة.

نصائح أخرى

الآن ليس C89 الكلمة ، بل هو Microsoft/Intelism و هو على الارجح #محددة في مكان ما.إذا لا تحتاج إلى تعريف شيء:

#define FAR

ومع ذلك ، فإن هذا سيؤدي على الأرجح إلى إصلاح واحدة من العديد من المشاكل.أنا أظن أن المكتبة تستخدم بعض أشكال الشرطية للتعامل مع أشياء مثل الآن مؤشرات - تحتاج إلى قراءة مستندات على تكوين معظم suitabkle النظام الأساسي الخاص بك.

كنت استخدم xlc بدلا من c89 منذ xlc هو النظام الافتراضي المترجم ولكن عليك لا تزال على الارجح القضايا.أود الاشتراك في MVS-عمر الفاروق قائمة البريد الإلكتروني, الناس عليها هي مفيدة جدا.رابط معلومات عن قائمة تظهر إلى الآن حتى إرسال بريد إلكتروني إلى LISTSERV@VM.MARIST.EDU مع الرسالة:معلومات MVS-عمر الفاروق

FWIW, IBM توفر معدة مسبقا نسخة من zlib أن يشمل دعم الأجهزة ضغط (ما يسمى zEDC) متاح على الأخيرة-خمر كبيرة.انظر zlib على zEnterprise ضغط البيانات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top