Boost logo

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
                : H
                : $(project)
                : [ new action
                        : 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.


View this message in context:
Sent from the Boost - Build mailing list archive at

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at