Building Dogecoin on 12.04 – uniform_int_distribution.hpp
Dogecoin, an alternative cryptocurrency similar to bitcoin, has recently become available with clients for Windows, Mac, and Linux, but I’ve found that building on Ubuntu and its derivatives can run into a snag sometimes. When attempting to run make, the build process stops and reports “src/main.cpp:17:53: error: boost/random/uniform_int_distribution.hpp: No such file or directory”. Luckily, it’s pretty simple to fix.
Let’s start with a basic walkthrough of how the wallet is installed so that the error can be observed during the build:
First, you’ll want to clone Dogecoin from Github onto your machine. If you haven’t installed git yet, run a sudo apt-get install git-core first.
git clone https://github.com/dogecoin/dogecoin.git
Next, you’ll want to grab some libraries that will be necessary for the build:
sudo apt-get install build-essential libssl-dev libdb-dev libdb++-dev libqrencode-dev libqtgui4 libqt4-dev libboost-all-dev
Now it’s time to build. navigate into the dogecoin/ directory you just cloned and use these two commands (naturally, you may edit the first to your preferences):
qmake USE_UPNP=- USE_QRCODE=0 USE_IPV6=0 make
Now is when the problem occurs. Wait for a few moments and the build should terminate with this error:
src/main.cpp:17:53: error: boost/random/uniform_int_distribution.hpp: No such file or directory
Seems the boost library included in the build instructions isn’t actually what it’s expecting. To allow the build to succeed, let’s grab something it will like better:
sudo apt-get install libboost1.48-all-dev
This should do the trick for Precise and forward. If you’re still on something like Lucid, then honestly things are going to get a little more complicated. You’ll be able to install libboost1.40 without problems, and even up to 1.46 can be plugged in, but getting to 1.48 in order to solve the uniform_int_distribution.hpp issue requires at least an update to your libstdc++6. At this point, your time is probably worth more than your dogecoin.