From c95ac83e5115a2e9f1c29df6a3839d6788b4eafd Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Mon, 23 Feb 2015 19:43:25 -0500 Subject: [PATCH] gitian: fix x86_64 build with static libstdc++ --- contrib/gitian-descriptors/gitian-linux.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index 10463c871..dde4af349 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -15,6 +15,7 @@ packages: - "faketime" - "bsdmainutils" - "binutils-gold" +- "libstdc++6-4.6-pic" reference_datetime: "2013-06-01 00:00:00" remotes: - "url": "https://github.com/bitcoin/bitcoin.git" @@ -69,6 +70,14 @@ script: | make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}" done + # Ubuntu precise hack: Not an issue in later versions. + # Precise's libstdc++.a is non-pic. There's an optional libstdc++6-4.6-pic + # package which provides libstdc++_pic.a, but the linker can't find it. + # Symlink it to a path that will be included in our link-line so that the + # linker picks it up before the default libstdc++.a. + # This is only necessary for 64bit. + ln -s /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++_pic.a ${BASEPREFIX}/x86_64-unknown-linux-gnu/lib/libstdc++.a + # Create the release tarball using (arbitrarily) the first host ./autogen.sh ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`