Boost logo

Boost-Build :

From: TEMPLIE Cédric (cedric.templie_at_[hidden])
Date: 2004-12-21 09:48:16


This is the error message
C:/Echo/Boost/boost-build/build\virtual-target.jam:829: in
virtual-target.register-actual-name from module virtual-target
error: Duplicate name of actual target: <pP:\lib\windows>su_base.dll
error: previous virtual target { common%common.copy-su_base.SHARED_LIB {
msvc%msvc.link.dll-su_base.SHARED_LIB {
msvc%msvc.compile.c-ConvertUTF.OBJ { ConvertUTF.C } } {
msvc%msvc.compile.c++-std_su_base.OBJ { std_su_base.CPP } } {
msvc%msvc.compile.c++-suglobalmutex.OBJ { suglobalmutex.CPP } } {
msvc%msvc.compile.c++-suGlobalMutexBase.OBJ { suGlobalMutexBase.CPP } }
{ msvc%msvc.compile.c++-su_archive.OBJ { su_archive.CPP } } {
msvc%msvc.compile.c++-su_base.OBJ { su_base.CPP } } {
msvc%msvc.compile.c++-su_byte_array.OBJ { su_byte_array.CPP } } {
msvc%msvc.compile.c++-su_date.OBJ { su_date.CPP } } {
msvc%msvc.compile.c++-su_date_span.OBJ { su_date_span.CPP } } {
msvc%msvc.compile.c++-su_date_time.OBJ { su_date_time.CPP } } {
msvc%msvc.compile.c++-su_date_time_interval.OBJ {
su_date_time_interval.CPP } } {
msvc%msvc.compile.c++-su_date_time_span.OBJ { su_date_time_span.CPP } }
{ msvc%msvc.compile.c++-su_dt_base.OBJ { su_dt_base.CPP } } {
msvc%msvc.compile.c++-su_exc.OBJ { su_exc.CPP } } {
msvc%msvc.compile.c++-su_file.OBJ { su_file.CPP } } {
msvc%msvc.compile.c++-su_fsutil.OBJ { su_fsutil.CPP } } {
msvc%msvc.compile.c++-su_log.OBJ { su_log.CPP } } {
msvc%msvc.compile.c++-su_mem_block_alloc.OBJ { su_mem_block_alloc.CPP }
} { msvc%msvc.compile.c++-su_path.OBJ { su_path.CPP } } {
msvc%msvc.compile.c++-su_registry.OBJ { su_registry.CPP } } {
msvc%msvc.compile.c++-su_string.OBJ { su_string.CPP } } {
msvc%msvc.compile.c++-su_time.OBJ { su_time.CPP } } {
msvc%msvc.compile.c++-su_timer.OBJ { su_timer.CPP } } {
msvc%msvc.compile.c++-su_time_span.OBJ { su_time_span.CPP } } {
msvc%msvc.compile.c++-su_unix_util.OBJ { su_unix_util.CPP } } } }
error: created from SIPS\Libraries\su_base\Jamfile:57
error: another virtual target { common%common.copy-su_base.SHARED_LIB {
common%common.copy-su_base.SHARED_LIB {
msvc%msvc.link.dll-su_base.SHARED_LIB {
msvc%msvc.compile.c-ConvertUTF.OBJ { ConvertUTF.C } } {
msvc%msvc.compile.c++-std_su_base.OBJ { std_su_base.CPP } } {
msvc%msvc.compile.c++-suglobalmutex.OBJ { suglobalmutex.CPP } } {
msvc%msvc.compile.c++-suGlobalMutexBase.OBJ { suGlobalMutexBase.CPP } }
{ msvc%msvc.compile.c++-su_archive.OBJ { su_archive.CPP } } {
msvc%msvc.compile.c++-su_base.OBJ { su_base.CPP } } {
msvc%msvc.compile.c++-su_byte_array.OBJ { su_byte_array.CPP } } {
msvc%msvc.compile.c++-su_date.OBJ { su_date.CPP } } {
msvc%msvc.compile.c++-su_date_span.OBJ { su_date_span.CPP } } {
msvc%msvc.compile.c++-su_date_time.OBJ { su_date_time.CPP } } {
msvc%msvc.compile.c++-su_date_time_interval.OBJ {
su_date_time_interval.CPP } } {
msvc%msvc.compile.c++-su_date_time_span.OBJ { su_date_time_span.CPP } }
{ msvc%msvc.compile.c++-su_dt_base.OBJ { su_dt_base.CPP } } {
msvc%msvc.compile.c++-su_exc.OBJ { su_exc.CPP } } {
msvc%msvc.compile.c++-su_file.OBJ { su_file.CPP } } {
msvc%msvc.compile.c++-su_fsutil.OBJ { su_fsutil.CPP } } {
msvc%msvc.compile.c++-su_log.OBJ { su_log.CPP } } {
msvc%msvc.compile.c++-su_mem_block_alloc.OBJ { su_mem_block_alloc.CPP }
} { msvc%msvc.compile.c++-su_path.OBJ { su_path.CPP } } {
msvc%msvc.compile.c++-su_registry.OBJ { su_registry.CPP } } {
msvc%msvc.compile.c++-su_string.OBJ { su_string.CPP } } {
msvc%msvc.compile.c++-su_time.OBJ { su_time.CPP } } {
msvc%msvc.compile.c++-su_timer.OBJ { su_timer.CPP } } {
msvc%msvc.compile.c++-su_time_span.OBJ { su_time_span.CPP } } {
msvc%msvc.compile.c++-su_unix_util.OBJ { su_unix_util.CPP } } } } }
error: created from SIPS\Libraries\su_thread\Jamfile:51
error: added properties: none
error: removed properties: none

