php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #7423 XPG4_2 required?!?
Submitted: 2000-10-24 05:49 UTC Modified: 2001-06-01 16:01 UTC
From: lupe at lupe-christoph dot de Assigned:
Status: Closed Package: Sockets related
PHP Version: 4.0.3pl1 OS: Solaris 8 x86
Private report: No CVE-ID: None
 [2000-10-24 05:49 UTC] lupe at lupe-christoph dot de
Even after fixing the variable name 'sun', compiling PHP with --enable-sockets
configured fails on Solaris 8 x86. Most certainly SPARC is also affected.
Early versions of Solaris probably, too.

/bin/sh /sw/WORK/www/php-4.0.3pl1/libtool --silent --mode=compile gcc  -I. -I/sw/WORK/www/php-4.0.3pl1/ext/sockets -I/sw/WORK/www/php-4.0.3pl1 -I/sw/WORK/www/php-4.0.3pl1/main -I/opt/local/i386/apache/include -I/sw/WORK/www/php-4.0.3pl1/Zend -I/sw/WORK/www/php-4.0.3pl1 -I/opt/local/i386/include -I/opt/local/i386/include/freetype -I/opt/local/i386/imap/include -I/opt/local/i386/mysql/include -I/sw/WORK/www/php-4.0.3pl1/ext/xml/expat/xmltok -I/sw/WORK/www/php-4.0.3pl1/ext/xml/expat/xmlparse -I/sw/WORK/www/php-4.0.3pl1/TSRM  -I/opt/local/i386/include/bind -I/opt/local/i386/include -D_POSIX_PTHREAD_SEMANTICS -DEAPI -DXML_BYTE_ORDER=12 -g -O2  -c sockets.c
sockets.c: In function `php_if_recvmsg':
sockets.c:1614: structure has no member named `msg_control'
sockets.c:1615: structure has no member named `msg_controllen'
sockets.c:1617: structure has no member named `msg_control'
sockets.c:1618: structure has no member named `msg_controllen'
sockets.c:1621: structure has no member named `msg_flags'
sockets.c:1627: structure has no member named `msg_control'
sockets.c:1636: warning: passing arg 3 of `add_assoc_string' makes pointer from integer without a cast
sockets.c:1640: structure has no member named `msg_controllen'
sockets.c:1641: structure has no member named `msg_flags'
sockets.c:1673: structure has no member named `msg_control'
sockets.c:1674: structure has no member named `msg_controllen'
sockets.c:1676: structure has no member named `msg_control'
sockets.c:1677: structure has no member named `msg_controllen'
sockets.c:1680: structure has no member named `msg_flags'
sockets.c:1686: structure has no member named `msg_control'
sockets.c:1695: warning: passing arg 3 of `add_assoc_string' makes pointer from integer without a cast
sockets.c:1697: structure has no member named `msg_controllen'
sockets.c:1698: structure has no member named `msg_flags'
*** Error code 1

Looking at /usr/include/sys/socket.h, I see this:

/*
 * Message header for recvmsg and sendmsg calls.
 */
struct msghdr {
        void            *msg_name;              /* optional address */
        socklen_t       msg_namelen;            /* size of address */
        struct iovec    *msg_iov;               /* scatter/gather array */
        int             msg_iovlen;             /* # elements in msg_iov */

#if defined(_XPG4_2) || defined(_KERNEL)
        void            *msg_control;           /* ancillary data */
        socklen_t       msg_controllen;         /* ancillary data buffer len */
        int             msg_flags;              /* flags on received message */
#else
        caddr_t         msg_accrights;  /* access rights sent/received */
        int             msg_accrightslen;
#endif  /* defined(_XPG4_2) || defined(_KERNEL) */
};

Using the requires a non-standard library (-lxnet rather than the usual
-lsocket). The recvmsg(3XNET) does not tell the "canonical" method
of activating the X/Open Networking features.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-10-25 19:03 UTC] chrisv@php.net
Try the latest CVS. I believe the bugs are repaired there.

Chris
 [2000-11-13 10:18 UTC] kir@php.net
status->feedback
 [2000-12-15 19:57 UTC] sniper@php.net
I tested this myself and it doesn't work with latest CVS.

--Jani
 [2001-05-11 21:27 UTC] sniper@php.net
I no longer have access to Solaris machine..please check
if this happens with PHP 4.0.5 / latest CVS.

--Jani

 [2001-06-01 16:01 UTC] sniper@php.net
AFAIK this should be fixed in PHP 4.0.6 / latest CVS.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC