php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #13666 --enable-sockets fails to compile
Submitted: 2001-10-14 15:18 UTC Modified: 2002-07-09 17:29 UTC
From: bonnej at prairie dot lakes dot com Assigned:
Status: Not a bug Package: Sockets related
PHP Version: 4.0.6 OS: linux mips glibc2 cobalt raq
Private report: No CVE-ID: None
 [2001-10-14 15:18 UTC] bonnej at prairie dot lakes dot com
configed with --with-apxs --enable-sockets

Making all in sockets
make[2]: Entering directory `/usr/src/php-4.0.6/ext/sockets'
make[3]: Entering directory `/usr/src/php-4.0.6/ext/sockets'
/bin/sh /usr/src/php-4.0.6/libtool --silent --mode=compile gcc  -I. -I/usr/src/php-4.0.6/ext/sockets -I/usr/src/php-4.0.6/main -I/usr/src/php-4.0.6 -I/usr/include/apache -I/usr/src/php-4.0.6/Zend -I/usr/src/php-4.0.6/ext/mysql/libmysql -I/usr/src/php-4.0.6/ext/xml/expat/xmltok -I/usr/src/php-4.0.6/ext/xml/expat/xmlparse -I/usr/src/php-4.0.6/TSRM  -DCOBALT_RAQ_LED -DLINUX=2 -DSUPPORT_UTF8 -DXML_BYTE_ORDER=12 -g -O2  -c sockets.c
sockets.c: In function `php_minit_sockets':
sockets.c:233: `SO_SNDLOWAT' undeclared (first use this function)
sockets.c:233: (Each undeclared identifier is reported only once
sockets.c:233: for each function it appears in.)
sockets.c:234: `SO_RCVLOWAT' undeclared (first use this function)
sockets.c:235: `SO_SNDTIMEO' undeclared (first use this function)
sockets.c:236: `SO_RCVTIMEO' undeclared (first use this function)
make[3]: *** [sockets.lo] Error 1
make[3]: Leaving directory `/usr/src/php-4.0.6/ext/sockets'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/php-4.0.6/ext/sockets'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/php-4.0.6/ext'
make: *** [all-recursive] Error 1

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-10-23 10:57 UTC] sniper@php.net
Does this happen with latest CVS snapshot from http://snaps.php.net/ ?


 [2001-10-23 17:50 UTC] bonnej at prairie dot lakes dot com
yep :

/bin/sh /usr/src/php4-200110231200/libtool --silent --mode=compile gcc  -I. -I/usr/src/php4-200110231200/ext/sockets -I/usr/src/php4-200110231200/main -I/usr/src/php4-200110231200 -I/usr/include/apache -I/usr/src/php4-200110231200/Zend -I/usr/src/php4-200110231200/ext/xml/expat  -DCOBALT_RAQ_LED -DLINUX=2 -I/usr/src/php4-200110231200/TSRM -g -O2 -prefer-pic  -c sockets.c
sockets.c: In function `zm_startup_sockets':
sockets.c:361: `SO_SNDLOWAT' undeclared (first use this function)
sockets.c:361: (Each undeclared identifier is reported only once
sockets.c:361: for each function it appears in.)
sockets.c:362: `SO_RCVLOWAT' undeclared (first use this function)
sockets.c:363: `SO_SNDTIMEO' undeclared (first use this function)
sockets.c:364: `SO_RCVTIMEO' undeclared (first use this function)
make[3]: *** [sockets.lo] Error 1
make[3]: Leaving directory `/usr/src/php4-200110231200/ext/sockets'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/php4-200110231200/ext/sockets'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/php4-200110231200/ext'
make: *** [all-recursive] Error 1

 [2001-11-21 07:04 UTC] mfischer@php.net
Ok, I probably don't have to ask if it works about current CVS or RC. SO_SNDLOWAT and friends are still in ext/socket.

Anyway, cany ou grep your system header files if the constants SO_SNDLOWAT , SO_RCVLOWAT , SO_SNDTIMEO and SO_RCVTIMEO are defined somewhere?

The 'should' be in /usr/include/asm/socket.h, the linux kernel defines them in

include/asm-i386/socket.h:#define SO_SNDLOWAT   19
include/asm-mips/socket.h:#define SO_SNDLOWAT   0x1003

Maybe it's a problem with your header files?

If you find anything, please also try latest RC

http://www.php.net/~zeev/php-4.1.0RC3.tar.gz

Feedback.
 [2001-11-21 16:33 UTC] bonnej at prairie dot lakes dot com
well, maybe its because im using an older kernel...
 2.0.34C52_SK

the constants were not found in socket.h, but heres a dump of what is :

#ifndef __ASM_MIPS_SOCKET_H
#define __ASM_MIPS_SOCKET_H

#include <asm/sockios.h>

/*
 * For setsockoptions(2)
 *
 * This defines are ABI conformant as far as Linux supports these ...
 */
#define SOL_SOCKET      0xffff

#define SO_DEBUG        0x0001  /* Record debugging information.  */
#define SO_REUSEADDR    0x0004  /* Allow reuse of local addresses.  */
#define SO_KEEPALIVE    0x0008  /* Keep connections alive and send
                                   SIGPIPE when they die.  */
#define SO_DONTROUTE    0x0010  /* Don't do local routing.  */
#define SO_BROADCAST    0x0020  /* Allow transmission of
                                   broadcast messages.  */
#define SO_LINGER       0x0080  /* Block on close of a reliable
                                   socket to transmit pending data.  */
#define SO_OOBINLINE 0x0100     /* Receive out-of-band data in-band.  */
#if 0
To add: #define SO_REUSEPORT 0x0200     /* Allow local address and port reuse.  */
#endif

#define SO_TYPE         0x1008  /* Compatible name for SO_STYLE.  */
#define SO_STYLE        SO_TYPE /* Synonym */
#define SO_ERROR        0x1007  /* get error status and clear */
#define SO_SNDBUF       0x1001  /* Send buffer size. */
#define SO_RCVBUF       0x1002  /* Receive buffer. */

/* linux-specific, might as well be the same as on i386 */
#define SO_NO_CHECK     11
#define SO_PRIORITY     12
#define SO_BSDCOMPAT    14

#define SO_BINDTODEVICE 25

/* Types of sockets.  */
#define SOCK_DGRAM 1            /* Connectionless, unreliable datagrams
                                   of fixed maximum length.  */
#define SOCK_STREAM 2           /* Sequenced, reliable, connection-based
                                   byte streams.  */
#define SOCK_RAW 3              /* Raw protocol interface.  */
#define SOCK_RDM 4              /* Reliably-delivered messages.  */
#define SOCK_SEQPACKET 5        /* Sequenced, reliable, connection-based,
                         #define SOCK_PACKET 10          /* Linux specific way of getting packets at
                                   the dev level.  For writing rarp and
                                   other similar things on the user level.  */

#endif /* __ASM_MIPS_SOCKET_H */
          datagrams of fixed maximum length.  */

i dont think trying the lastes RC would help seeing as i dont think those constants are defined anywhere, would you be able to define them for yourself if they are not already defined?

ill try the lastest RC anyway, for the sake of completeness... 
 [2002-07-09 17:29 UTC] sniper@php.net
Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP -- 
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Apr 20 09:01:28 2024 UTC