This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Patch: bootstrap broken when building boehm-gc


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


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