From: [EMAIL PROTECTED] Operating system: HP-UX 11.00 PHP version: 4.2.0 PHP Bug Type: Compile Failure Bug description: Error compiling libmysql
While compiling PHP 4.2.0 (using gcc 3.0.1), I get the following error: Making all in libmysql make[3]: Entering directory `/volumes/v1/users/ddtsbase/ddts_4.6.3/local/src/php/php-4.2.0/ext/mysql/libmysql' make[4]: Entering directory `/volumes/v1/users/ddtsbase/ddts_4.6.3/local/src/php/php-4.2.0/ext/mysql/libmysql' /bin/sh /user/ddts/local/src/php/php-4.2.0/libtool --silent --mode=compile gcc -I. -I/user/ddts/local/src/php/php-4.2.0/ext/mysql/libmysql -I/user/ddts/local/src/php/php-4.2.0/main -I/user/ddts/local/src/php/php-4.2.0 -I/user/ddts/local/apache_1.3.24/include -I/user/ddts/local/src/php/php-4.2.0/Zend -I/user/ddts/local/gnu/include -I/user/ddts/local/src/php/php-4.2.0/ext/mysql/libmysql -I/user/ddts/local/src/php/php-4.2.0/ext/xml/expat -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I/user/ddts/local/src/php/php-4.2.0/TSRM -g -O2 -prefer-pic -c libmysql.c In file included from libmysql.c:5: global.h:256: warning: redefinition of `uint' /user/ddts/local/gnu/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.1/include/sys/types.h:322: warning: `uint' previously declared here global.h:257: warning: redefinition of `ushort' /user/ddts/local/gnu/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.1/include/sys/types.h:323: warning: `ushort' previously declared here In file included from libmysql.c:5: global.h:590: redefinition of `ulong' global.h:258: `ulong' previously declared here libmysql.c: In function `net_safe_read': libmysql.c:290: warning: passing arg 2 of `signal' from incompatible pointer type libmysql.c: In function `net_field_length_ll': libmysql.c:397: warning: left shift count >= width of type libmysql.c: In function `simple_command': libmysql.c:421: warning: passing arg 2 of `signal' from incompatible pointer type libmysql.c: In function `pipe_sig_handler': libmysql.c:605: warning: passing arg 2 of `signal' from incompatible pointer type libmysql.c: In function `end_server': libmysql.c:622: warning: passing arg 2 of `signal' from incompatible pointer type libmysql.c: In function `mysql_real_connect': libmysql.c:1158: warning: passing arg 2 of `signal' from incompatible pointer type make[4]: *** [libmysql.lo] Error 1 make[4]: Leaving directory `/volumes/v1/users/ddtsbase/ddts_4.6.3/local/src/php/php-4.2.0/ext/mysql/libmysql' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/volumes/v1/users/ddtsbase/ddts_4.6.3/local/src/php/php-4.2.0/ext/mysql/libmysql' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/volumes/v1/users/ddtsbase/ddts_4.6.3/local/src/php/php-4.2.0/ext/mysql' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/volumes/v1/users/ddtsbase/ddts_4.6.3/local/src/php/php-4.2.0/ext' make: *** [all-recursive] Error 1 The configure command I use is: ./configure \ --prefix=/user/ddts/local/php_4.2.0 \ --with-apxs=/user/ddts/local/apache_1.3.24/bin/apxs \ --with-config-file-path=/user/ddts/local/apache_1.3.24/etc \ --enable-ftp \ --enable-yp \ --enable-libgcc \ --with-dbm \ --with-gdbm=/user/ddts/local/gnu \ --with-ndbm The problem turns out to be in this part of global.h: 252: #if defined(__EMX__) || !defined(HAVE_UINT) 253: #undef uint 254: #undef ushort 255: #undef ulong 256: typedef unsigned int uint; 257: typedef unsigned short ushort; 258: typedef unsigned long ulong; 259: #endif If I disable lines 256, 257 and 258, everything compiles like a charm. -- Edit bug report at http://bugs.php.net/?id=16788&edit=1 -- Fixed in CVS: http://bugs.php.net/fix.php?id=16788&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=16788&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=16788&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=16788&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=16788&r=support Expected behavior: http://bugs.php.net/fix.php?id=16788&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=16788&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=16788&r=submittedtwice