php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #28193 Compile breaks with error: storage size `obj' isn't known
Submitted: 2004-04-27 22:32 UTC Modified: 2004-04-29 16:20 UTC
From: hakan at lisas dot de Assigned: wez (profile)
Status: Not a bug Package: Compile Failure
PHP Version: 5.0.0RC2 OS: Solaris 9
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: hakan at lisas dot de
New email:
PHP Version: OS:

 

 [2004-04-27 22:32 UTC] hakan at lisas dot de
Description:
------------
./configure                                \
--with-apxs=/usr/local/apache8080/bin/apxs \
--prefix=/usr/local/php5-cvs               \
--enable-track-var                         \
--enable-dio                               \
--enable-memory-limit                      \
--enable-sockets                           \
--with-gd                                  \
--with-jpeg-dir=shared,/usr/local          \
--with-png-dir=shared,/usr/local           \
--with-xpm-dir=shared,/usr/local           \
--with-zlib-dir=shared,/usr                \
--with-freetype-dir=shared,/usr/local      \
--enable-gd-native-ttf                     \
--with-mysql=shared,/usr/local/mysql       \
--with-pgsql=shared,/usr/local/pgsql       \
--enable-dba

make
[...]
make fails with:
http://nopaste.php.cd/13818

My box:
uname -a:
SunOS bwsx010 5.9 Generic_112233-12 sun4u sparc SUNW,Ultra-5_10 Solaris

gcc --version:
gcc (GCC) 3.3.2

flex --version
flex version 2.5.4

autoconf --version
Autoconf version 2.13

automake --version
automake (GNU automake) 1.5

libtool --version
ltmain.sh (GNU libtool) 1.4.3 (1.922.2.110 2002/10/23 01:39:54)

PHP 4.3.6, PHP 5 RC2RC1, Apache, MySQL, PostgreSQL, LaTeX, CVS builds on this machine.
PHP CVS HEAD and PHP 5 RC2 builds not.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-04-27 23:04 UTC] wez@php.net
As a workaround, reverse this patch:
http://cvs.php.net/diff.php/php-src/ext/standard/proc_open.c?r1=1.20&r2=1.21&ty=u

It would be great if you could do some digging to find out
what magic defines are needed to get it to build under Solaris with Unix98 pty support; linux requires these:

+#define _XOPEN_SOURCE
+#define _BSD_SOURCE

 [2004-04-27 23:52 UTC] hakan at lisas dot de
The actuall HEAD with ext/standard/proc_open.c 1.20 (not 1.21) does compile.

I have no clue about the pty support on Solaris. Some things are defined in /usr/include/fcntl.h 

and http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00578.html
says:
AC_DEFINE(_XOPEN_SOURCE, 1, [Always define this])

But I even don't know for what pty-support should be good for :)

bye Hakan
 [2004-04-28 00:03 UTC] wez@php.net
What breaks when building with rev 1.20 of that file?
 [2004-04-28 00:12 UTC] hakan at lisas dot de
with rev 1.20 of ext/standard/proc_open.c it builds just fine. rev 1.21 breaks the build like stated.
 [2004-04-28 09:38 UTC] wez@php.net
Ah, I misread your comment.
I'll look into fixing this as soon as I am able.
If someone who actually has a Solaris 9 box wants to take a look, a patch would be welcome--it's almost certainly a trivial fix if you know what to define.
 [2004-04-28 22:54 UTC] pds+php at alloy dot net
In ext/standard/proc_open.c, adding the following lines before #define
_XOPEN_SOURCE and #define _BSD_SOURCE gets around this compile problem:

#include <fcntl.h>
#include <sys/termios.h>
 [2004-04-29 03:32 UTC] djpenton at cs dot mu dot oz dot au
For some reason these:
#include <fcntl.h>
#include <sys/termios.h>

have to be before these:
#define _XOPEN_SOURCE and 
#define _BSD_SOURCE gets around this compile problem:

A quick skim of the source of fcntl & termios show that they check for XOPEN... Haven't got time to see what they do with it.

Cheers,
Dave
 [2004-04-29 16:20 UTC] wez@php.net
This is a duplicate of Bug #28157; please look there instead. (Not yet resolved, but will be soon).
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat Jul 12 11:01:32 2025 UTC