diff --git a/distros/lyrical/patch/ros2-fuse-viz.patch b/distros/lyrical/patch/ros2-fuse-viz.patch new file mode 100644 index 00000000..0b12fe2d --- /dev/null +++ b/distros/lyrical/patch/ros2-fuse-viz.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5a24db7..540d97e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,13 +23,13 @@ find_package(tf2_geometry_msgs REQUIRED) + + find_package(Eigen3 REQUIRED) + find_package(gtest_vendor) +-find_package(Qt5 COMPONENTS Core Widgets REQUIRED) ++find_package(Qt6 COMPONENTS Core Widgets REQUIRED) + + ########### + ## Build ## + ########### + +-qt5_wrap_cpp(moc_files ++qt6_wrap_cpp(moc_files + include/fuse_viz/mapped_covariance_property.hpp + include/fuse_viz/pose_2d_stamped_property.hpp + include/fuse_viz/relative_pose_2d_stamped_constraint_property.hpp +@@ -61,7 +61,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE + target_include_directories(${PROJECT_NAME} PUBLIC + $ + $ +- ${Qt5Widgets_INCLUDE_DIRS} ++ ${Qt6Widgets_INCLUDE_DIRS} + ) + + ############# diff --git a/distros/rolling/patch/ros2-fuse-viz.patch b/distros/rolling/patch/ros2-fuse-viz.patch new file mode 100644 index 00000000..0b12fe2d --- /dev/null +++ b/distros/rolling/patch/ros2-fuse-viz.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5a24db7..540d97e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,13 +23,13 @@ find_package(tf2_geometry_msgs REQUIRED) + + find_package(Eigen3 REQUIRED) + find_package(gtest_vendor) +-find_package(Qt5 COMPONENTS Core Widgets REQUIRED) ++find_package(Qt6 COMPONENTS Core Widgets REQUIRED) + + ########### + ## Build ## + ########### + +-qt5_wrap_cpp(moc_files ++qt6_wrap_cpp(moc_files + include/fuse_viz/mapped_covariance_property.hpp + include/fuse_viz/pose_2d_stamped_property.hpp + include/fuse_viz/relative_pose_2d_stamped_constraint_property.hpp +@@ -61,7 +61,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE + target_include_directories(${PROJECT_NAME} PUBLIC + $ + $ +- ${Qt5Widgets_INCLUDE_DIRS} ++ ${Qt6Widgets_INCLUDE_DIRS} + ) + + ############# diff --git a/shared/patch/ros2-fuse-graphs.patch b/shared/patch/ros2-fuse-graphs.patch new file mode 100644 index 00000000..c88ae7e8 --- /dev/null +++ b/shared/patch/ros2-fuse-graphs.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1b0ac27..43fab5b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,7 +45,10 @@ include(boost-extras.cmake) + # /nix/store/b7hvml0m3qmqraz1022fwvyyg6fc1vdy-gcc-12.2.0/include/c++/12.2.0/bits/std_function.h:267:7: note: by argument 2 of type ‘const std::_Any_data&’ to ‘static bool std::_Function_handler<_Res(_ArgTypes ...), _Functor>::_M_manager(std::_Any_data&, const std::_Any_data&, std::_Manager_operation) [with _Res = const fuse_core::Variable&; _Functor = fuse_graphs::HashGraph::getVariables() const::, boost::hash >::value_type&)>; _ArgTypes = {const std::pair >&}]’ declared here + # 267 | _M_manager(_Any_data& __dest, const _Any_data& __source, + # | ^~~~~~~~~~ +-add_compile_options(-Wall -Werror -Wno-maybe-uninitialized) ++add_compile_options(-Wall -Werror) ++if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") ++ add_compile_options(-Wno-maybe-uninitialized) ++endif() + + ## fuse_graphs library + add_library(${PROJECT_NAME} diff --git a/shared/tests/ros2-fuse-optimizers.yaml b/shared/tests/ros2-fuse-optimizers.yaml new file mode 100644 index 00000000..d37c1f6a --- /dev/null +++ b/shared/tests/ros2-fuse-optimizers.yaml @@ -0,0 +1,6 @@ +tests: + # Smoke test: `fuse_optimizers/fixed_lag_smoother_node` (fuse's optimizer node) starts (loads its libraries and the RMW) and is still running after 5 s. + - if: unix + then: + script: + - python -c "import os, subprocess, sys, time; p = subprocess.Popen([os.path.join(os.environ['PREFIX'], 'lib', 'fuse_optimizers', 'fixed_lag_smoother_node')]); time.sleep(5); r = p.poll(); p.terminate(); sys.exit(0 if r is None else 1)" diff --git a/shared/vinca.yaml b/shared/vinca.yaml index c93bc085..58eff14a 100644 --- a/shared/vinca.yaml +++ b/shared/vinca.yaml @@ -542,6 +542,7 @@ packages_select_by_deps: - event_camera_renderer # doesn't support Windows shared library - ffmpeg_image_transport # TODO on windows: fix iconv link issue - foxglove_compressed_video_transport + - fuse # Windows: the fuse libraries export no symbols and add -Werror; requested in https://github.com/RoboStack/ros-lyrical/pull/85 - grid_map # rviz linking problems on Windows, see https://github.com/RoboStack/ros-jazzy/pull/79#issuecomment-2993499990 - grid_map_rviz_plugin # rviz linking problems on Windows, see https://github.com/RoboStack/ros-jazzy/pull/79#issuecomment-2993499990 - ign_ros2_control