ID: 39975 Comment by: wharmby at uk dot ibm dot com Reported By: kprzemek at coig dot katowice dot pl Status: Assigned Bug Type: Compile Failure Operating System: IBM AIX 5.3 PHP Version: 5.2.0 Assigned To: tony2001 New Comment:
A couple of comments on this bug: 1) VisualAge C++ Professional Version 5.0 for AIX went out of support on December 31, 2003. The supported versions of the IBM compilers are 6.0, 7.0, or 8.0. However, you should check that you have the latest Version 5.0 PTF installed just in case this problem is resolved at that level. It can be found here: http://www.ibm.com/support/docview.wss?rs=0&uid=swg21156462 2) With each new version of the compiler changes have been made to enhance the portability from GNU C/C++ to the AIX compiler. This webpage describes such features in the latest Version 8.0 compilers: http://www.ibm.com/software/awdtools/xlcpp/features/#GNU I currently do not have access to a AIX system with the latest complier but I will look into getting access to one to to check whether or not the issues you highlight are fixed or not in a newer version of the AIX compiler. Previous Comments: ------------------------------------------------------------------------ [2006-12-29 19:24:43] orchard at engr dot wisc dot edu I had to fix the following error to get the Sun C compiler to compile the program (I changed the comment to standard C syntax): [eceserv1] 203% diff spl_iterators.c.orig spl_iterators.c 1484c1484 < return;// NULL --- > return;/* // NULL */ ------------------------------------------------------------------------ [2006-12-29 09:03:21] kprzemek at coig dot katowice dot pl Here is the step-by-step description of all errors consecutively as they appear.My compiler is: VisualAge C++ Professional / C for AIX Compiler, Version 5 Now the errors: # api.h new/php_stream_filter_api.h < 65c65 < PSFS_PASS_ON, /* filter generated output buckets; pass them on to next in chain */ --- > PSFS_PASS_ON /* filter generated output buckets; pass them on to next in chain */ ++++++ "/dv/usr/local/DEV/php-5.2.0/main/streams/php_stream_filter_api.h", line 65.21: 1506-275 (S) Unexpected text ',' encountered. ===================== # diff openssl.c new/openssl.c 61c61 < ZEND_END_ARG_INFO(); --- > ZEND_END_ARG_INFO() 72c72 < OPENSSL_KEYTYPE_DEFAULT = OPENSSL_KEYTYPE_RSA, --- > OPENSSL_KEYTYPE_DEFAULT = OPENSSL_KEYTYPE_RSA ++++++ "/dv/usr/local/DEV/php-5.2.0/ext/openssl/openssl.c", line 61.28: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/openssl/openssl.c", line 72.54: 1506-275 (S) Unexpected text ',' encountered. make: *** [ext/openssl/openssl.lo] Error 1 ============== # diff php_pcre.c new/php_pcre.c 55c55 < PHP_PCRE_BAD_UTF8_ERROR, --- > PHP_PCRE_BAD_UTF8_ERROR 59.34 < ZEND_DECLARE_MODULE_GLOBALS(pcre); --- > ZEND_DECLARE_MODULE_GLOBALS(pcre) +++++ "/dv/usr/local/DEV/php-5.2.0/ext/pcre/php_pcre.c", line 55.32: 1506-275 (S) Unexpected text ',' encountered. "/dv/usr/local/DEV/php-5.2.0/ext/pcre/php_pcre.c", line 59.34: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. make: *** [ext/pcre/php_pcre.lo] Error 1 ================= # diff parse_date.c new/parse_date.c 88c88,91 < typedef unsigned char uchar; --- > /* Typ z sys/types.h !! > * > * typedef unsigned char uchar; > */ +++++ php-5.2.0/ext/date/lib/parse_date.c", line 88.23: 1506-334 (S) Identifier uchar has already been defined on line 519 of "/usr/include/sys/types.h". php-5.2.0/ext/date/lib/parse_date.c", line 337.94: 1506-068 (S) Operation between types "illegal type*" and "illegal type*" is not allowed. php-5.2.0/ext/date/lib/parse_date.c", line 346.90: 1506-068 (S) Operation between types "illegal type*" and "illegal type*" is not allowed. php-5.2.0/ext/date/lib/parse_date.c", line 376.38: 1506-068 (S) Operation between types "illegal type*" and "illegal type*" is not allowed. php-5.2.0/ext/date/lib/parse_date.c", line 377.36: 1506-068 (S) Operation between types "illegal type*" and "illegal type*" is not allowed. php-5.2.0/ext/date/lib/parse_date.c", line 811.11: 1506-281 (S) Prefix and postfix increment and decrement operators cannot be applied to "illegal type*". and MORE lines like that: php-5.2.0/ext/date/lib/parse_date.c", line 1015.19: 1506-281 (S) Prefix and postfix increment and decrement operators cannot be applied to "illegal type*". ================= # diff php_hash_tiger.h new/php_hash_tiger.h 28,29c28,29 < unsigned char passes:1; < unsigned char length:7; --- > unsigned int passes:1; > unsigned int length:7; +++++ "/dv/usr/local/DEV/php-5.2.0/ext/hash/php_hash_tiger.h", line 28.9: 1506-009 (S) Bit-field passes must be of type signed int, unsigned int or int. "/dv/usr/local/DEV/php-5.2.0/ext/hash/php_hash_tiger.h", line 29.9: 1506-009 (S) Bit-field length must be of type signed int, unsigned int or int. make: *** [ext/hash/hash_tiger.lo] Error 1 =================== # diff spl_directory.h new/spl_directory.h 38c38 < SPL_FS_FILE, --- > SPL_FS_FILE +++++ "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_directory.h", line 38.20: 1506-275 (S) Unexpected text ',' encountered. ====================== # diff spl_iterators.h new/spl_iterators.h 95c95 < REGIT_USE_KEY = 0x00000001, --- > REGIT_USE_KEY = 0x00000001 104c104 < REGIT_MODE_MAX, --- > REGIT_MODE_MAX +++++ "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.h", line 95.46: 1506-275 (S) Unexpected text ',' encountered. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.h", line 104.23: 1506-275 (S) Unexpected text ',' encountered. ===================== # diff php_spl.c new/php_spl.c 646c646 < ZEND_END_ARG_INFO(); --- > ZEND_END_ARG_INFO() 653c653 < ZEND_END_ARG_INFO(); --- > ZEND_END_ARG_INFO() +++++ "/dv/usr/local/DEV/php-5.2.0/ext/spl/php_spl.c", line 646.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/php_spl.c", line 653.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. ==================== # diff spl_iterators.c new/spl_iterators.c [cat] ++++ "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 754.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 759.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 764.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1484.24: 1506-046 (S) Syntax error. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1640.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1657.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1684.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1689.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1694.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1699.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1720.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1852.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1864.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 1869.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2232.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2237.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2242.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2248.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2307.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2326.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2410.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. "/dv/usr/local/DEV/php-5.2.0/ext/spl/spl_iterators.c", line 2643.20: 1506-137 (E) Declaration must declare at least one declarator, tag, or the members of an enumeration. make: *** [ext/spl/spl_iterators.lo] Error 1 =============== Add for IBM C/C++ # diff zend_alloc.c new/zend_alloc.c 265a266 > #if ZEND_DEBUG 272a274 > # endif --- #if ZEND_DEBUG typedef enum _mem_magic { MEM_BLOCK_VALID = 0x7312F8DC, MEM_BLOCK_FREED = 0x99954317, MEM_BLOCK_CACHED = 0xFB8277DC, MEM_BLOCK_GUARD = 0x2A8FCC84, MEM_BLOCK_LEAK = 0x6C5E8F2D } mem_magic; # endif "/dv/usr/local/DEV/php-5.2.0/Zend/zend_alloc.c", line 268.28: 1506-243 (S) Value of enumeration constant must be in range of signed integer. "/dv/usr/local/DEV/php-5.2.0/Zend/zend_alloc.c", line 269.28: 1506-243 (S) Value of enumeration constant must be in range of signed integer. make: *** [Zend/zend_alloc.lo] Error 1 ============== # diff ap_config_auto.h new/ap_config_auto.h 201.9 < #define WORDS_BIGENDIAN 1 --- > /* #define WORDS_BIGENDIAN 1 */ +++++ "/dv/usr/local/apache2059.p520/include/ap_config_auto.h", line 201.9: 1506-213 (S) Macro name WORDS_BIGENDIAN cannot be redefined. "/dv/usr/local/apache2059.p520/include/ap_config_auto.h", line 201.9: 1506-358 (I) "WORDS_BIGENDIAN" is defined on line 946 of /dv/usr/local/DEV/php-5.2.0/include/../main/php_config.h. make: *** [sapi/apache2handler/mod_php5.lo] Error 1 ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39975 -- Edit this bug report at http://bugs.php.net/?id=39975&edit=1