ID:               16351
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Feedback
 Bug Type:         *Configuration Issues
 Operating System: Solaris 8
 PHP Version:      4.1.2
 New Comment:

With your data I created totofoo.c and the compile fails 
when I remove

#include <netinet/in.h>

and only with this remove

// Inside limits.h line 112, here is the section 

#ifdef _GCC_NEXT_LIMITS_H
#include_next <limits.h>  /* recurse down to 
the real one */
#endif

Nothing about POSIX_SOURCE ANSI_SOURCE in this file

About limits I've also a limits.h file in :
/usr/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/include/limits.h

Thanks for your help.

Marcel


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

[2002-04-02 04:32:32] [EMAIL PROTECTED]

Ok. You don't have the resolv.h problem anymore, so ignore the warning,
on the pre-compile issue.

Just to see, whether this will at all work at solaris, could you try to
save this to a file:
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
#include <netdb.h>

int
main ()
{

const char host[7]="php.net";
u_char ans[1024];
int r;
res_init();
/* Capture result in r but return 0, since a working nameserver is
 * not a requirement for compilation.
 */
r =  res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans));
return 0;
res_close();

  ;
  return 0;
}

And compile it as:
gcc -o name name.c -lsocket -lresolv -lnsl

then strip of a lib and try again till it fails.

On the limits.h issue:
usually it includes a system specific limits file, like
machine/limits.h or sys/limits.h.

The gcc installation didn't really pick this up very well, looking at
that include chain.

Could you post the section around line 112 in limits.h?
Can you tell if POSIX_SOURCE/ANSI_SOURCE should be defined/not defined
somewhere to skip that include?

By the way: I had the same problem with the wchar.h file on a BSDi
system and my own gcc installation. I simply renamed the original
wchar.h to get rid of it - not a nice thing to do, but it works :-) -
with limits.h I'd be more careful though.

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

[2002-04-02 03:42:11] [EMAIL PROTECTED]

I've done ./cvsclean, I've re-run ./buildconf, and I do make clean when
necessary
So after your message  I flollow the complete process

I give you here again  The different warning messages :

For ./buildconf =>
 ./buildconf
buildconf: checking installation...
buildconf: autoconf version 2.53 (ok)
buildconf: automake version 1.4 (ok)
buildconf: libtool version 1.4 (ok)
rebuilding Makefile templates
automake: configure.in: installing `Zend/ylwrap'
rebuilding configure
rebuilding acconfig.h
rebuilding main/php_config.h.in
WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot'
WARNING: and `config.h.top', to define templates for `config.h.in'
WARNING: is deprecated and discouraged.

WARNING: Using the third argument of `AC_DEFINE' and
WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without
WARNING: `acconfig.h':

WARNING:   AC_DEFINE([NEED_MAIN], 1,
WARNING:             [Define if a function `main' is needed.])

WARNING: More sophisticated templates can also be produced, see the
WARNING: documentation.
autoheader: `main/php_config.h.in' is created

For the make I've =>

/bin/bash ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../main   -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS2=280 -I../TSRM  -g
-O2 -prefer-pic -c zend_qsort.c
In file included from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/limits.h:117,
                 from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/syslimits.h:7,
                 from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/limits.h:11,
                 from zend_qsort.c:21:
/usr/include/limits.h:112: No include path in which to find limits.h
make[1]: *** [zend_qsort.lo] Error 1
make[1]: Leaving directory `/opt/xtra_targz/php420/Zend'
make: *** [all-recursive] Error 1


About the last suggestion :=> Could you list which headers and in which
order are specified in `man
res_search'? here  is the answer :

Resolver Library Functions                      resolver(3RESOLV)

NAME
     resolver, res_ninit, fp_resstat, res_npquery, res_hostalias,
     res_nquery,   res_nsearch,  res_nquerydomain,  res_nmkquery,
     res_nsend, res_nclose, res_nsendsigned, dn_comp,  dn_expand,
     hstrerror,  res_init,  res_query,  res_search,  res_mkquery,
     res_send, herror,  - resolver routines

SYNOPSIS
  BIND 8.2.2 Interfaces
     cc [ flag ... ] file ... -lresolv  -lsocket  -lnsl [ library ...
]
     #include <sys/types.h>
     #include <netinet/in.h>
     #include <arpa/nameser.h>
     #include <resolv.h>
     #include <netdb.h>

Is that enough ?

Hreat thank for you help

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

[2002-04-02 03:08:05] [EMAIL PROTECTED]

Could you list which headers and in which order are specified in `man
res_search'?

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

[2002-04-01 16:21:49] [EMAIL PROTECTED]

Did you do 'make clean' and reconfigure after you upgraded
gcc ? Or try './cvsclean ; ./buildconf' as this seems more like a
problem in your system than in PHP.


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

[2002-04-01 13:32:19] [EMAIL PROTECTED]

After a re-install of flex and gcc 2.95.3 on SUN-SOLARIS I have now the
following failures.

During the CONFIGURE I've the follwing warning 

configure: WARNING: resolv.h: present but cannot be compiled
configure: WARNING: resolv.h: present but cannot be compiled
configure: WARNING: resolv.h: check for missing prerequisite headers?
configure: WARNING: resolv.h: proceeding with the preprocessor's
result

checking unix.h usability... no
checking unix.h presence... no

checking whether to enable mailparse support... no
checking whether to enable multibyte string support... no
checking whether to enable japanese encoding translation... no
checking whether to enable multibyte regex support... no

checking for limits.h... (cached) no

Fail message from MAKE =>

make[1]: Entering directory `/opt/xtra_targz/php420/Zend'
/bin/bash ../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../main   -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS2=280 -I../TSRM  -g
-O2 -prefer-pic -c zend_qsort.c
In file included from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/limits.h:117,
                 from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/syslimits.h:7,
                 from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/limits.h:11,
                 from zend_qsort.c:21:
/usr/include/limits.h:112: No include path in which to find limits.h
make[1]: *** [zend_qsort.lo] Error 1
make[1]: Leaving directory `/opt/xtra_targz/php420/Zend'
make: *** [all-recursive] Error 1

About the limits.h it is an include_next which fails... More I'm a
little bit surprised about the include path
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/ , because I
have installed gcc-2.95.3 with pakgadd... not 2.95.2

Now I'm lost, have somebody an idea ! 

Thanks for your help

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

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
    http://bugs.php.net/16351

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

Reply via email to