Boost logo

Boost-Build :

From: Ren Zhi Zhang (icouldnotsee_at_[hidden])
Date: 2006-07-09 22:27:27

I ran into some issues when "variant", "install" and "define" are used
together. Inside my project directory is a Jamroot with the following
(slightly edited to save space):

    variant package : release ;
    # some code ...
    lib $(name) : [ glob *.cpp ] ;
    # some more code ...
    install misc : $(name) : <location>/$(name) <install-type>SHARED_LIB ;

I used the following commands to built "package" and all of them works as
you would expect:

    bjam package
    bjam package optimization=space
    bjam package define=NDEBUG

But this won't (and contrast it with with the last example from above):

    bjam package define=ANYTHING

Ironically, the problem disappears when "package" is changed back to either
"release" or "debug":

    bjam debug define=ANYTHING
    bjam release define=ANYTHING

Has anyone run into similar situations before? When I comment out the
"install" line in my Jamroot everything would build just fine, so I came to
the conclusion that it just might be an issue when "variant", "install" and
"define" are used together. Can anyone help? I've attached the errors
messages at the end in case anyone want to see it.

bjam 3.1.13 on Windows XP using the Command Prompt

Thank you!

Ren Zhi

C:/Program Files/build/v2/build\virtual-target.jam:868: in
virtual-target.register-actual-name from module virtual-target
error: Duplicate name of actual target: <pbin\msvc\package>rzHelloCmd.dll
error: previous virtual target { {
msvc%msvc.compile.c++-rzHelloCmd.obj.OBJ { rzHelloCmd.cpp.CPP } } }
error: created from ./rzHelloCmd
error: another virtual target {
{ msvc%msvc.compile.c++-rzHelloCmd.obj.OBJ { rzHelloCmd.cpp.CPP } } }
error: created from ./rzHelloCmd
error: added properties: none
error: removed properties: <define>ANYTHING
C:/Program Files/build/v2/build\virtual-target.jam:175: in
actualize-no-scanner from module object(file-target)@6
C:/Program Files/build/v2/build\virtual-target.jam:110: in
object(file-target)@6.actualize from module object(file-target)@6
C:/Program Files/build/v2/build\virtual-target.jam:693: in
actualize-source-type from module object(action)@3
C:/Program Files/build/v2/build\virtual-target.jam:714: in actualize-sources
from module object(action)@3
C:/Program Files/build/v2/build\virtual-target.jam:659: in
object(action)@3.actualize from module object(action)@3
C:/Program Files/build/v2/build\virtual-target.jam:287: in actualize-action
from module object(file-target)@9
C:/Program Files/build/v2/build\virtual-target.jam:182: in
actualize-no-scanner from module object(file-target)@9
C:/Program Files/build/v2/build\virtual-target.jam:110: in
object(file-target)@9.actualize from module object(file-target)@9
C:/Program Files/build/v2\build-system.jam:285: in load from module
C:\Program Files\build\v2/kernel\modules.jam:259: in import from module
C:\Program Files\build\v2/kernel/bootstrap.jam:153: in boost-build from
C:\Program Files\build\v2\boost-build.jam:2: in module scope from module

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