ID: 25211
User updated by: php at hottub dot ca
-Summary: 'with-zlib' or 'with-bz2' causes 'redeclaration' of
php_image_type_to_mime_type
Reported By: php at hottub dot ca
Status: Open
Bug Type: Compile Failure
Operating System: AIX 5.1 ML4
-PHP Version: 4.3.3RC4
+PHP Version: 4.3.3 Release
New Comment:
Recompiled with the release version, and this issue has
not been corrected.
Previous Comments:
------------------------------------------------------------------------
[2003-08-23 09:54:54] php at hottub dot ca
When I added the remainder of the configure options,
the error occured again, despite the fact that the
definitions are the same in both places. Apparently
the AIX compiler throws 'unsigned' in front of 'char'
in header files.
When I edited both php_image.h and image.c to match
each other (simply 'char'), I got a successful compile.
Tests have been submitted to the QA site.
On a previous compile attempt, setting both definitions
to 'const char' resulted in the same error again. I
will attempt to determine if this is a compiler issue
for which there is a fix.
------------------------------------------------------------------------
[2003-08-22 22:46:13] php at hottub dot ca
Removing 'const' from line 60 of ext/standard/
php_image.c allowed a clean compile -- make test will
be submitted to list after additional configure flags
have been added.
------------------------------------------------------------------------
[2003-08-22 13:51:15] [EMAIL PROTECTED]
The declarations are exactly the same but maybe the compiler you use
doesn't understand const in return types. So please remove const from
the return type in both .c and .h file and tell me if that helps. If it
doesn't we need to find out why your compiler thinks the return type is
'unsigned char'.
------------------------------------------------------------------------
[2003-08-22 10:15:44] php at hottub dot ca
Description:
------------
Trying to compile 4.3.3RC4 on AIX 5.1 ML4 using IBM
Visual Age C version 6.0 (cc).
PHP compiles properly with other options without issue,
but when issuing configure with the --with-zlib and --
with-bz2 options, compilation fails. Here is the
command being executed:
cc -Iext/standard/ -I/build/php-4.3.3RC4/ext/standard/
-DPHP_ATOM_INC -I/build/php-4.3.3RC4/include -I/build/
php-4.3.3RC4/main -I/build/php-4.3.3RC4 -I/build/php-
4.3.3RC4/Zend -I/usr/local/include -I/build/php-
4.3.3RC4/ext/xml/expat -I/build/php-4.3.3RC4/TSRM -g
-c /build/php-4.3.3RC4/ext/standard/image.c -o ext/
standard/image.o && echo > ext/standard/image.lo
And the error output:
"/build/php-4.3.3RC4/ext/standard/image.c", line
1029.21: 1506-343 (S) Redeclaration of
php_image_type_to_mime_type differs from previous
declaration on line 60 of "/build/php-4.3.3RC4/ext/
standard/php_image.h".
"/build/php-4.3.3RC4/ext/standard/image.c", line
1029.21: 1506-050 (I) Return type "unsigned char*" in
redeclaration is not compatible with the previous
return type "const unsigned char*".
make: *** [ext/standard/image.lo] Error 1
The system does not have mysql installed (IBM's DB2 is
installed, but not enabled as a configuration option).
There are also a number of warnings during compilation
that all relate to mysql.h:
"/build/php-4.3.3RC4/ext/mysql/libmysql/mysql.h", line
181.14: 1506-731 (W) The '_Export' keyword is not
supported on the target platform. The keyword is
ignored.
This is the output from configure when the options are
enabled:
00Configuring extensions00
checking for ZLIB support... yes
checking if the location of ZLIB install directory is
defined... no
checking for gzgets in -lz... yes
checking whether to enable bc style precision math
functions... no
checking for BZip2 support... yes
checking for BZip2 in default path... found in /usr
checking for BZ2_bzerror in -lbz2... yes
I can make a shell account available for the assignee
to test themselves.
-JD.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25211&edit=1