#39210 [Bgs->Opn]: compilation fails because of vararg.h usage
| From: | tiosancho at hotmail dot com | Date: | Fri, 20 Oct 2006 13:21:31 +0000 |
| Subject: | #39210 [Bgs->Opn]: compilation fails because of vararg.h usage | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-103792@lists.php.net to get a copy of this message | ||
ID: 39210
User updated by: tiosancho at hotmail dot com
Reported By: tiosancho at hotmail dot com
-Status: Bogus
+Status: Open
Bug Type: Compile Failure
Operating System: Mac OS 10.4.8 PowerPC
PHP Version: 5.1.6
New Comment:
How are redundant definitions the fault of two OSs' development tools,
on different platforms?
Previous Comments:
------------------------------------------------------------------------
[2006-10-20 13:19:46] tiosancho at hotmail dot com
There are some conflicting definitions in onigurama files: onigurama.h
and regint.h. If you comment them out, PHP will build. I don't know
what the repercussions are, because the installation is now failing.
Also, I see where some people have dismissed this as an Xcode problem,
but people are also reporting it on Linux.
------------------------------------------------------------------------
[2006-10-20 13:13:48] tony2001@php.net
Duplicate of bug #38452.
------------------------------------------------------------------------
[2006-10-20 12:52:17] tiosancho at hotmail dot com
Description:
------------
Compiling fails under Mac OS 10.4.8 with current development tools
installed. The failure message is ""GCC no longer implements
<varargs.h>"". It's used in regerror.c.
The code does contain a preprocessor directive that attempts to switch
between varargs.h and stdargs.h, but the necessary value isn't defined
and therefore the older syntax is used.
This bug is the same as 34977, which was closed.
I manually deleted the offending code, but that caused a slew of errors
like
/Users/gavin/Desktop/PHP/php-5.1.6/ext/mbstring/oniguruma/regerror.c:186:
error: conflicting types for 'onig_error_code_to_str'
/Users/gavin/Desktop/PHP/php-5.1.6/ext/mbstring/oniguruma/regerror.c:186:
note: a parameter list with an ellipsis can't match an empty parameter
name list declaration
Reproduce code:
---------------
Here were the config options I used:
./configure --prefix=/Library/PHP5 --mandir=/usr/share/man
--infodir=/usr/share/info --sysconfdir=/etc --with-zlib --with-xml
--with-zlib-dir=/usr --with-openssl --enable-exif --enable-ftp
--enable-mbstring --enable-mbregex --enable-sockets
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-apxs=/usr/sbin/apxs
I tried defining the macro to trigger the use of stdarg.h, which is
HAVE_STDARG_PROTOTYPES. This caused the same result as mentioned
above:
error: conflicting types for 'onig_error_code_to_str'
/Users/gavin/Desktop/PHP/php-5.1.6/ext/mbstring/oniguruma/regerror.c:186:
note: a parameter list with an ellipsis can't match an empty parameter
name list declaration
Expected result:
----------------
Successful compilation.
Actual result:
--------------
Broken project.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39210&edit=1