Modify

Opened 8 years ago

Closed 8 years ago

#3560 closed Bugs (fixed)

Duplicate name of actual target: <pstage/lib>libboost_graph_parallel-mt.so.1.40.0

Reported by: Sebastian Mingramm <s.mingramm@…> Owned by:
Milestone: To Be Determined Component: Building Boost
Version: Boost 1.40.0 Severity: Problem
Keywords: Cc:

Description

I try to build boost using the gentoo ebuild for boost-1.40.0 with mpi enabled. It uses the following options

  • Using the following options to build:
  • -sICU_PATH=/usr -sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/lib64 --user-config="/var/tmp/portage/dev-libs/boost-1.40.0/work/boost_1_40_0/user-config.jam" --boost-build=/usr/share/boost-build-1_40 --prefix="/var/tmp/portage/dev-libs/boost-1.40.0/imageusr" --layout=versioned

The user-config.jam:


variant gentoorelease : release : <optimization>none <debug-symbols>none ; variant gentoodebug : debug : <optimization>none ;

using gcc : 4.3 : x86_64-pc-linux-gnu-g++ : <cxxflags>"-O2 -march=x86-64 -mtune=core2 -pipe" <linkflags>"-Wl,-O1" ;

using python : 2.6 : /usr : /usr/include/python2.6 : /usr/lib/python2.6 ;

using mpi ;


the build error:


Building the Boost C++ Libraries.

After the build, the headers will be located at

/var/tmp/portage/dev-libs/boost-1.40.0/work/boost_1_40_0

The libraries will be located at

/var/tmp/portage/dev-libs/boost-1.40.0/work/boost_1_40_0/stage/lib

Use 'bjam install --prefix=<path>' if you wish to install headers and libraries to a different location and remove the source tree.

Note: Building Boost.Regex with Unicode/ICU support enabled

Using ICU in /usr/include

