There are instructions for building on Ubuntu/Debian, but I want to build it in Fedora.
You will have to rebuild OpenSSL, since the build shipped by Fedora/Red Hat does not include support for elliptic curve cryptography, on which Bitcoin relies. So you have to build your own.
Once that's done, you can get on with building Bitcoin normally, provided you point it at your private build of OpenSSL with
Or, you can just skip all the work and use my existing Yum repository. This also gives you standards-compliant paths, as well as an SELinux-enabled
bitcoind. Read the RPM spec files if you're really interested in the build process.
This is how I compiled bitcoind from the github source on Fedora 18.
sudo yum install gcc-c++ make sudo yum install boost-devel sudo yum install db4-devel sudo yum install openssl-devel sudo yum install rpm-build sudo yum install lynx sudo yum install python-devel sudo yum install miniupnpc sudo yum install miniupnpc-devel.i686 sudo yum install libdb-cxx.i686 sudo yum install libdb-cxx-devel.i686
now grab the latest tarball from: http://www.openssl.org/source/ save and untar it in a directory, let's say ~/installs/openssl_ecdsa
cd ~/installs/openssl_ecdsa ./config make sudo make install
now pull the latest bitcoin source from github
cd ~ git clone https://github.com/bitcoin/bitcoin.git
if you want the latest stable release, checkout the version number here: http://bitcoin.org/en/download
git checkout 0.8.3 //latest stable at the moment cd bitcoin/src export OPENSSL_INCLUDE_PATH="/usr/local/ssl/include" export OPENSSL_LIB_PATH="/usr/local/ssl/lib" make -f makefile.unix
You'll need to install these libraries:
- libssl - provided by
- libboost - called
- libdb4.8 - called
I'm not able to test this at the moment, but try something like this:
yum install openssl boost db4.8 miniupnpc
Once those are installed, and their src or dev packages may be necessary, you can do the actual build itself:
cd src/ make -f makefile.unix
Also requires openssl-devel
Tested on Fedora 20, 64-bit:
$ sudo yum groupinstall -y "Development Tools" "Development Libraries" $ sudo yum install -y gcc-c++ libtool swig pyqt4-devel python-psutil python-twisted wget protobuf-devel $ wget -qO- 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz' | tar -xzv && cd db*/build_unix $ ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/usr/local/ $ make $ sudo make install $ cd; wget -qO- https://www.openssl.org/source/openssl-1.0.1i.tar.gz | tar -xzv && cd o* $ export CFLAGS="-fPIC"; ./config --prefix=/usr/local shared enable-ec enable-ecdh enable-ecdsa $ make depend && make all $ sudo make install $ cd; git clone git://github.com/bitcoin/bitcoin.git; cd bitcoin $ ./autogen.sh && ./configure LDFLAGS="-Wl,-rpath=/usr/local/lib64 -L/usr/local/lib/ -L/usr/local/lib64/" CPPFLAGS="-I/usr/local/include/" $ make $ sudo make install $ mkdir ~/.bitcoin; wget -O ~/.bitcoin/bitcoin.conf https://raw.githubusercontent.com/averageradical/compile/gh-pages/example/bitcoin.conf $ bitcoin-qt # or nohup bitcoind & $ bitcoin-cli help