Boost logo

Boost-Build :

Subject: [Boost-build] "duplicate name of actual target"
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-06-20 13:41:32


OK this one is driving me nuts, I have a really simple project:

import quickbook ;
import modules ;

local boost = [ modules.peek : BOOST ] ;

exe auto_index :
   ../src/auto_index.cpp
   ../src/file_scanning.cpp
   ../src/index_generator.cpp
   ../src/tiny_xml.cpp
   $(boost)/libs/regex/build//boost_regex
   $(boost)/libs/filesystem/build//boost_filesystem
   $(boost)/libs/system/build//boost_system
: <define>BOOST_ALL_NO_LIB=1 <link>static ;

#install bin : auto_index ;

But as soon as I uncomment the install rule I get:

Performing configuration checks

    - has_icu builds : no
m:/data/boost/trunk/tools/build/v2/build\virtual-target.jam:1066: in
virtual-tar
get.register-actual-name from module virtual-target
error: Duplicate name of actual target:
<pbin\msvc-10.0\debug\link-static\thread
ing-multi>auto_index.exe
error: previous virtual target { msvc%msvc.link-auto_index.exe.EXE {
msvc%msvc.c
ompile.c++-auto_index.obj.OBJ { ../src/auto_index.cpp.CPP } } {
msvc%msvc.compil
e.c++-file_scanning.obj.OBJ { ../src/file_scanning.cpp.CPP } } {
msvc%msvc.compi
le.c++-index_generator.obj.OBJ { ../src/index_generator.cpp.CPP } } {
msvc%msvc.
compile.c++-tiny_xml.obj.OBJ { ../src/tiny_xml.cpp.CPP } } {
msvc%msvc.archive-l
ibboost_regex-vc100-mt-gd-1_44.lib.STATIC_LIB {
msvc%msvc.compile.c++-c_regex_tr
aits.obj.OBJ { ../src/c_regex_traits.cpp.CPP } } {
msvc%msvc.compile.c++-cpp_reg
ex_traits.obj.OBJ { ../src/cpp_regex_traits.cpp.CPP } } {
msvc%msvc.compile.c++-
cregex.obj.OBJ { ../src/cregex.cpp.CPP } } {
msvc%msvc.compile.c++-fileiter.obj.
OBJ { ../src/fileiter.cpp.CPP } } { msvc%msvc.compile.c++-icu.obj.OBJ {
../src/i
cu.cpp.CPP } } { msvc%msvc.compile.c++-instances.obj.OBJ {
../src/instances.cpp.
CPP } } { msvc%msvc.compile.c++-posix_api.obj.OBJ {
../src/posix_api.cpp.CPP } }
 { msvc%msvc.compile.c++-regex.obj.OBJ { ../src/regex.cpp.CPP } } {
msvc%msvc.co
mpile.c++-regex_debug.obj.OBJ { ../src/regex_debug.cpp.CPP } } {
msvc%msvc.compi
le.c++-regex_raw_buffer.obj.OBJ { ../src/regex_raw_buffer.cpp.CPP } } {
msvc%msv
c.compile.c++-regex_traits_defaults.obj.OBJ {
../src/regex_traits_defaults.cpp.C
PP } } { msvc%msvc.compile.c++-static_mutex.obj.OBJ {
../src/static_mutex.cpp.CP
P } } { msvc%msvc.compile.c++-w32_regex_traits.obj.OBJ {
../src/w32_regex_traits
.cpp.CPP } } { msvc%msvc.compile.c++-wc_regex_traits.obj.OBJ {
../src/wc_regex_t
raits.cpp.CPP } } { msvc%msvc.compile.c++-wide_posix_api.obj.OBJ {
../src/wide_p
osix_api.cpp.CPP } } { msvc%msvc.compile.c++-winstances.obj.OBJ {
../src/winstan
ces.cpp.CPP } } { msvc%msvc.compile.c++-usinstances.obj.OBJ {
../src/usinstances
.cpp.CPP } } } {
msvc%msvc.archive-libboost_filesystem-vc100-mt-gd-1_44.lib.STAT
IC_LIB { msvc%msvc.compile.c++-v2/src\v2_operations.obj.OBJ {
v2/src/v2_operatio
ns.cpp.CPP } } { msvc%msvc.compile.c++-v2/src\v2_path.obj.OBJ {
v2/src/v2_path.c
pp.CPP } } { msvc%msvc.compile.c++-v2/src\v2_portability.obj.OBJ {
v2/src/v2_por
tability.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\operations.obj.OBJ {
v3/src/
operations.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\path.obj.OBJ {
v3/src/path
.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\portability.obj.OBJ {
v3/src/portabi
lity.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\utf8_codecvt_facet.obj.OBJ
{ v3/
src/utf8_codecvt_facet.cpp.CPP } } {
msvc%msvc.compile.c++-v3/src\codecvt_error_
category.obj.OBJ { v3/src/codecvt_error_category.cpp.CPP } } {
msvc%msvc.compile
.c++-v3/src\path_traits.obj.OBJ { v3/src/path_traits.cpp.CPP } } {
msvc%msvc.com
pile.c++-v3/src\unique_path.obj.OBJ { v3/src/unique_path.cpp.CPP } } {
msvc%msvc
.compile.c++-v3/src\windows_file_codecvt.obj.OBJ {
v3/src/windows_file_codecvt.c
pp.CPP } } } {
msvc%msvc.archive-libboost_system-vc100-mt-gd-1_44.lib.STATIC_LIB
 { msvc%msvc.compile.c++-error_code.obj.OBJ { error_code.cpp.CPP } } } {
msvc%ms
vc.archive-libboost_system-vc100-mt-gd-1_44.lib.STATIC_LIB {
msvc%msvc.compile.c
++-error_code.obj.OBJ { error_code.cpp.CPP } } } }
error: created from ./auto_index
error: another virtual target { msvc%msvc.link-auto_index.exe.EXE {
msvc%msvc.co
mpile.c++-auto_index.obj.OBJ { ../src/auto_index.cpp.CPP } } {
msvc%msvc.compile
.c++-file_scanning.obj.OBJ { ../src/file_scanning.cpp.CPP } } {
msvc%msvc.compil
e.c++-index_generator.obj.OBJ { ../src/index_generator.cpp.CPP } } {
msvc%msvc.c
ompile.c++-tiny_xml.obj.OBJ { ../src/tiny_xml.cpp.CPP } } {
msvc%msvc.archive-li
bboost_regex-vc100-mt-gd-1_44.lib.STATIC_LIB {
msvc%msvc.compile.c++-c_regex_tra
its.obj.OBJ { ../src/c_regex_traits.cpp.CPP } } {
msvc%msvc.compile.c++-cpp_rege
x_traits.obj.OBJ { ../src/cpp_regex_traits.cpp.CPP } } {
msvc%msvc.compile.c++-c
regex.obj.OBJ { ../src/cregex.cpp.CPP } } {
msvc%msvc.compile.c++-fileiter.obj.O
BJ { ../src/fileiter.cpp.CPP } } { msvc%msvc.compile.c++-icu.obj.OBJ {
../src/ic
u.cpp.CPP } } { msvc%msvc.compile.c++-instances.obj.OBJ {
../src/instances.cpp.C
PP } } { msvc%msvc.compile.c++-posix_api.obj.OBJ {
../src/posix_api.cpp.CPP } }
{ msvc%msvc.compile.c++-regex.obj.OBJ { ../src/regex.cpp.CPP } } {
msvc%msvc.com
pile.c++-regex_debug.obj.OBJ { ../src/regex_debug.cpp.CPP } } {
msvc%msvc.compil
e.c++-regex_raw_buffer.obj.OBJ { ../src/regex_raw_buffer.cpp.CPP } } {
msvc%msvc
.compile.c++-regex_traits_defaults.obj.OBJ {
../src/regex_traits_defaults.cpp.CP
P } } { msvc%msvc.compile.c++-static_mutex.obj.OBJ {
../src/static_mutex.cpp.CPP
 } } { msvc%msvc.compile.c++-w32_regex_traits.obj.OBJ {
../src/w32_regex_traits.
cpp.CPP } } { msvc%msvc.compile.c++-wc_regex_traits.obj.OBJ {
../src/wc_regex_tr
aits.cpp.CPP } } { msvc%msvc.compile.c++-wide_posix_api.obj.OBJ {
../src/wide_po
six_api.cpp.CPP } } { msvc%msvc.compile.c++-winstances.obj.OBJ {
../src/winstanc
es.cpp.CPP } } { msvc%msvc.compile.c++-usinstances.obj.OBJ {
../src/usinstances.
cpp.CPP } } } {
msvc%msvc.archive-libboost_filesystem-vc100-mt-gd-1_44.lib.STATI
C_LIB { msvc%msvc.compile.c++-v2/src\v2_operations.obj.OBJ {
v2/src/v2_operation
s.cpp.CPP } } { msvc%msvc.compile.c++-v2/src\v2_path.obj.OBJ {
v2/src/v2_path.cp
p.CPP } } { msvc%msvc.compile.c++-v2/src\v2_portability.obj.OBJ {
v2/src/v2_port
ability.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\operations.obj.OBJ {
v3/src/o
perations.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\path.obj.OBJ {
v3/src/path.
cpp.CPP } } { msvc%msvc.compile.c++-v3/src\portability.obj.OBJ {
v3/src/portabil
ity.cpp.CPP } } { msvc%msvc.compile.c++-v3/src\utf8_codecvt_facet.obj.OBJ
{ v3/s
rc/utf8_codecvt_facet.cpp.CPP } } {
msvc%msvc.compile.c++-v3/src\codecvt_error_c
ategory.obj.OBJ { v3/src/codecvt_error_category.cpp.CPP } } {
msvc%msvc.compile.
c++-v3/src\path_traits.obj.OBJ { v3/src/path_traits.cpp.CPP } } {
msvc%msvc.comp
ile.c++-v3/src\unique_path.obj.OBJ { v3/src/unique_path.cpp.CPP } } {
msvc%msvc.
compile.c++-v3/src\windows_file_codecvt.obj.OBJ {
v3/src/windows_file_codecvt.cp
p.CPP } } } {
msvc%msvc.archive-libboost_system-vc100-mt-gd-1_44.lib.STATIC_LIB
{ msvc%msvc.compile.c++-error_code.obj.OBJ { error_code.cpp.CPP } } } {
msvc%msv
c.archive-libboost_system-vc100-mt-gd-1_44.lib.STATIC_LIB {
msvc%msvc.compile.c+
+-error_code.obj.OBJ { error_code.cpp.CPP } } } }
error: created from ./auto_index
error: added properties: none
error: removed properties: <threadapi>win32
m:/data/boost/trunk/tools/build/v2/build\virtual-target.jam:490: in
actualize-no
-scanner from module object(file-target)@945
m:/data/boost/trunk/tools/build/v2/build\virtual-target.jam:135: in
object(file-
target)@945.actualize from module object(file-target)@945
m:/data/boost/trunk/tools/build/v2\build-system.jam:748: in load from module
bui
ld-system
m:\data\boost\trunk\tools\build\v2/kernel\modules.jam:283: in import from
module
 modules
m:\data\boost\trunk\tools\build\v2\kernel\bootstrap.jam:142: in boost-build
from
 module
M:\data\boost\sandbox\boost-build.jam:62: in module scope from module

What the blazes is going on here?

Thanks, John.


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