/usr/share/boost-build-1_40/build/virtual-target.jam:1056: in virtual-target.register-actual-name from module virtual-target error: Duplicate name of actual target: <pstage/lib>libboost_graph_parallel-mt-1_40.so.1.40.0 error: previous virtual target { common%common.copy-libboost_graph_parallel-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.link.dll-libboost_graph_parallel-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-mpi_process_group.o.OBJ { mpi_process_group.cpp.CPP } } { gcc%gcc.compile.c++-tag_allocator.o.OBJ { tag_allocator.cpp.CPP } } { gcc%gcc.link.dll-libboost_mpi-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-broadcast.o.OBJ { broadcast.cpp.CPP } } { gcc%gcc.compile.c++-communicator.o.OBJ { communicator.cpp.CPP } } { gcc%gcc.compile.c++-computation_tree.o.OBJ { computation_tree.cpp.CPP } } { gcc%gcc.compile.c++-content_oarchive.o.OBJ { content_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-environment.o.OBJ { environment.cpp.CPP } } { gcc%gcc.compile.c++-exception.o.OBJ { exception.cpp.CPP } } { gcc%gcc.compile.c++-graph_communicator.o.OBJ { graph_communicator.cpp.CPP } } { gcc%gcc.compile.c++-group.o.OBJ { group.cpp.CPP } } { gcc%gcc.compile.c++-intercommunicator.o.OBJ { intercommunicator.cpp.CPP } } { gcc%gcc.compile.c++-mpi_datatype_cache.o.OBJ { mpi_datatype_cache.cpp.CPP } } { gcc%gcc.compile.c++-mpi_datatype_oarchive.o.OBJ { mpi_datatype_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_iarchive.o.OBJ { packed_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_oarchive.o.OBJ { packed_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_skeleton_iarchive.o.OBJ { packed_skeleton_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_skeleton_oarchive.o.OBJ { packed_skeleton_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-point_to_point.o.OBJ { point_to_point.cpp.CPP } } { gcc%gcc.compile.c++-request.o.OBJ { request.cpp.CPP } } { gcc%gcc.compile.c++-text_skeleton_oarchive.o.OBJ { text_skeleton_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-timer.o.OBJ { timer.cpp.CPP } } { gcc%gcc.link.dll-libboost_serialization-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-basic_archive.o.OBJ { basic_archive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iarchive.o.OBJ { basic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iserializer.o.OBJ { basic_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_oarchive.o.OBJ { basic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_oserializer.o.OBJ { basic_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_iserializer.o.OBJ { basic_pointer_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_oserializer.o.OBJ { basic_pointer_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_serializer_map.o.OBJ { basic_serializer_map.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_iprimitive.o.OBJ { basic_text_iprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_oprimitive.o.OBJ { basic_text_oprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_xml_archive.o.OBJ { basic_xml_archive.cpp.CPP } } { gcc%gcc.compile.c++-binary_iarchive.o.OBJ { binary_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-binary_oarchive.o.OBJ { binary_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info.o.OBJ { extended_type_info.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_typeid.o.OBJ { extended_type_info_typeid.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_no_rtti.o.OBJ { extended_type_info_no_rtti.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_iarchive.o.OBJ { polymorphic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_oarchive.o.OBJ { polymorphic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-stl_port.o.OBJ { stl_port.cpp.CPP } } { gcc%gcc.compile.c++-text_iarchive.o.OBJ { text_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-text_oarchive.o.OBJ { text_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-void_cast.o.OBJ { void_cast.cpp.CPP } } { gcc%gcc.compile.c++-xml_grammar.o.OBJ { xml_grammar.cpp.CPP } } { gcc%gcc.compile.c++-xml_iarchive.o.OBJ { xml_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-xml_oarchive.o.OBJ { xml_oarchive.cpp.CPP } } } } { gcc%gcc.link.dll-libboost_serialization-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-basic_archive.o.OBJ { basic_archive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iarchive.o.OBJ { basic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iserializer.o.OBJ { basic_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_oarchive.o.OBJ { basic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_oserializer.o.OBJ { basic_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_iserializer.o.OBJ { basic_pointer_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_oserializer.o.OBJ { basic_pointer_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_serializer_map.o.OBJ { basic_serializer_map.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_iprimitive.o.OBJ { basic_text_iprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_oprimitive.o.OBJ { basic_text_oprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_xml_archive.o.OBJ { basic_xml_archive.cpp.CPP } } { gcc%gcc.compile.c++-binary_iarchive.o.OBJ { binary_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-binary_oarchive.o.OBJ { binary_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info.o.OBJ { extended_type_info.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_typeid.o.OBJ { extended_type_info_typeid.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_no_rtti.o.OBJ { extended_type_info_no_rtti.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_iarchive.o.OBJ { polymorphic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_oarchive.o.OBJ { polymorphic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-stl_port.o.OBJ { stl_port.cpp.CPP } } { gcc%gcc.compile.c++-text_iarchive.o.OBJ { text_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-text_oarchive.o.OBJ { text_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-void_cast.o.OBJ { void_cast.cpp.CPP } } { gcc%gcc.compile.c++-xml_grammar.o.OBJ { xml_grammar.cpp.CPP } } { gcc%gcc.compile.c++-xml_iarchive.o.OBJ { xml_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-xml_oarchive.o.OBJ { xml_oarchive.cpp.CPP } } } } } error: created from ./stage-proper error: another virtual target { common%common.copy-libboost_graph_parallel-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.link.dll-libboost_graph_parallel-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-mpi_process_group.o.OBJ { mpi_process_group.cpp.CPP } } { gcc%gcc.compile.c++-tag_allocator.o.OBJ { tag_allocator.cpp.CPP } } { gcc%gcc.link.dll-libboost_mpi-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-broadcast.o.OBJ { broadcast.cpp.CPP } } { gcc%gcc.compile.c++-communicator.o.OBJ { communicator.cpp.CPP } } { gcc%gcc.compile.c++-computation_tree.o.OBJ { computation_tree.cpp.CPP } } { gcc%gcc.compile.c++-content_oarchive.o.OBJ { content_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-environment.o.OBJ { environment.cpp.CPP } } { gcc%gcc.compile.c++-exception.o.OBJ { exception.cpp.CPP } } { gcc%gcc.compile.c++-graph_communicator.o.OBJ { graph_communicator.cpp.CPP } } { gcc%gcc.compile.c++-group.o.OBJ { group.cpp.CPP } } { gcc%gcc.compile.c++-intercommunicator.o.OBJ { intercommunicator.cpp.CPP } } { gcc%gcc.compile.c++-mpi_datatype_cache.o.OBJ { mpi_datatype_cache.cpp.CPP } } { gcc%gcc.compile.c++-mpi_datatype_oarchive.o.OBJ { mpi_datatype_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_iarchive.o.OBJ { packed_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_oarchive.o.OBJ { packed_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_skeleton_iarchive.o.OBJ { packed_skeleton_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-packed_skeleton_oarchive.o.OBJ { packed_skeleton_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-point_to_point.o.OBJ { point_to_point.cpp.CPP } } { gcc%gcc.compile.c++-request.o.OBJ { request.cpp.CPP } } { gcc%gcc.compile.c++-text_skeleton_oarchive.o.OBJ { text_skeleton_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-timer.o.OBJ { timer.cpp.CPP } } { gcc%gcc.link.dll-libboost_serialization-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-basic_archive.o.OBJ { basic_archive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iarchive.o.OBJ { basic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iserializer.o.OBJ { basic_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_oarchive.o.OBJ { basic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_oserializer.o.OBJ { basic_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_iserializer.o.OBJ { basic_pointer_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_oserializer.o.OBJ { basic_pointer_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_serializer_map.o.OBJ { basic_serializer_map.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_iprimitive.o.OBJ { basic_text_iprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_oprimitive.o.OBJ { basic_text_oprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_xml_archive.o.OBJ { basic_xml_archive.cpp.CPP } } { gcc%gcc.compile.c++-binary_iarchive.o.OBJ { binary_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-binary_oarchive.o.OBJ { binary_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info.o.OBJ { extended_type_info.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_typeid.o.OBJ { extended_type_info_typeid.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_no_rtti.o.OBJ { extended_type_info_no_rtti.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_iarchive.o.OBJ { polymorphic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_oarchive.o.OBJ { polymorphic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-stl_port.o.OBJ { stl_port.cpp.CPP } } { gcc%gcc.compile.c++-text_iarchive.o.OBJ { text_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-text_oarchive.o.OBJ { text_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-void_cast.o.OBJ { void_cast.cpp.CPP } } { gcc%gcc.compile.c++-xml_grammar.o.OBJ { xml_grammar.cpp.CPP } } { gcc%gcc.compile.c++-xml_iarchive.o.OBJ { xml_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-xml_oarchive.o.OBJ { xml_oarchive.cpp.CPP } } } } { gcc%gcc.link.dll-libboost_serialization-mt-1_40.so.1.40.0.SHARED_LIB { gcc%gcc.compile.c++-basic_archive.o.OBJ { basic_archive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iarchive.o.OBJ { basic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_iserializer.o.OBJ { basic_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_oarchive.o.OBJ { basic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-basic_oserializer.o.OBJ { basic_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_iserializer.o.OBJ { basic_pointer_iserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_pointer_oserializer.o.OBJ { basic_pointer_oserializer.cpp.CPP } } { gcc%gcc.compile.c++-basic_serializer_map.o.OBJ { basic_serializer_map.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_iprimitive.o.OBJ { basic_text_iprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_text_oprimitive.o.OBJ { basic_text_oprimitive.cpp.CPP } } { gcc%gcc.compile.c++-basic_xml_archive.o.OBJ { basic_xml_archive.cpp.CPP } } { gcc%gcc.compile.c++-binary_iarchive.o.OBJ { binary_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-binary_oarchive.o.OBJ { binary_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info.o.OBJ { extended_type_info.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_typeid.o.OBJ { extended_type_info_typeid.cpp.CPP } } { gcc%gcc.compile.c++-extended_type_info_no_rtti.o.OBJ { extended_type_info_no_rtti.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_iarchive.o.OBJ { polymorphic_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-polymorphic_oarchive.o.OBJ { polymorphic_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-stl_port.o.OBJ { stl_port.cpp.CPP } } { gcc%gcc.compile.c++-text_iarchive.o.OBJ { text_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-text_oarchive.o.OBJ { text_oarchive.cpp.CPP } } { gcc%gcc.compile.c++-void_cast.o.OBJ { void_cast.cpp.CPP } } { gcc%gcc.compile.c++-xml_grammar.o.OBJ { xml_grammar.cpp.CPP } } { gcc%gcc.compile.c++-xml_iarchive.o.OBJ { xml_iarchive.cpp.CPP } } { gcc%gcc.compile.c++-xml_oarchive.o.OBJ { xml_oarchive.cpp.CPP } } } } } error: created from ./stage-proper error: added properties: none error: removed properties: <threading>single /usr/share/boost-build-1_40/build/virtual-target.jam:480: in actualize-no-scanner from module object(file-target)@6083 /usr/share/boost-build-1_40/build/virtual-target.jam:130: in object(file-target)@6083.actualize from module object(file-target)@6083 /usr/share/boost-build-1_40/build-system.jam:713: in load from module build-system /usr/share/boost-build-1_40/kernel/modules.jam:283: in import from module modules /usr/share/boost-build-1_40/kernel/bootstrap.jam:138: in boost-build from module /var/tmp/portage/dev-libs/boost-1.40.0/work/boost_1_40_0/boost-build.jam:16: in module scope from module


Note that passing threading=multi instead of threading=single,multi makes the error go away.

Also note that it doesn't fail if mpi is not enabled.

The corresponding gentoo bug is: https://bugs.gentoo.org/show_bug.cgi?id=283106

Attachments (0)

Change History (2)

comment:1 Changed 8 years ago by steven_watanabe

This appears to be a result of using <threading>multi in the usage requirements. This is a problem, because <threading>multi is not a free feature. The graph_parallel Jamfile needs to add [ mpi.extra-requirements ] to the requirements of boost_graph_parallel in addition to pbgl.

comment:2 Changed 8 years ago by vladimir_prus

  • Resolution set to fixed
  • Status changed from new to closed

(In [57526]) Simplify Jamfile. Fixes #3560

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.