Boost logo

Boost-Build :

Subject: Re: [Boost-build] Bjam Update error in actualize?
From: Kcarr (kcarr_at_[hidden])
Date: 2014-05-23 13:51:16


All I have been able to get a little further. It seems the problem lies with
calling the $(vt).actualize. What gets. So in this loop:

for local force_gen_file in $(force_gen_files)
        {
            local vt = [ virtual-target.register $(force_gen_file) ] ;

            DEPENDS all : [ $(vt).actualize ] ;

            virtual_targets += $(vt) ;
        }

A symlink file gets passed in which causes the error on the .actualize.
Here is how i generate the symlink:

                    local header_symlink =
                        [ new file-target
                              $(base_name)
                            : H
                            : $(project)
                            : [ new action
                                  $(generated_h)
                                : symlink.ln
                                : $(property-set) ]
                            : $(project_inc_dir) ] ;

The header_symlink is added to the force_gen_files list that is passed in to
the for loop. generated_h is created by this code before the previous code:

                local generated_h =
                    [ new file-target $(base_name)
                        : H
                        : $(project)
                        : $(generate_h_action)
                        : $(project_src_dir) ] ;

When it hits the symlink it crashes with the below.

/usr/share/boost-build/tools/symlink.jam:115: in symlink.ln
*** argument error
* rule path.make ( native )
* called with: ( )
* missing argument native
/usr/share/boost-build/util/path.jam:508:see definition of rule 'path.make'
being called
/usr/share/boost-build/kernel/modules.jam:107: in modules.call-in
/usr/share/boost-build/util/indirect.jam:98: in indirect.call

As I mentioned this worked before so I dont know if there is a bug in the
symlink generation code now? The only way I know how to make it actually
create the symlink is to call actualize on it. Is there another way?

--
View this message in context: http://boost.2283326.n4.nabble.com/Bjam-Update-error-in-actualize-tp4662662p4662808.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