the 57th line of su_base is <location>$(LIB_ROOT) in rule export_lib
the 51st line of su_thread is <location>$(LIB_ROOT) in rule export_lib

TEMPLIE Cédric wrote:

> Hi,
>
> To explain my issue, I explain my configuration.
> I have 2 projects 1 and 2.
> Project2 uses Project1. The following Jamfiles are in folders of
> Project1 and Project2.
>
> #
> # Project1
> #
> project project1
> : source-location
> : requirements
> #MSVC
> #DEFINE
> #LINKFLAGS
> ;
>
> # Main target : to build the library and export headers
> alias library : project1 export_lib export_headers ;
> explicit project1 export_lib export_headers ;
>
> # Files needed to build the project
> local cppFiles = [ glob *.cpp *.c ] ;
>
> # Headers to export
> local headers = [ glob *.h ] ;
>
> # Build the project from source files
> lib project1
> : $(cppFiles:BS)
> ;
>
> # Exports
> stage export_headers
> : $(headers)
> : <location>$(INCLUDE_ROOT)
> ;
>
> stage export_lib
> : project1
> : <location>$(LIB_ROOT)
> <include-type>LIB
> ;
>
> #
> # Project2
> #
> project project2
> : source-location
> : requirements
> #MSVC
> #DEFINE
> #LINKFLAGS
> ;
>
> # Main target : to build the library and export headers
> alias library : project2 export_lib export_headers ;
> explicit project2 export_lib export_headers ;
>
> # Files needed to build the project
> local cppFiles = [ glob *.cpp *.c ] ;
>
> # Headers to export
> local headers = [ glob *.h ] ;
>
> # Build the project from source files
> lib project2
> : $(cppFiles:BS)
> : <source>/project1//library
> ;
>
> # Exports
> stage export_headers
> : $(headers)
> : <location>$(INCLUDE_ROOT)
> ;
>
> stage export_lib
> : project2
> : <location>$(LIB_ROOT)
> <include-type>LIB
> ;
>
>
> The problem is that I need something like <source> (building the
> project1 and use results for building the project2) but when I stage the
> project1, I do not want to stage the project2... That is the duplicate
> target error I have...
>
> I see that there is <use>, but use do not link with the generated lib,
> so I have to specify the name of the lib in linkflags (it is fastidious
> as I have 2 names depends on release or debug version).
>
> If someone has an idea to help me ? or if my problem is not enough
> clear, do not hesitate to ask ?
>
> One more time, thanks in advance.
>
> TEMPLIE Cédric
>
>
> *Yahoo! Groups Sponsor*
> ADVERTISEMENT
> click here
> <http://us.ard.yahoo.com/SIG=129ci97pl/M=298184.5639630.6699735.3001176/D=groups/S=1707281907:HM/EXP=1103726042/A=2434971/R=0/SIG=11eeoolb0/*http://www.netflix.com/Default?mqso=60185400>
>
>
>
> ------------------------------------------------------------------------
> *Yahoo! Groups Links*
>
> * To visit your group on the web, go to:
> http://groups.yahoo.com/group/jamboost/
>
> * To unsubscribe from this group, send an email to:
> jamboost-unsubscribe_at_[hidden]
> <mailto:jamboost-unsubscribe_at_[hidden]?subject=Unsubscribe>
>
> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/>.
>
>

 


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