Skip to content

Instantly share code, notes, and snippets.

@patricklodder
Last active April 28, 2021 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save patricklodder/c7c067cc831f0d3190c2 to your computer and use it in GitHub Desktop.
Save patricklodder/c7c067cc831f0d3190c2 to your computer and use it in GitHub Desktop.
Dogecoin 1.8 build for centos
# builds dogecoin 1.8.2 with openssl 1.0.1l and boost 1.55
# tested and verified on CentOS: 2.6.32-504.el6.x86_64
export DOGEREF=v1.8.2 # change this if you want
export DEST_DIR=~/dogecoin # change this if you want, too
export DOGE_BUILD_LOC=~/doge-build # and this, too
# init env
mkdir -p $DOGE_BUILD_LOC
pushd $DOGE_BUILD_LOC
mkdir -p dogecoin-deps
pushd dogecoin-deps
mkdir -p lib
export DOGE_DEPS_LOC=$DOGE_BUILD_LOC/dogecoin-deps
export DOGE_STAGE_LOC=$DOGE_DEPS_LOC/staging
mkdir -p $DEST_DIR
mkdir -p $DEST_DIR/lib
# openssl
wget 'ftp://mirror.switch.ch/mirror/openssl/source/openssl-1.0.1l.tar.gz'
echo "b2cf4d48fe5d49f240c61c9e624193a6f232b5ed0baf010681e725963c40d1d4 openssl-1.0.1l.tar.gz" | sha256sum -c
tar xzf openssl-1.0.1l.tar.gz
pushd openssl-1.0.1l
./config no-shared no-zlib no-dso no-krb5 --openssldir=$DOGE_STAGE_LOC -fPIC
make
make install_sw
popd
# boost
wget 'https://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'
echo "fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 boost_1_55_0.tar.bz2" | sha256sum -c
tar --warning=no-timestamp -xjf boost_1_55_0.tar.bz2
pushd boost_1_55_0
./bootstrap.sh --without-icu
./bjam toolset=gcc threadapi=pthread threading=multi variant=release link=static runtime-link=shared --without-mpi --without-python -sNO_BZIP2=1 --layout=tagged --build-type=complete --prefix="$DOGE_STAGE_LOC" $MAKEOPTS -d+2 install
popd
# bdb
wget 'http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz'
echo "08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz" | sha256sum -c
tar xzf db-5.1.29.NC.tar.gz
pushd db-5.1.29.NC/build_unix
../dist/configure --prefix="$DOGE_STAGE_LOC" --enable-cxx --disable-shared --with-pic
make $MAKEOPTS library_build
make install_lib install_include
popd
# copy libs to dest dirs
cp -r $DOGE_STAGE_LOC/lib/*.a $DOGE_STAGE_LOC/lib/pkgconfig $DEST_DIR/lib/
popd
# dogecoin
git clone https://github.com/dogecoin/dogecoin.git
pushd dogecoin
git checkout $DOGEREF
./autogen.sh
./configure --disable-upnp-default --prefix=$DEST_DIR --with-boost=$DEST_DIR --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$DOGE_STAGE_LOC/lib/pkgconfig" CPPFLAGS="-I$DOGE_STAGE_LOC/include ${OPTFLAGS}" LDFLAGS="-L$DEST_DIR/lib ${OPTFLAGS}" CXXFLAGS="${OPTFLAGS}" BOOST_CHRONO_EXTRALIBS="-lrt"
pushd src
make dogecoind dogecoin-cli
strip dogecoind
strip dogecoin-cli
cp dogecoind dogecoin-cli $DEST_DIR
popd
popd
popd
# uncomment to delete sources
# rm -rf $DOGE_BUILD_LOC
Copy link

ghost commented May 30, 2016

Sorry, I deleted my last comment because I had modified the script and thought that doing that was the issue.

Ran it again with the only change being an upgrade of the openssl to v1.0.1t vs. v1.0.1l which isn't available anymore via your link in the script.

Still getting the same error.

configure: error: No working boost sleep implementation found.
~/doge-build/dogecoin/src ~/doge-build/dogecoin ~/doge-build ~
g++ dogecoind.cpp -o dogecoind
In file included from script.h:10:0,
from core.h:12,
from coins.h:8,
from main.h:18,
from dogecoind.cpp:9:
util.h:104:2: error: #error missing boost sleep implementation
#error missing boost sleep implementation
^
make: *** [dogecoind] Error 1

Copy link

ghost commented May 30, 2016

Tried upgrading the boost to the latest which is v1.61.0. Same error.

I had compiled this same coin (not using this script) without compiling boost after installing boost-devel and using the flag --with-incompatible-bdb and it worked. boost-devel is using 1.53.0.

I'm going to take the boost out of this script and see what happens.

Copy link

ghost commented May 30, 2016

Removing the boost section from the script ended up working. Still curious why I'd be getting that error with the boost. Love to figure that out so I could use a newer version of boost. If you figure it out, let me know. I'm going to do some more tests to see if I can get it working with the boost in the script.

@john-shine
Copy link

Dir ~/doge-build/dogecoin-deps/lib is created, but never used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment