sandialabs / distBVH

Distributed asynchronous contact search with DARMA/vt
Other
2 stars 3 forks source link

Build issues with VT #36

Closed Logan590 closed 2 months ago

Logan590 commented 2 months ago

Environment :

With the following CMake command :

cmake -S distBVH/ \
-B build/ \
-DCMAKE_INSTALL_PREFIX=~/dev/NimbleSM/bvh/install \
-DCMAKE_BUILD_TYPE=Debug \
-DKokkos_ROOT=~/dev/NimbleSM/Kokkos/install \
-Dvt_DIR=~/dev/NimbleSM/vt/build/vt/install/cmake \
-DVTK_DIR=~/dev/NimbleSM/vtk/install \
-DBVH_DEBUG_LEVEL=5 \
-Dspdlog_DIR=~/dev/NimbleSM/spdlog/install/lib/cmake/spdlog \
-DCMAKE_C_COMPILER=gcc-11 \
-DCMAKE_CXX_COMPILER=g++-11

When running make -j24 :

[ 32%] Building CXX object CMakeFiles/bvh.dir/src/bvh/collision_world/impl.cpp.o
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/patch.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_query.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world.hpp:38,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/patch.hpp:42,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_query.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world.hpp:38,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../patch.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../collision_query.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../collision_world.hpp:38,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/impl.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/impl.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../snapshot.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../patch.hpp:42,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../collision_query.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../collision_world.hpp:38,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/impl.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/impl.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world/../kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../node.hpp:37,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../tree.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/types.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/broadphase.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/broadphase.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../node.hpp:37,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../tree.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/types.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/broadphase.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/broadphase.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../node.hpp:37,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../tree.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/types.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/top_down.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/top_down.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../node.hpp:37,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../tree.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/types.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/top_down.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/top_down.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../node.hpp:37,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../tree.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/types.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/narrowphase.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/narrowphase.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../node.hpp:37,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../tree.hpp:41,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/types.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/narrowphase.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/narrowphase.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../snapshot.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../collision_object.hpp:43,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/impl.hpp:38,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/impl.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.hpp:43,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../snapshot.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../collision_object.hpp:43,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/impl.hpp:38,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/impl.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object/../kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.hpp:43,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world.cpp: In constructor ‘bvh::collision_world::collision_world(std::size_t, const bvh::world_config&)’:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_world.cpp:61:39: error: ‘theTrace’ is not a member of ‘vt’; did you mean ‘trace’?
   61 |     m_impl->bvh_impl_functor_ = ::vt::theTrace()->registerUserEventColl( user_event_name);
      |                                       ^~~~~~~~
      |                                       trace
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp: In constructor ‘bvh::collision_object::collision_object(bvh::collision_world&, std::size_t, std::size_t)’:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:80:38: error: ‘theTrace’ is not a member of ‘vt’; did you mean ‘trace’?
   80 |     bvh_splitting_geom_axis_ = ::vt::theTrace()->registerUserEventColl( "bvh_splitting_geom_axis_" );
      |                                      ^~~~~~~~
      |                                      trace
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:82:31: error: ‘theTrace’ is not a member of ‘vt’; did you mean ‘trace’?
   82 |     bvh_splitting_ml_ = ::vt::theTrace()->registerUserEventColl( "bvh_splitting_ml_" );
      |                               ^~~~~~~~
      |                               trace
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:84:39: error: ‘theTrace’ is not a member of ‘vt’; did you mean ‘trace’?
   84 |     bvh_set_entity_data_impl_ = ::vt::theTrace()->registerUserEventColl( "bvh_set_entity_data_impl_" );
      |                                       ^~~~~~~~
      |                                       trace
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:86:29: error: ‘theTrace’ is not a member of ‘vt’; did you mean ‘trace’?
   86 |     bvh_clustering_ = ::vt::theTrace()->registerUserEventColl( "bvh_clustering_" );
      |                             ^~~~~~~~
      |                             trace
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/collision_object.cpp:88:30: error: ‘theTrace’ is not a member of ‘vt’; did you mean ‘trace’?
   88 |     bvh_build_trees_ = ::vt::theTrace()->registerUserEventColl( "bvh_build_trees_" );
      |                              ^~~~~~~~
      |                              trace

When just running make:

[  4%] Building CXX object CMakeFiles/bvh.dir/src/bvh/snapshot.cpp.o
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:36,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected template-name before ‘<’ token
  347 | struct fmt::formatter< bvh::m::vec< T, N > > : nested_formatter< T >
      |                                                                ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/math/vec.hpp:347:64: error: expected ‘{’ before ‘<’ token
In file included from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.hpp:40,
                 from /home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/snapshot.cpp:33:
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected template-name before ‘<’ token
  719 | struct fmt::formatter< bvh::extent< T > > : nested_formatter< T >
      |                                                             ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:719:61: error: expected ‘{’ before ‘<’ token
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected template-name before ‘<’ token
  730 | struct fmt::formatter< bvh::kdop_base< T, K, D > > : nested_formatter< bvh::extent< T > >
      |                                                                      ^
/home/logan/dev/NimbleSM/bvh/distBVH/src/bvh/kdop.hpp:730:70: error: expected ‘{’ before ‘<’ token
cz4rs commented 2 months ago

Please make sure that both spdlog and vt are configured to use external fmt. For vt, this is controlled with vt_external_fmt CMake option.

Logan590 commented 2 months ago

I used fmt 10.2.1, and I build spdlog with : -DSPDLOG_FMT_EXTERNAL=ON