Bug #66013 [Com]: Solaris build failure with 5.5

From: Date: Fri, 17 Jul 2015 19:02:55 +0000
Subject: Bug #66013 [Com]: Solaris build failure with 5.5
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-194520@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=66013&edit=1

 ID:                 66013
 Comment by:         g dot fischer at ah-consulting dot net
 Reported by:        Pete_Wall at symantec dot com
 Summary:            Solaris build failure with 5.5
 Status:             Assigned
 Type:               Bug
 Package:            Compile Failure
 Operating System:   Solaris 10 (x86 and SPARC)
 PHP Version:        5.5.5
 Assigned To:        cataphract
 Block user comment: N
 Private report:     N

 New Comment:

this is still present in 5.6.11, solaris 11.2, sunpro 5.12.
5.3.x and 5.4.x are fine so it seems it was re-introduced in 5.5.x.
also see https://bugs.php.net/bug.php?id=8468 for
historical reasons.


Previous Comments:
------------------------------------------------------------------------
[2014-02-06 18:07:38] alp at rsu dot ru

One more workaround, which we use in OpenIndiana /hipster:
https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/php-5_5/patches/ext_socket_config.m4.patch

------------------------------------------------------------------------
[2014-01-27 19:28:39] rainer dot jung at kippdata dot de

My workaround is adding

#define _XOPEN_SOURCE 500
#define _XOPEN_SOURCE_EXTENDED 1
#define __EXTENSIONS__

at the top of the files ext/sockets/conversions.c and ext/sockets/sendrecvmsg.c.

------------------------------------------------------------------------
[2014-01-16 13:26:03] christian dot lachner at gmail dot com

On Solaris 5.11, the problem's source is in /usr/include/sys/socket.h where the struct
'msghdr' is declared. The missing two elements '*msg_control' and
'msg_controllen' are IFDEFed out and can only be enabled by setting __lint, _XPG4_2 or
_KERNEL. However, neither of these three values is set by the configure-script.

As a result, using export EXTRA_CFLAGS="-D__lint" makes socket.so as well as the rest of
php build fine. Don't use EXTRA_CFLAGS="-D_XPG4_2" as it probably breaks other stuff.

Dunno about older Solaris releases though.

------------------------------------------------------------------------
[2014-01-10 17:48:22] meths at btinternet dot com

Still happens with 5.5.7 on SmartOS so is probably affecting all illumos and Solaris based systems.

Also duplicate of https://bugs.php.net/bug.php?id=65427 although the
comment in this bug suggests the workaround in that bug is incorrect.

------------------------------------------------------------------------
[2013-11-29 17:09:01] rob dot de dot langhe at twistfare dot be

And it also happens on (true) Solaris-10 compiling PHP 5.5.6 on SPARC :

/bin/bash /our_base_dir/src/php-5.5.6/libtool --silent --preserve-dup-deps --mode=compile
/our_base_dir/bin/gcc  -Iext/sockets/ -I/our_base_dir/src/php-5.5.6/ext/sockets/ -DPHP_ATOM_INC
-I/our_base_dir/src/php-5.5.6/include -I/our_base_dir/src/php-5.5.6/main
-I/our_base_dir/src/php-5.5.6 -I/our_base_dir/src/php-5.5.6/ext/date/lib
-I/our_base_dir/src/php-5.5.6/ext/ereg/regex -I/usr/include/libxml2 -I/our_base_dir/include
-I/our_base_dir/src/php-5.5.6/ext/sqlite3/libsqlite -I/our_base_dir/src/php-5.5.6/TSRM
-I/our_base_dir/src/php-5.5.6/Zend  -D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS
-D_REENTRANT  -m32 -I/our_base_dir/include -fvisibility=hidden -DZTS  -c
/our_base_dir/src/php-5.5.6/ext/sockets/sockaddr_conv.c -o ext/sockets/sockaddr_conv.lo
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c: In function
'from_zval_write_control_array':
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:973:8: error: 'struct msghdr' has no
member named 'msg_control'
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:974:8: error: 'struct msghdr' has no
member named 'msg_controllen'
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c: In function
'to_zval_read_control_array':
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:1037:12: warning: assignment makes pointer
from integer without a cast [enabled by default]
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:1039:9: warning: assignment makes pointer from
integer without a cast [enabled by default]
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c: In function
'from_zval_write_controllen':
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:1146:8: error: 'struct msghdr' has
no member named 'msg_control'
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:1147:8: error: 'struct msghdr' has
no member named 'msg_controllen'
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c: In function 'to_zval_read_msghdr':
/our_base_dir/src/php-5.5.6/ext/sockets/conversions.c:1248:34: error: 'struct msghdr' has
no member named 'msg_flags'

The flags used :
./configure --with-apxs2=/our_base_dir/bin/apxs --with-config-file-path=/our_base_dir/etc
--prefix=/our_base_dir --with-gd=/our_base_dir --with-png-dir=/our_base_dir --with-xpm-dir=no
--disable-phar --enable-sockets --with-zlib --without-pear --without-iconv

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


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=66013


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


Thread (18 messages)

« previous php.bugs (#194520) next »