OK, I had a bad build, and found a few things. This is embarrassing and serves me right for doing it at 2am. The libbz2 package was broken, which Boost uses to build, and that messed a whole bunch of things up.
sudo apt-get install libbz2-dev fixed that.
Also, I was using an old (2011) version of Boost Build on the 1.56 Boost source. ./bootstrap.sh –prefix=../../bin fixed that.
Everything now works, and the new build of Casablanca passes all the test_runner tests in debug and release. From the top, here’s the procedure to build Casablanca on Linux with a specific Boost version:
My Boost source is in /home/damien/projects/boost_1_56_0. I build Debug and Release versions, 64-bit only.
In the Boost source directory (note that this is all on one line):
./bin/b2 --toolset=gcc address-model=64 --stagedir=./stage64debug --build-dir=./build64debug --layout=system --without-mpi variant=debug link=shared threading=multi runtime-link=shared install --prefix=./linux64debug/indep --exec-prefix=./linux64debug/bin --libdir=./linux64debug/lib --includedir=./linux64debug/include
That gets you a Debug build. For Release it’s
./bin/b2 --toolset=gcc address-model=64 --stagedir=./stage64release --build-dir=./build64release --layout=system --without-mpi variant=release link=shared threading=multi runtime-link=shared install --prefix=./linux64release/indep --exec-prefix=./linux64release/bin --libdir=./linux64release/lib --includedir=./linux64release/include
My Casablanca source is in /home/damien/projects/casablanca
In the Casablanca source directory:
mkdir build.debug
cd build.debug
CXX=g++ cmake .. -DBOOST_ROOT=/home/damien/projects/boost_1_56_0/linux64debug -DCMAKE_BUILD_TYPE=Debug
make
Then:
cd ..
mkdir build.release
CXX=g++ cmake .. -DBOOST_ROOT=/home/damien/projects/boost_1_56_0/linux64release -DCMAKE_BUILD_TYPE=Release
make
That’s it, you can run the tests if you want from there.
sudo apt-get install libbz2-dev fixed that.
Also, I was using an old (2011) version of Boost Build on the 1.56 Boost source. ./bootstrap.sh –prefix=../../bin fixed that.
Everything now works, and the new build of Casablanca passes all the test_runner tests in debug and release. From the top, here’s the procedure to build Casablanca on Linux with a specific Boost version:
My Boost source is in /home/damien/projects/boost_1_56_0. I build Debug and Release versions, 64-bit only.
In the Boost source directory (note that this is all on one line):
./bin/b2 --toolset=gcc address-model=64 --stagedir=./stage64debug --build-dir=./build64debug --layout=system --without-mpi variant=debug link=shared threading=multi runtime-link=shared install --prefix=./linux64debug/indep --exec-prefix=./linux64debug/bin --libdir=./linux64debug/lib --includedir=./linux64debug/include
That gets you a Debug build. For Release it’s
./bin/b2 --toolset=gcc address-model=64 --stagedir=./stage64release --build-dir=./build64release --layout=system --without-mpi variant=release link=shared threading=multi runtime-link=shared install --prefix=./linux64release/indep --exec-prefix=./linux64release/bin --libdir=./linux64release/lib --includedir=./linux64release/include
My Casablanca source is in /home/damien/projects/casablanca
In the Casablanca source directory:
mkdir build.debug
cd build.debug
CXX=g++ cmake .. -DBOOST_ROOT=/home/damien/projects/boost_1_56_0/linux64debug -DCMAKE_BUILD_TYPE=Debug
make
Then:
cd ..
mkdir build.release
CXX=g++ cmake .. -DBOOST_ROOT=/home/damien/projects/boost_1_56_0/linux64release -DCMAKE_BUILD_TYPE=Release
make
That’s it, you can run the tests if you want from there.