[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: limits.h



--begin quoted message from Alexey, 
> While trying to compile something I get the error message:
> 
> *******************************************************************
> 
> In file included from /usr/include/bits/socket.h:31,
>                  from /usr/include/netinet/in.h:212,
>                  from /usr/include/netdb.h:28,
>                  from pam_access.c:48:
> /usr/include/limits.h:124: No include path in which to find limits.h
> make[2]: *** [dynamic/pam_access.o] Error 1
> make[1]: *** [all] Error 1
> make: *** [modules] Error 2
> 
> *******************************************************************
> 
> Of course, it's not a PAM source bug, because I get the same message
> during the other compilation processes. The 124th line of limits.h is:
> 
> *******************************************************************
> 
> 123: #if defined __GNUC__ && !defined _GCC_LIMITS_H_
> 124: #include_next <limits.h>
> 
> *******************************************************************
> 
> I guess, some of header files were damaged, or removed, or anything else...
> Does anybody know, how to fix it? How does "#include_next" work?
> 
> Thanks in advance.
> Alexey.

my system has 4 files called limits.h :

/usr/include/limits.h
/usr/include/linux/limits.h
/usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h
/usr/lib/gcc-lib/i386-linux/3.0.3/include/limits.h

my GUESS would be that '#include_next' says 'continue the search from
this directory instead of starting over on the include path'

and that what line 123 says is 'if we're using GCC and haven't read it's
limits.h, get it (from either 2.95.4 or 3.0.3, depending on the version)

... yeah, this is from /usr/include/limits.h

<BEGIN quote>
 /* Get the compiler's limits.h, which defines almost all the ISO
constants. 
 
    We put this #include_next outside the double inclusion check because 
    it should be possible to include this file more than once and still
get 
    the definitions from gcc's header.  */ 
#if defined __GNUC__ && !defined _GCC_LIMITS_H_ 
/* `_GCC_LIMITS_H_' is what GCC's file defines.  */ 
# include_next <limits.h> 
<END quote>

so for some reason your compilers include path is messed up.
either /usr/include is too late, or /usr/lib/gcc-lib/<blah>
isn't on it, or your compiler specific limits.h is missing.

-- 
Noah Massey  | fingerprint : 90AD 7AAB 0768 46AF 8C52 0695 03A2 C74D E1ED C2BF
   It is better to sleep on what you intend doing than to
   stay awake over what you've done.
Attached is a digital signature which can be used to authenticate this email.
For details consult www.gnupg.org or www.pgpi.org

Attachment: pgphudFWKz24P.pgp
Description: PGP signature


Reply to: