This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
egcs-19980906 build fails with linux libc5's /usr/include/obstack.h
- To: egcs-bugs at cygnus dot com
- Subject: egcs-19980906 build fails with linux libc5's /usr/include/obstack.h
- From: JHB NIJHOF <j dot h dot b dot nijhof at aston dot ac dot uk>
- Date: Tue, 8 Sep 1998 10:52:58 +0100
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