Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-06-08 05:49:57


Hi Jürgen,

> e:/libraries/boost_cvs/tools/build/v2/build\virtual-target.jam:797: in
> virtual-target.register-actual-name from module virtual-target
> error: Duplicate name of actual target: <p..\..
> \libraries\flexlm\v9.2\i86_n3>lmgr_md.lib
> previous virtual target { %.no-action-lmgr_md.STATIC_LIB }
> another virtual target { %.no-action-lmgr_md.STATIC_LIB }
....
> I have declared
>
> # Build library-target for flexlm
> lib flexlm : : <file>$(FLEXLM_ROOT)/i86_n3/lmgr_md.lib ;

Try replacing this with

alias flexlm : $(FLEXLM_ROOT)/i86_n3/lmgr_md.lib ;

The <file> feature is going to be deprecated soon.

> alias flex : $(FLEXLM_ROOT)/i86_n3/lm_new.obj flexlm ;
...
> This triggers 2 things:
> 1) First, this warning of duplicate target, because each library links
> against flexlm (and the lm_new.obj file containing the encryption keys)
> and then the exe is linked against flexlm, too.

I believe this error should gone if you change <file> to alias.

> Or my 3 spezial files which must be compiled with <optimizion>off
> trigger this. I'm not quite sure about that.
>
> 2) The resulting link action for the exe target contains 1 occurence of
> the flexlm library and lm_new.obj for _each_ V2-generated library.
> This kills gcc because it can't link the same .o file twice and link.exe
> at leads spills out a warning.

I'll look at this.

Thanks,
Volodya

 


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