This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Patch: bootstrap broken when building boehm-gc
- From: Manfred Hollstein <mh at novell dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 13 Nov 2007 17:19:34 +0100
- Subject: Patch: bootstrap broken when building boehm-gc
- Reply-to: Manfred Hollstein <manfred at die-hollsteins dot de>
Hi there,
I'm not sure if there's something broken on my system(s), but here we
go. Building current gcc from HEAD "Tue Nov 13 11:39:03 UTC 2007
(revision 130136)" fails for me on i686-suse10-linux-gnu and
x86_64-suse10-linux-gnu; I'm using gcc-4.2.2 and binutils-2.18 for
bootstrapping and configured the stuff as follows:
env CC=gcc CFLAGS=-O2 CXXFLAGS='-O2 -g' GCJFLAGS='-O2 -g' LDFLAGS=-s
/bin/sh ../gcc-20071113/configure --host=$config --target=$config --build=$config
--srcdir=../gcc-20071113 --prefix=/opt/gnu --with-gnu-as --with-gnu-ld
--enable-multilib=yes --enable-__cxa_atexit --enable-checking=release
--enable-clocale=gnu --enable-interpreter --enable-shared
--enable-threads=posix --with-system-zlib --with-local-prefix=/opt/gnu
--enable-languages=c,c++,ada,java,fortran,objc --disable-nls --verbose
(No multilibs for i686-suse10-linux-gnu, of course). Up until boehm-gc,
the build runs without issues, but here it bails out:
gmake[3]: Entering directory
`/home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/x86_64-suse10-linux-gnu/boehm-gc'
/bin/sh ./libtool --mode=compile /home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/./gcc/xgcc -B/home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/./gcc/ -B/opt/gnu/x86_64-suse10-linux-gnu/bin/ -B/opt/gnu/x86_64-suse10-linux-gnu/lib/ -isystem /opt/gnu/x86_64-suse10-linux-gnu/include -isystem /opt/gnu/x86_64-suse10-linux-gnu/sys-include -DHAVE_CONFIG_H -I/home/gnu/work/GNU/gcc-20071113/boehm-gc/include -fexceptions -Iinclude -I././targ-include -I.//libc/include -O2 -O2 -fexceptions -Iinclude -I././targ-include -I.//libc/include -c -o allchblk.lo ../../../gcc-20071113/boehm-gc/allchblk.c
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
gmake[3]: *** [allchblk.lo] Error 1
gmake[3]: Leaving directory
`/home/gnu/work/GNU/gcc-20071113-x86_64-suse10-linux-gnu/x86_64-suse10-linux-gnu/boehm-gc'
The generated libtool script contains a line
available_tags="CXX "
but no "--tag=whatsover" is passed when invoking libtool. Looking at other
.../Makefile.in files, it appears that one has to pass e.g. "--tag=CC"
(like most files do), or "--tag=CXX" (as in libstdc++-v3/src/Makefile.in);
this option is missing in the definition of LTCOMPILE and LINK in both
boehm-gc/Makefile.am and boehm-gc/Makefile.in .
I have absolutely no idea why apparently nobody else is seeing this,
though.
The patch below fixes it for me. OK to check in?
Cheers.
l8er
manfred
boehm-gc/ChangeLog:
2007-11-13 Manfred Hollstein <mh@novell.com>
* Makefile.ac (LTCOMPILE): Add missing "--tag=CC" argument;
wrap line to fit with 80 column rule.
(LINK): Likewise.
* Makefile.in: Regenerate.
diff -rup -x .svn -x CVS -x RCS -x '*.o' -x '*.info*' -x '*.elc' -x '*.dvi' -x '*.orig' -x '*~' -x version.el gcc-20071113.orig/boehm-gc/Makefile.am gcc-20071113/boehm-gc/Makefile.am
--- gcc-20071113.orig/boehm-gc/Makefile.am 2007-07-23 12:24:57.648580681 +0200
+++ gcc-20071113/boehm-gc/Makefile.am 2007-11-13 16:45:34.792758499 +0100
@@ -64,9 +64,10 @@ TESTS = gctest
## We have our own definition of LTCOMPILE because we want to use our
## CFLAGS, not those passed in from the top level make.
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS)
-LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) \
+ $(LDFLAGS) -o $@
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
diff -rup -x .svn -x CVS -x RCS -x '*.o' -x '*.info*' -x '*.elc' -x '*.dvi' -x '*.orig' -x '*~' -x version.el gcc-20071113.orig/boehm-gc/Makefile.in gcc-20071113/boehm-gc/Makefile.in
--- gcc-20071113.orig/boehm-gc/Makefile.in 2007-07-23 12:33:53.628861021 +0200
+++ gcc-20071113/boehm-gc/Makefile.in 2007-11-13 16:46:33.285688885 +0100
@@ -300,10 +300,11 @@ gctest_LDADD = ./libgcjgc.la $(THREADLIB
gctest_LDFLAGS = -shared-libgcc
TESTS_ENVIRONMENT = LD_LIBRARY_PATH=../../$(MULTIBUILDTOP)gcc
TESTS = gctest
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(MY_CFLAGS) $(GC_CFLAGS)
-LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(MY_CFLAGS) \
+ $(LDFLAGS) -o $@
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and