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