ID:               50556
 User updated by:  david at davidfavor dot com
 Reported By:      david at davidfavor dot com
 Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: Ubuntu 9.10
 PHP Version:      5.3.1
 New Comment:

Bizarre.

Some combination of package installations created symlinks from
/bin/egrep to /bin/grep, so all egrep regular expressions were failing
in configure.

No clue how to check for this.

Doing 'apt-get --reinstall install grep' fixed the problem.

Close this bug.


Previous Comments:
------------------------------------------------------------------------

[2009-12-22 22:29:01] david at davidfavor dot com

It appears this is a configure problem.

On the broken machine size_t is missed...

r...@hive1:# grep size_t configure.log 
checking size of size_t... 4
checking size of ssize_t... 4
checking for size_t... no
checking for size_t... (cached) no

On the working machine...

r...@hive2:# grep size_t configure.log 
checking size of size_t... 4
checking size of ssize_t... 4
checking for size_t... yes
checking for size_t... (cached) yes

------------------------------------------------------------------------

[2009-12-22 22:23:52] johan...@php.net

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

The output depends on the libraries, environment variables the system
(for instance 32 vs 64 bit, x86 vs. sparc, ...) so the output can be
different easily....

For learning how to debug it learn about autoconf and automake.

------------------------------------------------------------------------

[2009-12-22 22:21:37] david at davidfavor dot com

One example of this is...

/* Define to `unsigned' if <sys/types.h> doesn't define.  */    /*
Define to `unsigned' if <sys/types.h> doesn't define.  */
/* #undef size_t */                                           | #define
size_t unsigned

The machine with #define size_t unsigned fails compiles with...

/bin/sh /build/work/php-5.3.1/libtool --silent --preserve-dup-deps
--mode=compile gcc -Iext/date/lib -Iext/date/
-I/build/work/php-5.3.1/ext/date/ -DPHP_ATOM_INC
-I/build/work/php-5.3.1/include -I/build/work/php-5.3.1/main
-I/build/work/php-5.3.1 -I/build/work/php-5.3.1/ext/date/lib
-I/build/work/php-5.3.1/ext/ereg/regex -I/usr/include/libxml2
-I/build/work/php-5.3.1/ext/sqlite3/libsqlite
-I/build/work/php-5.3.1/TSRM -I/build/work/php-5.3.1/Zend   
-I/usr/include -g -O2 -fvisibility=hidden  -c
/build/work/php-5.3.1/ext/date/php_date.c -o ext/date/php_date.lo 
In file included from /usr/include/stdlib.h:33,
                 from
/build/work/php-5.3.1/include/../main/php_config.h:2845,
                 from /build/work/php-5.3.1/Zend/zend_config.h:1,
                 from /build/work/php-5.3.1/Zend/zend.h:51,
                 from /build/work/php-5.3.1/main/php.h:34,
                 from /build/work/php-5.3.1/ext/date/php_date.c:21:
/usr/lib/gcc/i486-linux-gnu/4.4.1/include/stddef.h:211: error:
duplicate 'unsigned'
In file included from /usr/include/stdlib.h:320,
                 from
/build/work/php-5.3.1/include/../main/php_config.h:2845,
                 from /build/work/php-5.3.1/Zend/zend_config.h:1,
                 from /build/work/php-5.3.1/Zend/zend.h:51,
                 from /build/work/php-5.3.1/main/php.h:34,
                 from /build/work/php-5.3.1/ext/date/php_date.c:21:
/usr/include/sys/types.h:151: error: duplicate 'unsigned'
/usr/include/sys/types.h:153: error: duplicate 'unsigned'
/usr/include/sys/types.h:153: error: two or more data types in
declaration specifiers
make: *** [ext/date/php_date.lo] Error 1

And... maybe ./configure is picking this up wrong somehow so the
autoheader process simply passes this along when php_config.h is
created.

------------------------------------------------------------------------

[2009-12-22 22:13:22] david at davidfavor dot com

I've reported this as a bug, rather than sending through the support
mailing list because once this cause is determined, it's best guarded
against as this problem is extremely difficult to debug.

------------------------------------------------------------------------

[2009-12-22 22:09:57] david at davidfavor dot com

Description:
------------
configure process generates different php_config.h files on different
Ubuntu machines with identical packages installed (per dpkg -l).

I've tried to decipher the ./configure process and have yet to figure
it out.

What I require is a php build guru to explain how to manually generate
php_config.h from php_config.h.in to debug what's occurring.

Thanks.

Reproduce code:
---------------
./configure && make



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=50556&edit=1

Reply via email to