Ok, I can verify that this process works as I now have bitcoind running on CentOS 32-bit! \o/
kjj, would you care to explain any drawbacks to using this procedure? Is the resulting bitcoind lacking anything or is it possible that this build process is likely to introduce problems when used to build later versions of bitcoind?
Heh. I have no idea, to be honest. I know it doesn't include UPNP, but that shouldn't be a problem for most people running CentOS.
When I was tweaking the makefile, I kept getting strange warnings about static builds trying to dlopen shared libraries. I think that will be a problem if someone compiles it on one box, then moves it to a box with different libraries. I'm not really sure which libraries, if any, would cause those problems. It could possibly also cause problems if someone updates the libraries on the box it is on.
Also, I saw that someone else had asked for a single document showing all of the steps. I'm not much of a document sort of guy, but this might be of interest to someone. Save it as a shell script in your user's home directory, alongside the makefile.new from above. Then set it executable, and run it. You should end up with a working bitcoind.
Note that I haven't tested this yet. I'm running it right now, and so far so good, but boost takes forever to build, so it might not finish before I leave for the bar. I'll let everyone know how it goes when I can, but that might be tomorrow.
Ignore this script. It doesn't work, and I don't have time to fix it right now. Check back tomorrow.#!/bin/bash
if [ ! -x /usr/bin/wget ] ; then
echo "for some silly reason, wget is not executable. Please fix this (as root do chmod +x /usr/bin/wget) and try again"
exit
fi
USERNAME=`whoami`
cd ~
mkdir Bitcoin
cd Bitcoin
mkdir Libraries
mkdir Trunk
mkdir Deps
cd Libraries
wget -qO- http://sourceforge.net/projects/boost/files/boost/1.49.0/boost_1_49_0.tar.bz2/download | tar xjv
cd boost_1_49_0
./bootstrap.sh
./bjam --prefix=~$USERNAME/Bitcoin/Deps link=static runtime-link=static install
cd ..
wget -qO- http://openssl.org/source/openssl-1.0.0g.tar.gz | tar xzv
cd openssl-1.0.0g
if uname -a | grep -q x86_64 ; then
./Configure no-shared --prefix=~$USERNAME/Bitcoin/Deps --openssldir=~$USERNAME/Bitcoin/Deps/openssl linux-x86_64
else
./Configure no-shared --prefix=~$USERNAME/Bitcoin/Deps --openssldir=~$USERNAME/Bitcoin/Deps/openssl linux-generic32
fi
make
make install
cd ..
wget -qO- http://download.oracle.com/berkeley-db/db-5.1.19.tar.gz | tar xzv
cd db-5.1.19/build_unix
../dist/configure --prefix=~$USERNAME/Deps/ --enable-cxx
make
make install
cd ../..
mkdir bitcoin-master
cd bitcoin-master
wget -qO- https://github.com/bitcoin/bitcoin/tarball/master --no-check-certificate | tar xzv --strip-components 1
cd src
#cp -vap ~$USERNAME/makefile.new .
cat ~$USERNAME/makefile.new | sed s/kjj/$USERNAME/g > makefile.new
make -f makefile.new bitcoind