I got a new installation of Ubuntu 11.10 and kernel version 3.0.0-23-generic and +/- by default I get the following version 1.46.1 of Boost which is installed under /usr/include/boost
and /usr/lib
:
bravegag@Zeus:~/code/roofline/tool$ dpkg --get-selections | grep boost
libboost-date-time1.46.1 install
libboost-dev install
libboost-iostreams1.46.1 install
libboost-program-options1.46.1 install
libboost-serialization1.46.1 install
libboost-thread1.46.1 install
libboost1.46-dev install
I could try updating it by the standard Ubuntu means but this will most likely imply I need to get some third party ppa and pull as side effect lot of crap that will make my system unstable and I do not want that. So I installed Boost 1.50 from source and it was installed under /usr/local/include/boost
and /usr/local/lib
.
A CMake project I have picks up the 1.50 version no problems. However, a tool I am using that compiles and links using the "default" system settings ends up picking the 1.46.1 version and results in the error message src/utils.h:17:25: error: ‘boost::BOOST_FOREACH’ has not been declared
so obviously is not picking the 1.50 version.
I tried overwriting the default g++/gcc Boost version like this:
export CPLUS_INCLUDE_PATH=/usr/local/include/boost/:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/usr/local/lib/:$LIBRARY_PATH
but this doesn't do the trick either ... my question is can I not simply sweep out all those old Boost 1.46 installations and move over to the default /usr/include
and /usr/lib
the 1.50 installation? would doing this cause my system to break? I don't want to risk another re-installation spree.