Skip to content

Conversation

@ahcorde
Copy link
Contributor

@ahcorde ahcorde commented Dec 3, 2025

Related with #1634

Signed-off-by: Alejandro Hernandez Cordero <[email protected]>
@ahcorde
Copy link
Contributor Author

ahcorde commented Dec 3, 2025

Related PR ros/rosdistro#48855 to bring svg devel package

Copy link

@luca-della-vedova luca-della-vedova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks you for the fix!

For reference, I believe the issue was that we export Qt5 as a dependency and call find_package on it:

$ cat /opt/ros/rolling/share/rviz_common/cmake/ament_cmake_export_dependencies-extras.cmake 
# generated from ament_cmake_export_dependencies/cmake/ament_cmake_export_dependencies-extras.cmake.in

set(_exported_dependencies "geometry_msgs;message_filters;pluginlib;Qt5;rclcpp;rviz_ogre_vendor;rviz_rendering;sensor_msgs;std_msgs;std_srvs;tf2;tf2_ros;yaml_cpp_vendor;yaml-cpp")

But on the other hand we find_package for either Qt6 or Qt5, whichever is found first:

$ cat /opt/ros/rolling/share/rviz_common/cmake/rviz_common-extras.cmake 
# find package Qt5 because otherwise using the rviz_common::rviz_common
# exported target will complain that the Qt5::Widgets target does not exist
find_package(QT NAMES Qt6 Qt5 QUIET COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} QUIET COMPONENTS Widgets)

So if Qt6 is installed we end up with a clash where we find both Qt6 and Qt5 and that doesn't really work.
On the other hand, with this PR, the ament_cmake_export_dependencies-extras.cmake becomes the following:

$ cat install/rviz_common/share/rviz_common/cmake/ament_cmake_export_dependencies-extras.cmake 
# generated from ament_cmake_export_dependencies/cmake/ament_cmake_export_dependencies-extras.cmake.in

set(_exported_dependencies "geometry_msgs;message_filters;pluginlib;Qt6;rclcpp;rviz_ogre_vendor;rviz_rendering;sensor_msgs;std_msgs;std_srvs;tf2;tf2_ros;yaml_cpp_vendor;yaml-cpp")

So we will correctly only look for Qt6 (and possibly fallback to Qt5, but I haven't tested that code path).
I wonder if it is an explicit aim to keep supporting Qt5 or not, I haven't tested that path

@ahcorde
Copy link
Contributor Author

ahcorde commented Dec 5, 2025

Pulls: #1635
Gist: https://gist.githubusercontent.com/ahcorde/276dbe5df396bdb03ee1f73df82916f5/raw/899c6b81bdd8c422402daf88ae2dac0d8b7a1c91/ros2.repos
BUILD args: --packages-above-and-dependencies rviz2 rviz_common rviz_default_plugins rviz_rendering rviz_rendering_tests rviz_visual_testing_framework
TEST args: --packages-above rviz2 rviz_common rviz_default_plugins rviz_rendering rviz_rendering_tests rviz_visual_testing_framework
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17698

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ahcorde
Copy link
Contributor Author

ahcorde commented Dec 8, 2025

@ros-pull-request-builder retest this please

1 similar comment
@ahcorde
Copy link
Contributor Author

ahcorde commented Dec 8, 2025

@ros-pull-request-builder retest this please

@ahcorde ahcorde merged commit 4784c8c into rolling Dec 8, 2025
2 checks passed
@ahcorde ahcorde deleted the ahcorde/rolling/qt6_default branch December 8, 2025 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants