path: root/main/gcc/020_all_msgfmt-libstdc++-link.patch
blob: a70ea50a07fbe91d98cb86dd4b44844368917f76 (plain) (tree)

Ensure that msgfmt doesn't encounter problems during gcc bootstrapping.

Solves error messages like the following:

msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)

The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
library path, will make it work as expected here.

2011-09-19 Martin von Gagern


--- gcc-4.1.2.orig/libstdc++-v3/po/Makefile.am
+++ gcc-4.1.2/libstdc++-v3/po/Makefile.am
@@ -39,6 +39,7 @@ MSGFMT = msgfmt
 EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
+	env --unset=LD_LIBRARY_PATH \
 	$(MSGFMT) -o $@ $<
 all-local: all-local-$(USE_NLS)
--- gcc-4.1.2.orig/libstdc++-v3/po/Makefile.in
+++ gcc-4.1.2/libstdc++-v3/po/Makefile.in
@@ -419,6 +419,7 @@ uninstall-am: uninstall-info-am
+	env --unset=LD_LIBRARY_PATH \
 	$(MSGFMT) -o $@ $<
 all-local: all-local-$(USE_NLS)