This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

egcs-19980906 build fails with linux libc5's /usr/include/obstack.h



Building egcs-19980906 (make or make bootstrap) failed on
my Debian 1.3 Linux box, with libc5's include files (libc 5.4.33):

make[2]: Entering directory `/var/home/nijhojhb/src/egcs-build/gcc/java'
make[2]: Circular ../../../egcs-19980906/gcc/java/parse.h <- ../../../egcs-19980906/gcc/java/parse.c dependency dropped.
gcc -c  -DIN_GCC   -DUSE_GNULIBC_1 -g -O2     -I. -I.. -I../../../egcs-19980906/gcc/java -I../../../egcs-19980906/gcc/java/.. -I../../../egcs-19980906/gcc/java/../config ../../../egcs-19980906/gcc/java/parse.c
In file included from /nfs/hoser/beer/java/egcs/gcc/java/parse.y:63:
/usr/include/obstack.h:139: gstddef.h: No such file or directory
make[2]: *** [parse.o] Error 1
make[2]: Leaving directory `/var/home/nijhojhb/src/egcs-build/gcc/java'
make[1]: *** [jc1] Error 2
make[1]: Leaving directory `/var/home/nijhojhb/src/egcs-build/gcc'
make: *** [all-gcc] Error 2
penguin:/home/nijhojhb/src/egcs-build$


Line 63 of parse.y is #include "obstack.h". 

I configured egcs-19980906 as follows:

../egcs-19980906/configure --with-gcc-version-trigger=/home/nijhojhb/src/egcs-19980906/gcc/version.c --host=i686-pc-linux-gnulibc1 --prefix=/usr/local/egcs --enable-shared --enable-version-specific-runtime-libs --norecursion 

obstack.h is in egcs-19980906/include/obstack.h, but 
egcs-19980906/gcc/java/Makefile fails to specify that directory for
inclusion 
(INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config),
so /usr/include/obstack.h gets picked up instead.

But on this machine /usr/include/obstack.h is Gnu libc 5.4.33's obstack.h,
(or perhaps a slightly earlier obstack.h), which asks for
a gstddef.h when building gcc:

--------------------------------------------
/* obstack.h - object stack macros
   Copyright (C) 1988, 89, 90, 91, 92, 93, 94 Free Software Foundation, Inc.

This file is part of the GNU C Library.  Its master source is NOT part of
the C library, however.  The master source lives in /gd/gnu/lib.
[...]

#if defined (__STDC__) && ! defined (offsetof)
#if defined (__GNUC__) && defined (IN_GCC)
/* On Next machine, the system's stddef.h screws up if included
   after we have defined just ptrdiff_t, so include all of gstddef.h.
   Otherwise, define just ptrdiff_t, which is all we need.  */
#ifndef __NeXT__
#define __need_ptrdiff_t
#endif

/* While building GCC, the stddef.h that goes with GCC has this name.  */
#include "gstddef.h"
#else
#include <stddef.h>
#endif
#endif
----------------------

Jeroen Nijhof




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]