Update Boost

From Bitpost wiki
Revision as of 15:37, 2 January 2007 by M (talk | contribs)

This can help you update an existing boost installation under Linux or Windows, or get boost set up for the first time.

A note about CVS

I use boost from the CVS repository - it's typically been stable for me, and contains improved functionality over the official stable release. If you have trouble with the code you grab from CVS, you can wait a day and try again, to see if things have settled down, or google for answers, they're usually available fairly quickly. Once things seem stable for you, you should sit tight for a little while - no need to have to do this every single week, unless there's something new you just have to have.  :>

You should upgrade all development environments, including Linux and Windows, at about the same time - don't wait a week or two and expect CVS installations to be compatible.

Linux

Remove the old boost:

cd ~m/development/boost_cvs
rm -rf boost
su -
cd /usr/local/lib
rm -f libboost*
cd /usr/local/include
rm -rf boost*
ctrl-D

Grab a fresh copy from CVS:

cvs -d:pserver:[email protected]/cvsroot/boost login
cvs -z3 -d:pserver:[email protected]/cvsroot/boost co -P boost

Also grab a new version of bjam, if needed, and put it here:

~m/development/boost_cvs/bjam

Now kick off the install.

screen
../bjam/boost-jam-3.1.13-1-linuxx86/bjam "-sTOOLS=gcc"
(go get lunch)
...updated 1341 targets...
su -
cd ~m/development/boost_cvs/boost
../bjam/boost-jam-3.1.13-1-linuxx86/bjam "-sTOOLS=gcc" install

Update your projects to use the new boost. I made the following changes to my automake project:

configure.in: CPPFLAGS=”${CPPFLAGS} -I/usr/local/include/boost-#version#”
Makefile.am: yourproject_LDADD = (…) /usr/local/lib/libboost_serialization-gcc#gccversion#.a

I thought about doing this symlink instead, but I'd rather maintain my project than the symlink:

cd /usr/local/lib
ln -s libboost_serialization-gcc33.a libboost_serialization-gcc.a


Windows

Wipe out the old directory, except the boost\CVS directory, which will allow an easy fresh grab:

c:\Michael's Data\Software Development\boost_cvs\boost

Right-click on it and do a CVS update with Tortoise CVS. Also grab a new version of bjam, if needed, and put it in your path. Go to a command window:

<path to vc8>\vcvars32.bat
cd <boost dir>
bjam "-sTOOLS=vc-8_0" stage

Make sure you've added the boost library and include paths to Visual Studio Tools->Options->Projects and Solutions->VC++ directories.


You should now be good to go!