From:             eugene at zhegan dot in
Operating system: Solaris
PHP version:      5.5.1
Package:          Compile Failure
Bug Type:         Bug
Bug description:php fails to build on Solaris with --enable-sockets

Description:
------------
php fails to build on Solaris (10 and 11) with --enable-sockets:

[...]
/bin/sh /home/emz/src/php-5.5.1/libtool --silent --preserve-dup-deps --
mode=compile gcc  -Iext/sockets/ -I/home/emz/src/php-5.5.1/ext/sockets/ -
DPHP_ATOM_INC -I/home/emz/src/php-5.5.1/include
-I/home/emz/src/php-5.5.1/main -
I/home/emz/src/php-5.5.1 -I/home/emz/src/php-5.5.1/ext/date/lib -
I/home/emz/src/php-5.5.1/ext/ereg/regex -I/usr/include/libxml2 -
I/usr/local/openssl/include -I/usr/local/curl/include -
I/usr/local/libpng/include -I/usr/include/freetype2 -I/usr/local/c-
client/include -I/home/emz/src/php-5.5.1/ext/mbstring/oniguruma -
I/home/emz/src/php-5.5.1/ext/mbstring/libmbfl -I/home/emz/src/php-
5.5.1/ext/mbstring/libmbfl/mbfl -I/usr/local/libmcrypt/include -
I/usr/local/mysql/include -I/opt/oracle/orahome/rdbms/public -
I/opt/oracle/orahome/rdbms/demo
-I/home/emz/src/php-5.5.1/ext/sqlite3/libsqlite 
-I/home/emz/src/php-5.5.1/TSRM -I/home/emz/src/php-5.5.1/Zend  -
D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -m64 -O
-I/usr/local/mysql/include -
I/usr/local/openssl/include -I/usr/local/curl/include -I/usr/local/c-
client/include -I/usr/local/libpng/include -fvisibility=hidden  -c 
/home/emz/src/php-5.5.1/ext/sockets/conversions.c -o
ext/sockets/conversions.lo 
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘from_zval_write_control’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:923:35: warning: cast to

pointer from integer of different size
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘from_zval_write_control_array’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:973:8: error: ‘struct
msghdr’ 
has no member named ‘msg_control’
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:974:8: error: ‘struct
msghdr’ 
has no member named ‘msg_controllen’
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘to_zval_read_cmsg_data’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1003:18: warning: cast to

pointer from integer of different size
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘to_zval_read_control_array’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1037:12: warning:
assignment 
makes pointer from integer without a cast
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1039:9: warning:
assignment 
makes pointer from integer without a cast
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘from_zval_write_controllen’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1146:8: error: ‘struct
msghdr’ 
has no member named ‘msg_control’
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1147:8: error: ‘struct
msghdr’ 
has no member named ‘msg_controllen’
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘to_zval_read_msghdr’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1248:34: error: ‘struct

msghdr’ has no member named ‘msg_flags’
/home/emz/src/php-5.5.1/ext/sockets/conversions.c: In function 
‘to_zval_read_fd_array’:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c:1427:16: warning: cast to

pointer from integer of different size
gmake: *** [ext/sockets/conversions.lo] Error 1

This is caused by the lack of CFLAGS.
This can be easily fixed by the following actions:

- after running configure Makefile should be modified in the followong
way:
-- this line should be added in Makefile: 

CFLAGS_SOCKETS = -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED

-- the lines mentioning ext/sockets should be modified as follows (the
variable 
above should be added into the compilation directive):

ext/sockets/sockets.lo: /home/emz/src/php-5.5.1/ext/sockets/sockets.c
        $(LIBTOOL) --mode=compile $(CC)  -Iext/sockets/
-I/home/emz/src/php-
5.5.1/ext/sockets/ $(COMMON_FLAGS) $(CFLAGS_SOCKETS) $(CFLAGS_CLEAN) 
$(EXTRA_CFLAGS) -c /home/emz/src/php-5.5.1/ext/sockets/sockets.c -o 
ext/sockets/sockets.lo
ext/sockets/multicast.lo: /home/emz/src/php-5.5.1/ext/sockets/multicast.c
        $(LIBTOOL) --mode=compile $(CC)  -Iext/sockets/
-I/home/emz/src/php-
5.5.1/ext/sockets/ $(COMMON_FLAGS) $(CFLAGS_SOCKETS) $(CFLAGS_CLEAN) 
$(EXTRA_CFLAGS) -c /home/emz/src/php-5.5.1/ext/sockets/multicast.c -o 
ext/sockets/multicast.lo
ext/sockets/conversions.lo:
/home/emz/src/php-5.5.1/ext/sockets/conversions.c
        $(LIBTOOL) --mode=compile $(CC)  -Iext/sockets/
-I/home/emz/src/php-
5.5.1/ext/sockets/ $(COMMON_FLAGS) $(CFLAGS_SOCKETS) $(CFLAGS_CLEAN) 
$(EXTRA_CFLAGS) -c /home/emz/src/php-5.5.1/ext/sockets/conversions.c -o 
ext/sockets/conversions.lo
ext/sockets/sockaddr_conv.lo: /home/emz/src/php-
5.5.1/ext/sockets/sockaddr_conv.c
        $(LIBTOOL) --mode=compile $(CC)  -Iext/sockets/
-I/home/emz/src/php-
5.5.1/ext/sockets/ $(COMMON_FLAGS) $(CFLAGS_SOCKETS) $(CFLAGS_CLEAN) 
$(EXTRA_CFLAGS) -c /home/emz/src/php5.5.1/ext/sockets/sockaddr_conv.c -o 
ext/sockets/sockaddr_conv.lo
ext/sockets/sendrecvmsg.lo:
/home/emz/src/php-5.5.1/ext/sockets/sendrecvmsg.c
        $(LIBTOOL) --mode=compile $(CC)  -Iext/sockets/
-I/home/emz/src/php-
5.5.1/ext/sockets/ $(COMMON_FLAGS) $(CFLAGS_SOCKETS) $(CFLAGS_CLEAN) 
$(EXTRA_CFLAGS) -c /home/emz/src/php-5.5.1/ext/sockets/sendrecvmsg.c -o 
ext/sockets/sendrecvmsg.lo

With these alterations done, php can be built on Solaris (10 and 11) with
--
enable sockets.

Adding new flags globally doesn't help, it's even making it worse, because
with 
these CFLAGS being declared globally the compilation process fails around 
ext/hash/hash_ripemd.c (at least).


-- 
Edit bug report at https://bugs.php.net/bug.php?id=65427&edit=1
-- 
Try a snapshot (PHP 5.4):   
https://bugs.php.net/fix.php?id=65427&r=trysnapshot54
Try a snapshot (PHP 5.3):   
https://bugs.php.net/fix.php?id=65427&r=trysnapshot53
Try a snapshot (trunk):     
https://bugs.php.net/fix.php?id=65427&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=65427&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=65427&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=65427&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=65427&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=65427&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=65427&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=65427&r=notwrong
Not enough info:            
https://bugs.php.net/fix.php?id=65427&r=notenoughinfo
Submitted twice:            
https://bugs.php.net/fix.php?id=65427&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=65427&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=65427&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=65427&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=65427&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=65427&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=65427&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=65427&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=65427&r=mysqlcfg

Reply via email to