This might be useful for those who use non-linux platforms and struggling to build cpp client, e.g. on OS X or on Windows.https://github.com/valzav/vagrant-ethereum
If you are on Linux but still have issues, check out this shell script https://github.com/valzav/vagrant-ethereum/blob/master/provision.sh
- it may give you some idea what might be wrong in your setup.
If you are planning to make changes to the Ethereum code, you can define ETHEREUM_DEV_DIR environment variable and it will mount the source code directory from your host machine to guest VM, see Vagrantfile for details.
You pull requests are very welcome.