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

Reply via email to