gitian: Build boost dependency for linux
Instead of using the boost provided by Ubuntu 12.04, build our own dependency like we do for Windows. This allows using a much newer version (1.55 versus 1.46) as well as building with `-fPIC` so that `-pie` can be used in the x86-64 build.
This commit is contained in:
parent
7eb99a844f
commit
64be7f7892
42
contrib/gitian-descriptors/boost-linux.yml
Normal file
42
contrib/gitian-descriptors/boost-linux.yml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
name: "boost"
|
||||||
|
suites:
|
||||||
|
- "precise"
|
||||||
|
architectures:
|
||||||
|
- "i386"
|
||||||
|
- "amd64"
|
||||||
|
packages:
|
||||||
|
- "unzip"
|
||||||
|
- "pkg-config"
|
||||||
|
- "libtool"
|
||||||
|
- "faketime"
|
||||||
|
- "bsdmainutils"
|
||||||
|
- "zip"
|
||||||
|
reference_datetime: "2011-01-30 00:00:00"
|
||||||
|
remotes: []
|
||||||
|
files:
|
||||||
|
- "boost_1_55_0.tar.bz2"
|
||||||
|
script: |
|
||||||
|
STAGING="$HOME/install"
|
||||||
|
export LIBRARY_PATH="$STAGING/lib"
|
||||||
|
# Input Integrity Check
|
||||||
|
echo "fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 boost_1_55_0.tar.bz2" | shasum -c
|
||||||
|
|
||||||
|
mkdir -p "$STAGING"
|
||||||
|
tar xjf boost_1_55_0.tar.bz2
|
||||||
|
cd boost_1_55_0
|
||||||
|
GCCVERSION=$(g++ -E -dM $(mktemp --suffix=.h) | grep __VERSION__ | cut -d ' ' -f 3 | cut -d '"' -f 2)
|
||||||
|
# note: bjam with -d+2 reveals that -O3 is implied by default, no need to provide it in cxxflags
|
||||||
|
echo "using gcc : $GCCVERSION : g++
|
||||||
|
:
|
||||||
|
<cxxflags>\"-frandom-seed=boost1 -fPIC\"
|
||||||
|
;" > user-config.jam
|
||||||
|
|
||||||
|
./bootstrap.sh --without-icu
|
||||||
|
|
||||||
|
./bjam toolset=gcc threadapi=pthread threading=multi variant=release link=static runtime-link=shared --user-config=user-config.jam --without-mpi --without-python -sNO_BZIP2=1 --layout=tagged --build-type=complete --prefix="$STAGING" $MAKEOPTS install
|
||||||
|
|
||||||
|
cd "$STAGING"
|
||||||
|
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
|
||||||
|
export FAKETIME=$REFERENCE_DATETIME
|
||||||
|
zip -r $OUTDIR/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip *
|
@ -6,13 +6,7 @@ architectures:
|
|||||||
- "i386"
|
- "i386"
|
||||||
- "amd64"
|
- "amd64"
|
||||||
packages:
|
packages:
|
||||||
- "qt4-qmake"
|
|
||||||
- "libqt4-dev"
|
- "libqt4-dev"
|
||||||
- "libboost-system-dev"
|
|
||||||
- "libboost-filesystem-dev"
|
|
||||||
- "libboost-program-options-dev"
|
|
||||||
- "libboost-thread-dev"
|
|
||||||
- "libboost-test-dev"
|
|
||||||
- "libssl-dev"
|
- "libssl-dev"
|
||||||
- "git-core"
|
- "git-core"
|
||||||
- "unzip"
|
- "unzip"
|
||||||
@ -29,6 +23,8 @@ remotes:
|
|||||||
files:
|
files:
|
||||||
- "bitcoin-deps-linux32-gitian-r1.zip"
|
- "bitcoin-deps-linux32-gitian-r1.zip"
|
||||||
- "bitcoin-deps-linux64-gitian-r1.zip"
|
- "bitcoin-deps-linux64-gitian-r1.zip"
|
||||||
|
- "boost-linux32-1.55.0-gitian-r1.zip"
|
||||||
|
- "boost-linux64-1.55.0-gitian-r1.zip"
|
||||||
script: |
|
script: |
|
||||||
STAGING="$HOME/install"
|
STAGING="$HOME/install"
|
||||||
OPTFLAGS='-O2'
|
OPTFLAGS='-O2'
|
||||||
@ -39,17 +35,18 @@ script: |
|
|||||||
mkdir -p $STAGING
|
mkdir -p $STAGING
|
||||||
cd $STAGING
|
cd $STAGING
|
||||||
unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r1.zip
|
unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r1.zip
|
||||||
|
unzip ../build/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip
|
||||||
cd ../build
|
cd ../build
|
||||||
#
|
#
|
||||||
cd bitcoin
|
cd bitcoin
|
||||||
export TAR_OPTIONS=--mtime=`echo $REFERENCE_DATETIME | awk '{ print $1 }'`
|
export TAR_OPTIONS=--mtime=`echo $REFERENCE_DATETIME | awk '{ print $1 }'`
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
./configure --prefix=$STAGING --bindir=$BINDIR --with-protoc-bindir=$STAGING/host/bin --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}"
|
./configure --prefix=$STAGING --bindir=$BINDIR --with-protoc-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}" BOOST_CHRONO_EXTRALIBS="-lrt"
|
||||||
make dist
|
make dist
|
||||||
mkdir -p distsrc
|
mkdir -p distsrc
|
||||||
cd distsrc
|
cd distsrc
|
||||||
tar --strip-components=1 -xf ../bitcoin-*.tar.*
|
tar --strip-components=1 -xf ../bitcoin-*.tar.*
|
||||||
./configure --prefix=$STAGING --bindir=$BINDIR --with-protoc-bindir=$STAGING/host/bin --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}"
|
./configure --prefix=$STAGING --bindir=$BINDIR --with-protoc-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}" BOOST_CHRONO_EXTRALIBS="-lrt"
|
||||||
make $MAKEOPTS
|
make $MAKEOPTS
|
||||||
make $MAKEOPTS install-strip
|
make $MAKEOPTS install-strip
|
||||||
mkdir -p $OUTDIR/src
|
mkdir -p $OUTDIR/src
|
||||||
|
@ -53,6 +53,8 @@ Release Process
|
|||||||
cd ..
|
cd ..
|
||||||
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-linux.yml
|
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-linux.yml
|
||||||
mv build/out/bitcoin-deps-*.zip inputs/
|
mv build/out/bitcoin-deps-*.zip inputs/
|
||||||
|
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-linux.yml
|
||||||
|
mv build/out/boost-linux-*.zip inputs/
|
||||||
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
|
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
|
||||||
mv build/out/boost-win32-*.zip inputs/
|
mv build/out/boost-win32-*.zip inputs/
|
||||||
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
|
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
|
||||||
|
Loading…
Reference in New Issue
Block a user