Bug 52840 - bootstrap fails in libstdc++, missing compatibility.lo
Summary: bootstrap fails in libstdc++, missing compatibility.lo
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: 4.8.0
Assignee: Not yet assigned to anyone
URL:
Keywords: build
Depends on: 52689
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-03 07:08 UTC by Bernhard Reutner-Fischer
Modified: 2012-04-17 00:19 UTC (History)
2 users (show)

See Also:
Host: x86_64-linux-gnu
Target: x86_64-linux-gnu
Build: x86_64-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Reutner-Fischer 2012-04-03 07:08:58 UTC
git clone @ svn r186099
Happens since about 2 weeks.
Host == Build == Target == x86_64-linux-gnu

../../src/gcc-4.8.orig/configure -v --enable-languages=all LD=/usr/bin/ld.bfd 
CFLAGS="-O2 -g3 -ggdb3" CXXFLAGS="-O2 -g3 -ggdb3" BOOT_CFLAGS="-O2 -g3 -ggdb3" BOOT_CXXFLAGS="-O2 -g3 -ggdb3" CFLAGS_FOR_TARGET="-O2 -g3 -ggdb3" CXXFLAGS_FOR_TARGET="-O2 -g3 -ggdb3" --prefix=/opt/x86_64/gcc-4.8.orig/ --enable-shared --with-system-zlib --libexecdir=/opt/x86_64/gcc-4.8.orig/lib --enable-nls --without-included-gettext --enable-threads=posix --program-suffix=-4.8.orig-HEAD --enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --disable-werror --enable-checking=yes --enable-debug -C --disable-intermodule --disable-libstdcxx-pch --enable-multilib --enable-checking=release

[...]
libtool: link: ranlib .libs/libc++11convenience.a
libtool: link: ( cd ".libs" && rm -f "libc++11convenience.la" && ln -s "../libc++11convenience.la" "libc++11convenience.la" )
make[8]: Leaving directory `/scratch/obj.x86_64/gcc-4.8.orig/x86_64-unknown-linux-gnu/libstdc++-v3/src/debug/c++11'
make[8]: Entering directory `/scratch/obj.x86_64/gcc-4.8.orig/x86_64-unknown-linux-gnu/libstdc++-v3/src/debug'
make[8]: *** No rule to make target `compatibility.lo', needed by `libstdc++.la'.  Stop.
make[8]: Leaving directory `/scratch/obj.x86_64/gcc-4.8.orig/x86_64-unknown-linux-gnu/libstdc++-v3/src/debug'
make[7]: *** [all-recursive] Error 1
Comment 1 Bernhard Reutner-Fischer 2012-04-03 08:02:22 UTC
Benjamin,

in r185950 you said:

-vpath % $(top_srcdir)/src
-vpath % $(top_srcdir)
+vpath % $(top_srcdir)/src/c++98
+vpath % $(top_srcdir)/src/c++11
Comment 2 Bernhard Reutner-Fischer 2012-04-03 10:20:07 UTC
The patchlet below reinstates bootstrapping for me.


diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index bb8bc2a..d662ec1 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2012-04-03  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* src/Makefile.am (build-debug): Do not adjust vpath dir, remove
+	Makefile.tmp
+	* src/Makefile.in: Adjust as per above.
+
 2012-04-02  Tristan Gingold  <gingold@adacore.com>
 
 	* crossconfig.m4 (*-*-*vms*): Add.
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 28430cf..a1eb04d 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -293,7 +293,7 @@ build-debug: stamp-debug
 	  mv Makefile Makefile.tmp; \
 	  sed -e 's,all-local: all-once,all-local:,' \
 	      -e 's,install-data-local: install-data-once,install-data-local:,' \
-	      -e 's,src/c,src/debug/c,' \
+	      -e '/vpath/!s,src/c,src/debug/c,' \
 	  < Makefile.tmp > Makefile ; \
 	  $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \
 	  toolexeclibdir=$(glibcxx_toolexeclibdir)/debug all) ;
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 3c1facf..b10d853 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -914,7 +914,7 @@ build-debug: stamp-debug
 	  mv Makefile Makefile.tmp; \
 	  sed -e 's,all-local: all-once,all-local:,' \
 	      -e 's,install-data-local: install-data-once,install-data-local:,' \
-	      -e 's,src/c,src/debug/c,' \
+	      -e '/vpath/!s,src/c,src/debug/c,' \
 	  < Makefile.tmp > Makefile ; \
 	  $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' \
 	  toolexeclibdir=$(glibcxx_toolexeclibdir)/debug all) ;
Comment 3 Benjamin Kosnik 2012-04-05 00:42:48 UTC
This patch is ok.
Comment 4 Bernhard Reutner-Fischer 2012-04-05 07:00:41 UTC
Author: aldot
Date: Thu Apr  5 07:00:30 2012
New Revision: 186156

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186156
Log:
PR bootstrap/52840: libstdc++: let debug find sources for compatibility.lo

2012-04-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	PR bootstrap/52840
	* src/Makefile.am (build-debug): Do not adjust vpath dir, remove
	Makefile.tmp
	* src/Makefile.in: Adjust as per above.



Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/src/Makefile.am
    trunk/libstdc++-v3/src/Makefile.in
Comment 5 Bernhard Reutner-Fischer 2012-04-05 07:02:18 UTC
Fixed on trunk.
thanks,
Comment 6 Benjamin Kosnik 2012-04-17 00:19:16 UTC
Author: bkoz
Date: Tue Apr 17 00:19:12 2012
New Revision: 186517

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186517
Log:
2012-04-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	PR bootstrap/52840
	* src/Makefile.am (build-debug): Do not adjust vpath dir, remove
	Makefile.tmp
	* src/Makefile.in: Adjust as per above.

2012-04-16  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/52689
	* libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
	* libsupc++/Makefile.in: Regenerated.
	* src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
	(libstdc___la_SOURCES): Add in compatiblity files, with content
	that varies with -DPIC.
	* src/Makefile.in: Regenerated.
	* src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
	* src/c++11/Makefile.in: Regenerated.
	* src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
	* src/c++11/compatibility-c++0x.cc: Same.
	* src/c++11/future.cc: Consolidate compatibility bits into..
	* src/c++11/mutex.cc: Consolidate compatibility bits into..
	* src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
	* src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
	* src/c++98/Makefile.in: Regenerated.
	* src/c++98/compatibility-list-2.cc: Guard with PIC.
	* src/c++98/compatibility.cc: Tweak comments.


Added:
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-thread-c++0x.cc
Modified:
    branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_7-branch/libstdc++-v3/libsupc++/Makefile.am
    branches/gcc-4_7-branch/libstdc++-v3/libsupc++/Makefile.in
    branches/gcc-4_7-branch/libstdc++-v3/src/Makefile.am
    branches/gcc-4_7-branch/libstdc++-v3/src/Makefile.in
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/Makefile.am
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/Makefile.in
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/compatibility-c++0x.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/future.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++11/mutex.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++98/Makefile.am
    branches/gcc-4_7-branch/libstdc++-v3/src/c++98/Makefile.in
    branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility-ldbl.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility-list-2.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility-list.cc
    branches/gcc-4_7-branch/libstdc++-v3/src/c++98/compatibility.cc