ID:               46020
 Comment by:       rkl at connect dot org dot uk
 Reported By:      river at wikimedia dot org
 Status:           Assigned
 Bug Type:         Compile Failure
 Operating System: HP-UX 11.11
 PHP Version:      5.2.6
 Assigned To:      thetaphi
 New Comment:

Just a note that "#ifndef HPUX" is technically the wrong check for
HP-UX when compiling C/C++, it should be:

#ifndef __hpux
..Do non-HP-UX code
#endif

__hpux is defined in all C/C++ compilers (both gcc/g++ and HP's C/C++)
in all releases of HP-UX. So the blame here is with Sun's nsapi.h and
not PHP, but until Sun fix it, -DHPUX is the obvious workaround.


Previous Comments:
------------------------------------------------------------------------

[2008-10-02 17:33:43] theta...@php.net

In my opinion, this is not a bug in PHP, as the compile failure happens
in nsapi.h.
I think you should also ask this question on the SJSWS discussion on
Sun's homepage. Or maybe this is a GCC bug.
In principle, it would be possible to add a compile option to PHP that
is only set on HPUX, but this would not help others to compile other
NSAPI components with GCC. Did you try the HP-UX compiler, does it set
"-DHPUX"?
I have no HP-UX machine, so I cannot test any of your configurations.
Maybe you send me a fragment to detect HP-UX in configure scripts or
what the auto-defines of GCC are for HP-UX.

With this a simple workaround would be to do:

#ifdef GCC_SPECIAL_HPUX_DEFINE
#define HPUX
#endif
include "nsapi.h"

in the nsapi module (I think nsapi.h is used nowhere else in PHP).

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

[2008-10-01 00:49:51] krish dot v at gmail dot com

This happened for my Sun one webserver 6.1 running in HP UX 11.11. I
tried your work around and it worked fine. Thanks for the help.

This is really a useful one.

Krish.

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

[2008-09-08 08:41:04] river at wikimedia dot org

Description:
------------
When compiling --with-nsapi on HP-UX 11.11 using Sun Java System Web
Server 7.0 Update 3, compilation fails inside <nsapi.h> because HPUX is
not #defined.  

A workaround is to build with 'CPPFLAGS=-DHPUX'.  I suggest detecting
HP-UX at compile time and defining HPUX if the NSAPI module is being
built.

Reproduce code:
---------------
I compiled PHP like this:

CPPFLAGS='-I/usr/local/include' LDFLAGS='-L/usr/local/lib
-Wl,+b,/usr/local/mysql/lib:/usr/local/lib' CC=gcc CXX=g++ ./configure
--prefix=/opt/php --with-mysql=/usr/local/mysql --enable-mbstring
--enable-fastcgi --with-nsapi=/opt/webserver7


Expected result:
----------------
I expected PHP to compile.

Actual result:
--------------
PHP didn't compile, with the following error:

In file included from /home/river/php/php-5.2.6/sapi/nsapi/nsapi.c:62:
/opt/webserver7/include/nsapi.h:315:24: error: sys/select.h: No such
file or directory

(This include is wrapped in "#ifndef HPUX", which HP's GCC doesn't
define by default.)


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


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

Reply via email to