From:             phil dot lello at homecall dot co dot uk
Operating system: cygwin (WinXP)
PHP version:      5.2.1
PHP Bug Type:     Compile Failure
Bug description:  Changes to TSRM cause builds to fail under cygwin

Description:
------------
Build fails under cygwin due to conflicting struct redefinitions.

Note that I have verified 5.2.0 builds correctly from un-modified source.

This issue appears to be due to changes to #ifdef's in TSRM under 5.2.1

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


Expected result:
----------------
php builds

Actual result:
--------------
php doesn't build:
$ make
/bin/sh /home/Administrator/src/php-5.2.1/libtool --silent
--preserve-dup-deps --mode=compile gcc
-I/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src
-DPDO_SQLITE_BUNDLED=1 -DSQLITE_OMIT_CURSOR
-I/home/Administrator/src/php-5.2.1/ext -Iext/pdo_sqlite/
-I/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/ -DPHP_ATOM_INC
-I/home/Administrator/src/php-5.2.1/include
-I/home/Administrator/src/php-5.2.1/main
-I/home/Administrator/src/php-5.2.1 -I/usr/include/libxml2
-I/home/Administrator/src/php-5.2.1/ext/date/lib
-I/home/Administrator/src/php-5.2.1/TSRM
-I/home/Administrator/src/php-5.2.1/Zend    -I/usr/include -g -O2  -c
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c -o
ext/pdo_sqlite/sqlite/src/date.lo 
In file included from
/home/Administrator/src/php-5.2.1/Zend/../TSRM/TSRM.h:23,
                 from
/home/Administrator/src/php-5.2.1/Zend/zend_alloc.h:27,
                 from /home/Administrator/src/php-5.2.1/Zend/zend.h:224,
                 from /home/Administrator/src/php-5.2.1/main/php.h:34,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:24,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/home/Administrator/src/php-5.2.1/Zend/../TSRM/tsrm_config.w32.h:10:20:
crtdbg.h: No such file or directory
In file included from
/home/Administrator/src/php-5.2.1/TSRM/tsrm_virtual_cwd.h:26,
                 from /home/Administrator/src/php-5.2.1/main/php.h:409,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:24,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/home/Administrator/src/php-5.2.1/TSRM/tsrm_config_common.h:4:16: operator
'|' has no right operand
In file included from /home/Administrator/src/php-5.2.1/main/php.h:409,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:24,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/home/Administrator/src/php-5.2.1/TSRM/tsrm_virtual_cwd.h:47:20: direct.h:
No such file or directory
In file included from
/home/Administrator/src/php-5.2.1/TSRM/tsrm_virtual_cwd.h:55,
                 from /home/Administrator/src/php-5.2.1/main/php.h:409,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:24,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:10:1: warning:
"_WIN32_WINNT" redefined
In file included from
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api/windows.h:48,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/os.h:55,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:51:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api/windef.h:20:1:
warning: this is the location of the previous definition
In file included from
/home/Administrator/src/php-5.2.1/TSRM/tsrm_virtual_cwd.h:55,
                 from /home/Administrator/src/php-5.2.1/main/php.h:409,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:24,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:26: error: `_MAX_FNAME'
undeclared here (not in a function)
In file included from /home/Administrator/src/php-5.2.1/main/php.h:409,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:24,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/home/Administrator/src/php-5.2.1/TSRM/tsrm_virtual_cwd.h:58: error:
conflicting types for 'mode_t'
/usr/include/cygwin/types.h:205: error: previous declaration of 'mode_t'
was here
In file included from /usr/include/dirent.h:6,
                 from
/home/Administrator/src/php-5.2.1/main/php_reentrancy.h:28,
                 from
/home/Administrator/src/php-5.2.1/ext/pdo_sqlite/sqlite/src/date.c:57:
/usr/include/sys/dirent.h:21: error: redefinition of `struct dirent'
/usr/include/sys/dirent.h:55: error: conflicting types for 'DIR'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:38: error: previous
declaration of 'DIR' was here
/usr/include/sys/dirent.h:58: error: conflicting types for 'opendir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:41: error: previous
declaration of 'opendir' was here
/usr/include/sys/dirent.h:58: error: conflicting types for 'opendir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:41: error: previous
declaration of 'opendir' was here
/usr/include/sys/dirent.h:59: error: conflicting types for 'readdir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:42: error: previous
declaration of 'readdir' was here
/usr/include/sys/dirent.h:59: error: conflicting types for 'readdir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:42: error: previous
declaration of 'readdir' was here
/usr/include/sys/dirent.h:60: error: conflicting types for 'readdir_r'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:43: error: previous
declaration of 'readdir_r' was here
/usr/include/sys/dirent.h:60: error: conflicting types for 'readdir_r'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:43: error: previous
declaration of 'readdir_r' was here
/usr/include/sys/dirent.h:61: error: conflicting types for 'rewinddir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:45: error: previous
declaration of 'rewinddir' was here
/usr/include/sys/dirent.h:61: error: conflicting types for 'rewinddir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:45: error: previous
declaration of 'rewinddir' was here
/usr/include/sys/dirent.h:62: error: conflicting types for 'closedir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:44: error: previous
declaration of 'closedir' was here
/usr/include/sys/dirent.h:62: error: conflicting types for 'closedir'
/home/Administrator/src/php-5.2.1/TSRM/readdir.h:44: error: previous
declaration of 'closedir' was here
make: *** [ext/pdo_sqlite/sqlite/src/date.lo] Error 1


-- 
Edit bug report at http://bugs.php.net/?id=40488&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=40488&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=40488&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=40488&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=40488&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=40488&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=40488&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=40488&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=40488&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=40488&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=40488&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=40488&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=40488&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=40488&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=40488&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=40488&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=40488&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=40488&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=40488&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=40488&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=40488&r=mysqlcfg

Reply via email to