I'm writing a VPS install script for graphene nodes and I'm not sure of the best way to handle the boost libs.
I don't plan to build any of the binaries on the VPS. I compile boost on a dev system from source, then afterwards compress the entire boost source hierarchy into a tarball (it's big, yeah I know) and run the "b2 install" after decompressing on it the VPS which installs the shared libs. From what I can tell, that approach still does some compiling and / or linking at install time, but it doesn't take nearly as long as starting from scratch. Still it's minutes not seconds.
The script installs all of the same packages required to compile everything from scratch, even if they're all not needed (tho I think most if not all are).
Once boost is built from source and "b2 install" is run can the boost/boost_1_57_0 folder hierarchy be removed?
Does the witness_node and cli_wallet binaries require anything from the boost tree or only from the shared libraries (/usr/local/lib/libboost*.so.1.57.0)? What about the gui out of curiosity?
Of course all this wouldn't be necessary if a binary package for the version graphene requires were available via apt-get, or I knew how to produce a .deb file from the boost build tree.
The idea of this effort is to start with a brand new VPS, copy a script and a big tarball to it and when it is done executing it will be a configured, secured node for a witness, seed or backbone node. It installs monitoring, packages, users, tools, optimizes inode caching, swaping etc. So far the script is 125 lines long and it's 95% complete.