I am using bjam to build my application on suse linux. I have defined a
environment variable BOOST_ROOT, which allows me to switch between
boost builds. I have used this approach for 1.38, 1.39,1.40.
I always build the boost libraries I need myself using bjam.
bjam --build-dir=./tmpBuildDir toolset=gcc stage link=static --with-system
i.e I don't bother with build scripts in $BOOST_ROOT
With 1.42 when I build my application I get an error of the form:
error: Unable to find file or target named
error: '/var/tmp/ma0/boost/boost_1_42_0/stage/lib/libboost_system.a'
error: referred from project at
error: ''
The error is very misleading because the file exists?
When I switch back, to 1.39/1.40 there are no problems.
This is what my boost-build.jam look like:
--------------------------------------------------------------------------------
BOOST_BUILD = [ MATCH --boost-build=(.*) : $(ARGV) ] ;
BOOST_BUILD ?= $(BOOST_ROOT)/tools/build/v2 ;
boost-build $(BOOST_BUILD) ;
Here is jam file for my leaf project:
----------------------------------------------------------------------------
use-project theCore : ../ACore ;
exe test : [ glob src/*.cpp ]
/site-config//boost_system
/site-config//boost_serialization
: <include>../SCRATCH/src
<variant>debug:<define>DEBUG
;
--------------------------------------------------------------------------
Notice that I reference /site-config// to reference the boost libs.
for some reason in 1.42 this fails !
My site-config.file which is located in $BOOST_ROOT/tools/build/v2
is of the form:
------------------------------------------------------------------------
import os ;
local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
lib boost_serialization : : <file>$(BOOST_ROOT)/stage/lib/libboost_serialization.a ;
lib boost_system : : <file>$(BOOST_ROOT)/stage/lib/libboost_system.a ;
project site-config
: requirements <include>$(BOOST_ROOT)
;
using gcc ;
using testing ;
--------------------------------------------------------------------
My site-config.jam is the same between 1.40 and 1.42. There is
probably a silly mistake on my part somewhere, but its preventing me
from moving to 1.42.
Any help appreciated.
Best regards,
Ta,
Avi