Upgrading a Fost 4 project

Created 28th December, 2014 06:19 (UTC), last edited 11th May, 2015 11:40 (UTC)

Because this is now C++14 we need to rebuild all of Boost with the correct options. Packaged versions aren't likely to be suitable. The minimal compilers that we are testing with are gcc 4.9.2 and clang 3.6 — these are the versions that ship with Ubuntu Vivid (15.04).

For other platforms you'll need to install one of these. We have been using the provided packages for Boost on Vivid, but it's probably best to build your own. The Boost build part has been updated to build Boost with C++14 — if you have previous versions you should clear them out and rebuild.

In terms of Boost versions we're supporting at the moment, we're building for Boost 1.55.0 through to 1.58.0. Earlier versions may work.

Known issues

  • Boost 1.58.0 appears to have some problems with the exec_file Python code. There is a patch, but it doesn't look like it'll make any difference for Python 2.

General changes

  • Most uses of auto_ptr have been replaced with unique_ptr, but some have been replaced with move semantics.


  • The network connection class is move constructable (but not move assignable) and uses unique_ptr internally.