the problem isn't writing code, the problem is build environment and deployment - correct versions of compilers, headers, libraries, makefiles, cmakelists, wafs, scons', bjams, whatevers...
No. Its not. I've been programming primarily in C++ for a few years (been using it as a hobbyist programmer since about 2002 and on and off professionally over the last 4 years) and this has never been an issue for me.
I used to feel that way about Make until I tried Rake. I'll never go back now, I think build scripts feel the need for a general purpose language often enough that it really pays to have them as an embedded DSL in a scripting language.
sudo apt-get a few packages is great when it works, but if you want/need a newer boost version, you're on your own. Makefiles are tedious to write and maintain in anything but a toy application. That's not to say everything else isn't, but most of the time you can save yourself some hassle.