|
Boost-Build : |
Subject: Re: [Boost-build] Bjam Update error in actualize?
From: Kcarr (kcarr_at_[hidden])
Date: 2014-06-02 16:31:00
I have found the cause of my problem but I am unsure of what it was added.
In 1.54 in the virtual-target.jam file in the rule actualize-location
(target) there was an added check at the beginning for scanner-target.
if $(self.action) &&* ! $(is-scanner-target)*
This new code causes LOCATE var to never be set. If I comment out the new
check as it was in 1.53 and it works again. There is a huge comment in the
code about scanner targets but I am not sure what it is refering to. I have
setup a simple test case that will recreate the jam crash. Create a folder
and copy the below into a jam file. I have an empty Jamroot. This will run
in 1.53 but fail in 1.54:
ECHO "This will test symlink...." ;
import "class" : new ;
import virtual-target ;
#setup vars
local base_name = base ;
local project = test_proj ;
local project_src_dir = src ;
local project_inc_dir = include ;
local h_action = [ new null-action $(property-set) ] ;
local h_file =
[ new file-target $(base_name)
: H
: $(project)
: $(h_action)
: $(project_src_dir) ] ;
local header_symlink =
[ new file-target
$(base_name)
: H
: $(project)
: [ new action
$(h_file)
: symlink.ln
: $(property-set) ]
: $(project_inc_dir) ] ;
local vt = [ virtual-target.register $(header_symlink) ] ;
$(vt).actualize ;
I had a blank .h file in a src folder and an empty include folder but that
didnt seem to change anything for the run.
This seems to be a bug in the new build with using LOCATE in the symlink.jam
file when it shouldnt be used and instead SEARCH var should be used. But
again I am not sure, there seems to be more to it.
-Kip
-- View this message in context: http://boost.2283326.n4.nabble.com/Bjam-Update-error-in-actualize-tp4662662p4663259.html Sent from the Boost - Build mailing list archive at Nabble.com.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk