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:
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 Hmm, seems like recursive recursion. My guess is, that /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/include/limits.h:117, has the exact same line? Since this all depends on gcc symbols I think you need to report the issue to the gcc list - nothing PHP can do about it. As a work-around you might comment out the lines around line 117 in the file mentioned above. About resolv.h: If you could omit the -lnsl/-lresolv/-lsocket statements during compilation one by one, then we can safely assume that the resolver functions will be available to you (affecting getmxrr and checkdnsrr). The headers are correct - just -lnsl isn't used in testing, so that could be a problem. Previous Comments: ------------------------------------------------------------------------ [2002-04-02 05:10:09] [EMAIL PROTECTED] 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 ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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