Cuando intentoGCC problema de acumulación (limits.h #include_next)
$ make depend -f gcc.mak
un middleware en mi máquina Ubuntu me sale este
/usr/include/../include/limits.h:125:26: error: no include path in which to search for limits.h
Este es el contenido de todo limits.h: 125 :
/* 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> #endif
he intentado establecer
$ export INCLUDE=/usr/lib/gcc/x86_64-linux-gnu/4.3/include-fixed/ $ export C_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.3/include-fixed/ $ export CPLUS_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.3/include-fixed/
(que es donde he encontrado otra limits.h en mi sistema). Ya tengo instalado libc6-dev, ¿podría ser que sus límites.h hayan sido sobrescritos por otro paquete? ¿Necesito otro paquete de -dev? O se requiere una variable de entorno; quizás esto podría ser evitado de alguna otra manera?
Esto debería funcionar como está. ¿Qué ves cuando agregas '-v' a tu comando de compilación? –
Supongo que limits.h falta (o se sobrescribe). -v me da GNU Make 3.81 Objetivo: x86_64-linux-gnu gcc versión 4.3.3 (Ubuntu 4.3.3-5ubuntu4) –
El otro limit.h que puede encontrar es el que debe ser incluido por include_next . ¿Puede agregar -v a la línea de comando gcc que hace la compilación anómala, es decir, gcc -v -c foo.c? La parte interesante de su producción sería # include <...> búsqueda comienza aquí: /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.3.3/include /usr/lib/gcc/x86_64-linux-gnu/4.3.3/include-fixed /usr/include Fin de la lista de búsqueda. –