From 8169aa7415367e28ffddc4cf13d7d0d8ba9fe5f8 Mon Sep 17 00:00:00 2001 From: Tobias Fischer Date: Thu, 15 Oct 2026 09:24:11 +1000 Subject: [PATCH] All distributions on the shared conda-forge pinning, with the package fixes it needed Rebuilt on main after #92/#93 (which took this pull request's CI/bot machinery): - shared/pinning/conda_forge.yaml 2026.10.09.13.11.31 with lyrical's migrations for every distribution; per-distribution pinning versions removed; zenoh unified at 1.10.1; jazzy keeps xtensor 0.25; openexr 3.4 in the shared overrides; rebuild bumps for the packages the changed pins affect - Qt5 rosdep keys map to Qt6 (shared); humble and jazzy keep Qt5 in their own robostack.yaml; plotjuggler(_ros) keep Qt5; rolling's rviz_visual_tools 4.2.0 - rolling: rtabmap 0.23.13 (jazzy's release), python_qt_binding with PyQt6 on macOS - libpointmatcher on Windows: CMake config files together in share/libpointmatcher/cmake - moveit_ros_visualization (win): export the plugin targets too Co-Authored-By: Claude Opus 5.5 --- distros/humble/conda_build_config.yaml | 116 +- distros/humble/distro.yaml | 6 - distros/humble/pkg_additional_info.yaml | 272 +- distros/humble/robostack.yaml | 69 + distros/humble/vinca.yaml | 2 + distros/jazzy/conda_build_config.yaml | 115 +- distros/jazzy/distro.yaml | 5 - distros/jazzy/pkg_additional_info.yaml | 332 ++- distros/jazzy/robostack.yaml | 69 + distros/jazzy/vinca.yaml | 2 + distros/lyrical/conda_build_config.yaml | 5 +- distros/lyrical/distro.yaml | 6 - distros/lyrical/patch/dependencies.yaml | 35 +- .../ros2-moveit-ros-visualization.win.patch | 3 +- distros/lyrical/pkg_additional_info.yaml | 12 + distros/rolling/conda_build_config.yaml | 103 +- distros/rolling/distro.yaml | 3 - distros/rolling/patch/dependencies.yaml | 30 +- .../ros2-moveit-ros-visualization.win.patch | 3 +- .../patch/ros2-python-qt-binding.patch | 24 + distros/rolling/patch/ros2-rtabmap.patch | 2646 +---------------- .../patch/ros2-rviz-visual-tools.patch | 187 -- distros/rolling/pkg_additional_info.yaml | 285 +- .../rolling/rosdistro_additional_recipes.yaml | 11 +- shared/pinning/conda_forge.yaml | 7 +- shared/pinning/overrides.yaml | 4 + shared/pkg_additional_info.yaml | 7 + shared/robostack.yaml | 78 +- 28 files changed, 1394 insertions(+), 3043 deletions(-) create mode 100644 distros/humble/robostack.yaml create mode 100644 distros/jazzy/robostack.yaml create mode 100644 distros/rolling/patch/ros2-python-qt-binding.patch delete mode 100644 distros/rolling/patch/ros2-rviz-visual-tools.patch diff --git a/distros/humble/conda_build_config.yaml b/distros/humble/conda_build_config.yaml index 1319c2c9..459bbb63 100644 --- a/distros/humble/conda_build_config.yaml +++ b/distros/humble/conda_build_config.yaml @@ -81,8 +81,8 @@ cuda_compiler: cuda_compiler_version: - None - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - # pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16 - # (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8. + # libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via + # qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt cuda_compiler_version_min: - None # [not ((linux and (x86_64 or aarch64)) or win64)] - 12.9 # [((linux and (x86_64 or aarch64)) or win64)] @@ -168,6 +168,9 @@ docker_image: # [os.environ.get("BUILD_PLA - quay.io/condaforge/linux-anvil-aarch64:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] - quay.io/condaforge/linux-anvil-ppc64le:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] + # builds on RockyLinux 10 + - quay.io/condaforge/linux-anvil-riscv64:rocky10 # [os.environ.get("BUILD_PLATFORM") == "linux-riscv64"] + zip_keys: - - c_compiler_version # [unix] - cxx_compiler_version # [unix] @@ -181,12 +184,8 @@ zip_keys: - libarrow_all - - root_base - root_cxx_standard - -# armv7l specifics because conda-build sets many things to centos 6 -# this can probably be removed when conda-build gets updated defaults -# for aarch64 -cdt_arch: armv7l # [armv7l] -BUILD: armv7-conda_cos7-linux-gnueabihf # [armv7l] + - - clhep + - geant4 pin_run_as_build: libblst: @@ -229,27 +228,27 @@ assimp: attr: - 2.5 aws_c_auth: - - 0.10.4 + - '1.0' aws_c_cal: - - 0.9.15 + - '1.0' aws_c_common: - - 0.14.3 + - '1.0' aws_c_compression: - - 0.3.2 + - '1.0' aws_c_event_stream: - - 0.7.1 + - '1.0' aws_c_http: - - 0.11.0 + - '1.0' aws_c_io: - - 0.27.5 + - '1.0' aws_c_mqtt: - - 0.16.0 + - '1.0' aws_c_s3: - - 0.13.1 + - '1.1' aws_c_sdkutils: - - 0.2.7 + - '1.0' aws_checksums: - - 0.2.10 + - '1.0' aws_crt_cpp: - 0.42.3 aws_sdk_cpp: @@ -323,12 +322,14 @@ cutensor: - 2 curl: - 8 +dagmc: + - '3.2' dartsim_cpp: - '6.19' -dav1d: - - 1.2.1 -dav1d_devel: - - 1.2.1 +# Since v1.3.0, the dav1d feedstock has used a sonamed runtime library package to prevent +# ABI breaks while allowing packags built against multiple versions of dav1d to co-exist. +# dav1d: +# - '1.5.4' davix: - '0.8' dbus: @@ -337,12 +338,16 @@ dcap: - 2.47 delphes: - 3.5.1 +double_down: + - '1.1' eclib: - '20250627' eigen_abi_devel: - 5.0.1 +editline: + - '2' elfutils: - - '0.194' + - '0.196' emela: - '1.0' exiv2: @@ -384,7 +389,7 @@ gnuradio_core: gnutls: - '3.8' gsl: - - 2.7 + - '2.8' gsoap: - 2.8.123 gstreamer: @@ -398,7 +403,9 @@ libgdal: libgdal_core: - '3.13' geant4: - - 11.4.2 + - 10.7.4 + - 11.3.2 + - 11.4.3 geos: - 3.14.1 geotiff: @@ -452,13 +459,13 @@ hdf5: - '2' - 1.14.6 hdrhistogram_c: - - 0.11.9 + - 0.11.10 icu: - '78' idyntree: - '15' imath: - - 3.2.2 + - 3.2.3 impi_devel: - 2021.16.0 ipopt: @@ -562,6 +569,8 @@ libduckdb_devel: - '1' libeantic: - '2' +libedit: + - '3.1' libevent: - 2.1.12 libexactreal: @@ -633,7 +642,7 @@ libheif: libhugetlbfs: - 2 libhwloc: - - 2.13.0 + - 2.15.0 libhwy: - '1.4' libiconv: @@ -678,10 +687,12 @@ libode: - 0.16.6 libogg: - 1.3 +libonnx: + - 1.23.2 libopencolorio: - '2.5' libopenimageio: - - '3.1' + - '3.2' libopencv: - 5.0.0 libopentelemetry_cpp: @@ -689,9 +700,9 @@ libopentelemetry_cpp: libosqp: - 1.0.0 libopenvino: - - 2026.3.1 + - 2026.4.0 libopenvino_dev: - - 2026.3.1 + - 2026.4.0 libparu: - '1' libpcap: @@ -748,6 +759,8 @@ libsuitesparseconfig: - '7' libsuperiso: - '5.0' +libsrtp2: + - 2.8.1 libssh: - '0.12' libssh2: @@ -772,6 +785,8 @@ libtorch: - '2.12' libudev: - '257' +libultrahdr: + - 2.0.2 libumfpack: - '6' libunwind: @@ -786,6 +801,8 @@ libvips: - 8 libvpl: - '2.16' +libvpx: + - '1.17' libwebp: - 1 libwebp_base: @@ -798,6 +815,10 @@ libxml2: - '2.15' libxml2_devel: - '2.15' +libxmlpp_4_0: + - '4.0' +libxmlpp_5_0: + - '5.4' libxrootd_devel: - '6' libxsmm: @@ -816,6 +837,8 @@ log4cxx: - 1.8.0 lol_html: - 3.0.1 +looptools: + - '2.16' ls_hpack: - 2.3.5 lwtnn: @@ -836,6 +859,8 @@ mkl: mkl_devel: - '2026' # [not osx] - '2023' # [osx] +moab: + - '5.6' mpg123: - '1.33' mpich: @@ -887,7 +912,7 @@ numpy: obake_devel: - '0.9' occt: - - 8.0.0 + - 8.0.1 oneloop: - '3.7' openblas: @@ -899,7 +924,7 @@ openh264: openjpeg: - '2' openjph: - - '0.31' + - '0.32' openmpi: - '5' openslide: @@ -961,7 +986,7 @@ postgresql: postgresql_plpython: - '18' proj: - - '9.8' + - '9.9' pulseaudio: - '17.0' pulseaudio_client: @@ -969,7 +994,7 @@ pulseaudio_client: pulseaudio_daemon: - '17.0' pybind11_abi: - - '11' + - 11 pythia8: - '8.312' python: @@ -979,7 +1004,6 @@ python: python_impl: - cpython - # ros-humble specific (distros/humble/distro.yaml) python_min: # minimum supported python version per CFEP-25 # bump to next minor version when we drop python versions @@ -1022,7 +1046,7 @@ qtkeychain: rav1e: - '0.8' rdma_core: - - '63' + - '65' re2: - 2025.11.05 readline: @@ -1112,6 +1136,8 @@ tbb_devel: - '2023' tensorflow: - '2.16' +thepeg: + - '2.2' thrift_cpp: - 0.22.0 tinyxml2: @@ -1125,7 +1151,9 @@ ucc: ucx: - '1.22' uhd: - - 4.10.0 + - 4.11.0 +unibilium: + - 2.1.4 urdfdom: - '6' vc: # [win] @@ -1172,6 +1200,12 @@ zlib_ng: - '2.3' zstd: - '1.5' +libzenohc: + - 1.10.1 +libzenohcxx: + - 1.10.1 + # pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16 + # (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8. pyqt_builder: - 1.18 # cartographer was built with lua 5.4.8, otherwise it pulls in 5.5 which leads to conflicts @@ -1185,7 +1219,3 @@ pyqt6: - 6.11 sip: - 6.15 -libzenohc: - - 1.10.0 -libzenohcxx: - - 1.10.0 diff --git a/distros/humble/distro.yaml b/distros/humble/distro.yaml index 3401f176..bf644bd1 100644 --- a/distros/humble/distro.yaml +++ b/distros/humble/distro.yaml @@ -2,9 +2,3 @@ # (everything else is shared, see the README). channel_name: robostack-staging upload_target: anaconda -conda_forge_pinning_version: 2026.09.01.16.28.00 -conda_forge_migrations: [giflib6, go_macos, gstreamer128, hdf52, libboost190, pybind11_abi11, urdfdom6, - vtk970] -pinning_overrides: - libzenohc: [1.10.0] - libzenohcxx: [1.10.0] diff --git a/distros/humble/pkg_additional_info.yaml b/distros/humble/pkg_additional_info.yaml index 4a9f1f59..57a0a376 100644 --- a/distros/humble/pkg_additional_info.yaml +++ b/distros/humble/pkg_additional_info.yaml @@ -61,7 +61,6 @@ librealsense2: mimick_vendor: # its FetchContent'd mimick has cmake_minimum_required < 3.5 (CMake 4 rejects that) additional_cmake_args: "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" -# Remove build_number fields below on new full rebuild octomap: generate_dummy_package_with_run_deps: dep_name: octomap @@ -86,11 +85,6 @@ py_trees: dep_name: py-trees max_pin: 'x.x.x' override_version: '2.5.0' -rtabmap: - additional_cmake_args: - if: win - then: "-DWITH_QT=OFF -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF -DWITH_GTSAM=OFF" - else: "-DWITH_QT=OFF -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF" urdfdom: generate_dummy_package_with_run_deps: dep_name: urdfdom @@ -102,15 +96,277 @@ urdfdom_headers: dep_name: urdfdom_headers max_pin: 'x.x' override_version: '3.0.0' -zenoh_cpp_vendor: - additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" +# Remove build_number fields below on new full rebuild +ackermann_steering_controller: + build_number: 21 +admittance_controller: + build_number: 21 +backward_ros: + build_number: 21 +bicycle_steering_controller: + build_number: 21 +chomp_motion_planner: + build_number: 21 +clearpath_common: + build_number: 21 +clearpath_control: + build_number: 21 +clearpath_description: + build_number: 21 +clearpath_generator_common: + build_number: 21 +clearpath_manipulators: + build_number: 21 +clearpath_manipulators_description: + build_number: 21 +clearpath_mecanum_drive_controller: + build_number: 21 +controller_manager: + build_number: 21 +diff_drive_controller: + build_number: 21 +effort_controllers: + build_number: 21 +force_torque_sensor_broadcaster: + build_number: 21 +forward_command_controller: + build_number: 21 +franka_bringup: + build_number: 21 +franka_example_controllers: + build_number: 21 +franka_fr3_moveit_config: + build_number: 21 +franka_gazebo_bringup: + build_number: 21 +franka_ign_ros2_control: + build_number: 21 +franka_robot_state_broadcaster: + build_number: 21 +franka_ros2: + build_number: 21 +gazebo_ros2_control: + build_number: 21 +gazebo_ros2_control_demos: + build_number: 21 +gpio_controllers: + build_number: 21 +gripper_controllers: + build_number: 21 +gz_ros2_control: + build_number: 21 +gz_ros2_control_demos: + build_number: 21 +ign_ros2_control: + build_number: 21 +iiwa14_moveit_config: + build_number: 21 +iiwa7_moveit_config: + build_number: 21 +imu_sensor_broadcaster: + build_number: 21 +irobot_create_common_bringup: + build_number: 21 +irobot_create_control: + build_number: 21 +irobot_create_ignition_bringup: + build_number: 21 +joint_state_broadcaster: + build_number: 21 +joint_trajectory_controller: + build_number: 21 +kortex_description: + build_number: 21 +lbr_bringup: + build_number: 21 +lbr_demos_cpp: + build_number: 21 +lbr_demos_py: + build_number: 21 +lbr_fri_ros2_stack: + build_number: 21 +lbr_moveit_cpp: + build_number: 21 +lbr_ros2_control: + build_number: 21 +mecanum_drive_controller: + build_number: 21 +med14_moveit_config: + build_number: 21 +med7_moveit_config: + build_number: 21 +moveit: + build_number: 21 +moveit_chomp_optimizer_adapter: + build_number: 21 +moveit_common: + build_number: 21 +moveit_core: + build_number: 21 +moveit_hybrid_planning: + build_number: 21 +moveit_kinematics: + build_number: 21 +moveit_planners: + build_number: 21 +moveit_planners_chomp: + build_number: 21 +moveit_planners_ompl: + build_number: 21 +moveit_plugins: + build_number: 21 +moveit_resources_prbt_ikfast_manipulator_plugin: + build_number: 21 +moveit_resources_prbt_moveit_config: + build_number: 21 +moveit_resources_prbt_pg70_support: + build_number: 21 +moveit_ros: + build_number: 21 +moveit_ros_benchmarks: + build_number: 21 +moveit_ros_control_interface: + build_number: 21 +moveit_ros_move_group: + build_number: 21 +moveit_ros_occupancy_map_monitor: + build_number: 21 +moveit_ros_perception: + build_number: 21 +moveit_ros_planning: + build_number: 21 +moveit_ros_planning_interface: + build_number: 21 +moveit_ros_robot_interaction: + build_number: 21 +moveit_ros_visualization: + build_number: 21 +moveit_ros_warehouse: + build_number: 21 +moveit_runtime: + build_number: 21 +moveit_servo: + build_number: 21 +moveit_setup_app_plugins: + build_number: 21 +moveit_setup_assistant: + build_number: 21 +moveit_setup_controllers: + build_number: 21 +moveit_setup_core_plugins: + build_number: 21 +moveit_setup_framework: + build_number: 21 +moveit_setup_srdf_plugins: + build_number: 21 +moveit_simple_controller_manager: + build_number: 21 +moveit_task_constructor_capabilities: + build_number: 21 +moveit_task_constructor_core: + build_number: 21 +moveit_task_constructor_demo: + build_number: 21 +moveit_visual_tools: + build_number: 21 +mujoco_ros2_control: + build_number: 21 +mujoco_ros2_control_demos: + build_number: 21 +mujoco_ros2_control_plugins: + build_number: 21 mujoco_vendor: build_number: 21 +orbbec_camera: + build_number: 21 +pick_ik: + build_number: 21 +pid_controller: + build_number: 21 +pilz_industrial_motion_planner: + build_number: 21 +pilz_industrial_motion_planner_testutils: + build_number: 21 +pose_broadcaster: + build_number: 21 +position_controllers: + build_number: 21 +range_sensor_broadcaster: + build_number: 21 +rmw_zenoh_cpp: + build_number: 21 +ros2_control: + build_number: 21 +ros2_controllers: + build_number: 21 +ros2_fmt_logger: + build_number: 21 ros2cli: # Rebuild with the shell completions under the names bash and zsh load (patch). build_number: 21 +ros2controlcli: + build_number: 21 rosidl_cli: # Rebuild with the shell completions installed under the names bash and zsh load (patch). build_number: 21 +rqt_controller_manager: + build_number: 21 +rtabmap: + additional_cmake_args: + if: win + then: "-DWITH_QT=OFF -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF -DWITH_GTSAM=OFF" + else: "-DWITH_QT=OFF -DBUILD_TOOLS=OFF -DBUILD_EXAMPLES=OFF" + build_number: 21 +rviz_marker_tools: + build_number: 21 +steering_controllers_library: + build_number: 21 +tricycle_controller: + build_number: 21 +tricycle_steering_controller: + build_number: 21 +turtlebot3_manipulation_gazebo: + build_number: 21 +turtlebot3_simulations: + build_number: 21 +turtlebot4_ignition_bringup: + build_number: 21 turtlebot4_node: build_number: 21 +turtlebot4_simulator: + build_number: 21 +ur: + build_number: 21 +ur_calibration: + build_number: 21 +ur_controllers: + build_number: 21 +ur_moveit_config: + build_number: 21 +ur_robot_driver: + build_number: 21 +ur_simulation_gz: + build_number: 21 +velocity_controllers: + build_number: 21 +visp: + build_number: 21 +webots_ros2: + build_number: 21 +webots_ros2_control: + build_number: 21 +webots_ros2_epuck: + build_number: 21 +webots_ros2_husarion: + build_number: 21 +webots_ros2_tests: + build_number: 21 +webots_ros2_tiago: + build_number: 21 +webots_ros2_turtlebot: + build_number: 21 +webots_ros2_universal_robot: + build_number: 21 +zenoh_cpp_vendor: + additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" + build_number: 21 diff --git a/distros/humble/robostack.yaml b/distros/humble/robostack.yaml new file mode 100644 index 00000000..76ff5665 --- /dev/null +++ b/distros/humble/robostack.yaml @@ -0,0 +1,69 @@ +# Qt5 for the Qt5 rosdep keys: this distribution's rviz and GUI packages still build +# against Qt5 (the shared mapping, for lyrical and newer, is Qt6). Packages already +# ported to Qt6/PyQt6 swap qt-main in patch/dependencies.yaml. +libqt5-core: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-gui: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-websockets-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-widgets: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5x11extras5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qt5-image-formats-plugins: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qt5-qmake: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qtbase5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +python-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings-gl: + robostack: [pyqt, pyqt-builder] diff --git a/distros/humble/vinca.yaml b/distros/humble/vinca.yaml index 6ddebe7c..e2f3cda2 100644 --- a/distros/humble/vinca.yaml +++ b/distros/humble/vinca.yaml @@ -3,6 +3,8 @@ ros_distro: humble patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml rosdistro_additional_recipes: rosdistro_additional_recipes.yaml +# Qt5 for the Qt5 rosdep keys (see robostack.yaml); layered over shared/robostack.yaml +conda_index: [robostack.yaml] build_number: 20 diff --git a/distros/jazzy/conda_build_config.yaml b/distros/jazzy/conda_build_config.yaml index db11768d..e498754c 100644 --- a/distros/jazzy/conda_build_config.yaml +++ b/distros/jazzy/conda_build_config.yaml @@ -81,8 +81,8 @@ cuda_compiler: cuda_compiler_version: - None - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] - # pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16 - # (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8. + # libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via + # qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt cuda_compiler_version_min: - None # [not ((linux and (x86_64 or aarch64)) or win64)] - 12.9 # [((linux and (x86_64 or aarch64)) or win64)] @@ -168,6 +168,9 @@ docker_image: # [os.environ.get("BUILD_PLA - quay.io/condaforge/linux-anvil-aarch64:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] - quay.io/condaforge/linux-anvil-ppc64le:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] + # builds on RockyLinux 10 + - quay.io/condaforge/linux-anvil-riscv64:rocky10 # [os.environ.get("BUILD_PLATFORM") == "linux-riscv64"] + zip_keys: - - c_compiler_version # [unix] - cxx_compiler_version # [unix] @@ -181,12 +184,8 @@ zip_keys: - libarrow_all - - root_base - root_cxx_standard - -# armv7l specifics because conda-build sets many things to centos 6 -# this can probably be removed when conda-build gets updated defaults -# for aarch64 -cdt_arch: armv7l # [armv7l] -BUILD: armv7-conda_cos7-linux-gnueabihf # [armv7l] + - - clhep + - geant4 pin_run_as_build: libblst: @@ -229,27 +228,27 @@ assimp: attr: - 2.5 aws_c_auth: - - 0.10.4 + - '1.0' aws_c_cal: - - 0.9.15 + - '1.0' aws_c_common: - - 0.14.3 + - '1.0' aws_c_compression: - - 0.3.2 + - '1.0' aws_c_event_stream: - - 0.7.1 + - '1.0' aws_c_http: - - 0.11.0 + - '1.0' aws_c_io: - - 0.27.5 + - '1.0' aws_c_mqtt: - - 0.16.0 + - '1.0' aws_c_s3: - - 0.13.1 + - '1.1' aws_c_sdkutils: - - 0.2.7 + - '1.0' aws_checksums: - - 0.2.10 + - '1.0' aws_crt_cpp: - 0.42.3 aws_sdk_cpp: @@ -323,12 +322,14 @@ cutensor: - 2 curl: - 8 +dagmc: + - '3.2' dartsim_cpp: - '6.19' -dav1d: - - 1.2.1 -dav1d_devel: - - 1.2.1 +# Since v1.3.0, the dav1d feedstock has used a sonamed runtime library package to prevent +# ABI breaks while allowing packags built against multiple versions of dav1d to co-exist. +# dav1d: +# - '1.5.4' davix: - '0.8' dbus: @@ -337,12 +338,16 @@ dcap: - 2.47 delphes: - 3.5.1 +double_down: + - '1.1' eclib: - '20250627' eigen_abi_devel: - 5.0.1 +editline: + - '2' elfutils: - - '0.194' + - '0.196' emela: - '1.0' exiv2: @@ -384,7 +389,7 @@ gnuradio_core: gnutls: - '3.8' gsl: - - 2.7 + - '2.8' gsoap: - 2.8.123 gstreamer: @@ -398,7 +403,9 @@ libgdal: libgdal_core: - '3.13' geant4: - - 11.4.2 + - 10.7.4 + - 11.3.2 + - 11.4.3 geos: - 3.14.1 geotiff: @@ -452,13 +459,13 @@ hdf5: - '2' - 1.14.6 hdrhistogram_c: - - 0.11.9 + - 0.11.10 icu: - '78' idyntree: - '15' imath: - - 3.2.2 + - 3.2.3 impi_devel: - 2021.16.0 ipopt: @@ -562,6 +569,8 @@ libduckdb_devel: - '1' libeantic: - '2' +libedit: + - '3.1' libevent: - 2.1.12 libexactreal: @@ -633,7 +642,7 @@ libheif: libhugetlbfs: - 2 libhwloc: - - 2.13.0 + - 2.15.0 libhwy: - '1.4' libiconv: @@ -678,10 +687,12 @@ libode: - 0.16.6 libogg: - 1.3 +libonnx: + - 1.23.2 libopencolorio: - '2.5' libopenimageio: - - '3.1' + - '3.2' libopencv: - 5.0.0 libopentelemetry_cpp: @@ -689,9 +700,9 @@ libopentelemetry_cpp: libosqp: - 1.0.0 libopenvino: - - 2026.3.1 + - 2026.4.0 libopenvino_dev: - - 2026.3.1 + - 2026.4.0 libparu: - '1' libpcap: @@ -748,6 +759,8 @@ libsuitesparseconfig: - '7' libsuperiso: - '5.0' +libsrtp2: + - 2.8.1 libssh: - '0.12' libssh2: @@ -772,6 +785,8 @@ libtorch: - '2.12' libudev: - '257' +libultrahdr: + - 2.0.2 libumfpack: - '6' libunwind: @@ -786,6 +801,8 @@ libvips: - 8 libvpl: - '2.16' +libvpx: + - '1.17' libwebp: - 1 libwebp_base: @@ -798,6 +815,10 @@ libxml2: - '2.15' libxml2_devel: - '2.15' +libxmlpp_4_0: + - '4.0' +libxmlpp_5_0: + - '5.4' libxrootd_devel: - '6' libxsmm: @@ -816,6 +837,8 @@ log4cxx: - 1.8.0 lol_html: - 3.0.1 +looptools: + - '2.16' ls_hpack: - 2.3.5 lwtnn: @@ -836,6 +859,8 @@ mkl: mkl_devel: - '2026' # [not osx] - '2023' # [osx] +moab: + - '5.6' mpg123: - '1.33' mpich: @@ -887,7 +912,7 @@ numpy: obake_devel: - '0.9' occt: - - 8.0.0 + - 8.0.1 oneloop: - '3.7' openblas: @@ -899,7 +924,7 @@ openh264: openjpeg: - '2' openjph: - - '0.31' + - '0.32' openmpi: - '5' openslide: @@ -961,7 +986,7 @@ postgresql: postgresql_plpython: - '18' proj: - - '9.8' + - '9.9' pulseaudio: - '17.0' pulseaudio_client: @@ -969,7 +994,7 @@ pulseaudio_client: pulseaudio_daemon: - '17.0' pybind11_abi: - - '11' + - 11 pythia8: - '8.312' python: @@ -1022,7 +1047,7 @@ qtkeychain: rav1e: - '0.8' rdma_core: - - '63' + - '65' re2: - 2025.11.05 readline: @@ -1112,6 +1137,8 @@ tbb_devel: - '2023' tensorflow: - '2.16' +thepeg: + - '2.2' thrift_cpp: - 0.22.0 tinyxml2: @@ -1125,7 +1152,9 @@ ucc: ucx: - '1.22' uhd: - - 4.10.0 + - 4.11.0 +unibilium: + - 2.1.4 urdfdom: - '6' vc: # [win] @@ -1172,6 +1201,12 @@ zlib_ng: - '2.3' zstd: - '1.5' +libzenohc: + - 1.10.1 +libzenohcxx: + - 1.10.1 + # pyqt-builder 1.20 defaults to sip ABI 12.20 / 13.13, which needs sip >=6.16 + # (python_qt_binding / qt_gui_cpp keep sip <6.16); 1.18 targets 12.15 / 13.8. pyqt_builder: - 1.18 # cartographer was built with lua 5.4.8, otherwise it pulls in 5.5 which leads to conflicts @@ -1185,9 +1220,5 @@ pyqt6: - 6.11 sip: - 6.15 -libzenohc: - - 1.9.0 -libzenohcxx: - - 1.9.0 xtensor: - 0.25.0 diff --git a/distros/jazzy/distro.yaml b/distros/jazzy/distro.yaml index 13c89340..8cb54c59 100644 --- a/distros/jazzy/distro.yaml +++ b/distros/jazzy/distro.yaml @@ -2,11 +2,6 @@ # (everything else is shared, see the README). channel_name: robostack-jazzy upload_target: anaconda -conda_forge_pinning_version: 2026.09.01.16.28.00 -conda_forge_migrations: [giflib6, go_macos, gstreamer128, hdf52, libboost190, pybind11_abi11, urdfdom6, - vtk970] pinning_overrides: - libzenohc: [1.9.0] - libzenohcxx: [1.9.0] xtensor: [0.25.0] python: [3.12.* *_cpython] diff --git a/distros/jazzy/pkg_additional_info.yaml b/distros/jazzy/pkg_additional_info.yaml index 9b1bae0c..353d5ee8 100644 --- a/distros/jazzy/pkg_additional_info.yaml +++ b/distros/jazzy/pkg_additional_info.yaml @@ -118,8 +118,6 @@ roboplan_toppra: generate_dummy_package_with_run_deps: dep_name: roboplan-toppra-python max_pin: 'x.x' -rtabmap: - additional_cmake_args: -DBUILD_TESTING=OFF rviz_ogre_vendor: additional_cmake_args: "-DRVIZ_OGRE_VENDOR_MANGLE_NAME_OF_LIBRARIES_USED_BY_RVIZ=ON" urdfdom: @@ -132,9 +130,37 @@ urdfdom_headers: dep_name: urdfdom_headers max_pin: 'x.x' override_version: '3.0' -zenoh_cpp_vendor: - additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" # Remove build_number fields below on new full rebuild +ackermann_steering_controller: + build_number: 26 +admittance_controller: + build_number: 26 +backward_ros: + build_number: 26 +battery_state_broadcaster: + build_number: 26 +bicycle_steering_controller: + build_number: 26 +chained_filter_controller: + build_number: 26 +chomp_motion_planner: + build_number: 26 +clearpath_common: + build_number: 26 +clearpath_control: + build_number: 26 +clearpath_generator_common: + build_number: 26 +clearpath_manipulators: + build_number: 26 +control_toolbox: + build_number: 26 +controller_interface: + build_number: 26 +controller_manager: + build_number: 26 +diff_drive_controller: + build_number: 26 easynav: build_number: 26 easynav_bonxai_maps_manager: @@ -233,8 +259,188 @@ easynav_tools: build_number: 26 easynav_vff_controller: build_number: 26 +effort_controllers: + build_number: 26 +force_torque_sensor_broadcaster: + build_number: 26 +forward_command_controller: + build_number: 26 +gpio_controllers: + build_number: 26 +gps_sensor_broadcaster: + build_number: 26 +gripper_controllers: + build_number: 26 +gz_ros2_control: + build_number: 26 +gz_ros2_control_demos: + build_number: 26 +hardware_interface: + build_number: 26 +hardware_interface_testing: + build_number: 26 +iiwa14_moveit_config: + build_number: 26 +iiwa7_moveit_config: + build_number: 26 +imu_sensor_broadcaster: + build_number: 26 +irobot_create_common_bringup: + build_number: 26 +irobot_create_control: + build_number: 26 +irobot_create_description: + build_number: 26 +irobot_create_gz_bringup: + build_number: 26 +irobot_create_gz_sim: + build_number: 26 +joint_limits: + build_number: 26 +joint_state_broadcaster: + build_number: 26 +joint_trajectory_controller: + build_number: 26 +kinematics_interface: + build_number: 26 +kinematics_interface_kdl: + build_number: 26 +kinova_gen3_7dof_robotiq_2f_85_moveit_config: + build_number: 26 +kortex_description: + build_number: 26 +lbr_bringup: + build_number: 26 +lbr_demos_advanced_cpp: + build_number: 26 +lbr_demos_advanced_py: + build_number: 26 +lbr_demos_cpp: + build_number: 26 +lbr_demos_py: + build_number: 26 +lbr_description: + build_number: 26 +lbr_fri_ros2: + build_number: 26 +lbr_fri_ros2_stack: + build_number: 26 +lbr_moveit_cpp: + build_number: 26 +lbr_ros2_control: + build_number: 26 livox_ros_driver2: build_number: 26 +magnetometer_broadcaster: + build_number: 26 +mecanum_drive_controller: + build_number: 26 +med14_moveit_config: + build_number: 26 +med7_moveit_config: + build_number: 26 +moveit: + build_number: 26 +moveit2_tutorials: + build_number: 26 +moveit_common: + build_number: 26 +moveit_core: + build_number: 26 +moveit_hybrid_planning: + build_number: 26 +moveit_kinematics: + build_number: 26 +moveit_planners: + build_number: 26 +moveit_planners_chomp: + build_number: 26 +moveit_planners_ompl: + build_number: 26 +moveit_planners_stomp: + build_number: 26 +moveit_plugins: + build_number: 26 +moveit_py: + build_number: 26 +moveit_resources: + build_number: 26 +moveit_resources_fanuc_moveit_config: + build_number: 26 +moveit_resources_panda_moveit_config: + build_number: 26 +moveit_resources_prbt_ikfast_manipulator_plugin: + build_number: 26 +moveit_resources_prbt_moveit_config: + build_number: 26 +moveit_resources_prbt_pg70_support: + build_number: 26 +moveit_ros: + build_number: 26 +moveit_ros_benchmarks: + build_number: 26 +moveit_ros_control_interface: + build_number: 26 +moveit_ros_move_group: + build_number: 26 +moveit_ros_occupancy_map_monitor: + build_number: 26 +moveit_ros_perception: + build_number: 26 +moveit_ros_planning: + build_number: 26 +moveit_ros_planning_interface: + build_number: 26 +moveit_ros_robot_interaction: + build_number: 26 +moveit_ros_trajectory_cache: + build_number: 26 +moveit_ros_visualization: + build_number: 26 +moveit_ros_warehouse: + build_number: 26 +moveit_runtime: + build_number: 26 +moveit_servo: + build_number: 26 +moveit_setup_app_plugins: + build_number: 26 +moveit_setup_assistant: + build_number: 26 +moveit_setup_controllers: + build_number: 26 +moveit_setup_core_plugins: + build_number: 26 +moveit_setup_framework: + build_number: 26 +moveit_setup_srdf_plugins: + build_number: 26 +moveit_simple_controller_manager: + build_number: 26 +moveit_task_constructor_capabilities: + build_number: 26 +moveit_task_constructor_core: + build_number: 26 +moveit_task_constructor_demo: + build_number: 26 +moveit_task_constructor_visualization: + build_number: 26 +moveit_visual_tools: + build_number: 26 +mujoco_ros2_control: + build_number: 26 +mujoco_ros2_control_demos: + build_number: 26 +mujoco_ros2_control_plugins: + build_number: 26 +nav2_bringup: + build_number: 26 +nav2_route: + build_number: 26 +nav2_rviz_plugins: + build_number: 26 +navigation2: + build_number: 26 navmap_core: build_number: 26 navmap_examples: @@ -247,18 +453,136 @@ navmap_rviz_plugin: build_number: 26 navmap_tools: build_number: 26 +omni_wheel_drive_controller: + build_number: 26 +orbbec_camera: + build_number: 26 +parallel_gripper_controller: + build_number: 26 +pick_ik: + build_number: 26 +picknik_reset_fault_controller: + build_number: 26 +picknik_twist_controller: + build_number: 26 +pid_controller: + build_number: 26 +pilz_industrial_motion_planner: + build_number: 26 +pilz_industrial_motion_planner_testutils: + build_number: 26 +pose_broadcaster: + build_number: 26 +position_controllers: + build_number: 26 +range_sensor_broadcaster: + build_number: 26 rmw_implementation_cmake: # Rebuild with CycloneDDS as the default RMW on macOS (patch, misnamed before so never applied). build_number: 26 +rmw_zenoh_cpp: + build_number: 26 +roboplan_ros_franka: + build_number: 26 +robotiq_controllers: + build_number: 26 +ros2_control: + build_number: 26 +ros2_controllers: + build_number: 26 +ros2_fmt_logger: + build_number: 26 ros2cli: # Rebuild with the shell completions under the names bash and zsh load (patch). build_number: 26 +ros2controlcli: + build_number: 26 rosidl_cli: # Rebuild with the shell completions installed under the names bash and zsh load (patch). build_number: 26 rplidar_ros: build_number: 26 +rqt_controller_manager: + build_number: 26 +rtabmap: + additional_cmake_args: -DBUILD_TESTING=OFF + build_number: 26 +rviz_marker_tools: + build_number: 26 +rviz_satellite: + build_number: 26 sick_safetyscanners_base: build_number: 26 +state_interfaces_broadcaster: + build_number: 26 +steering_controllers_library: + build_number: 26 +topic_based_ros2_control: + build_number: 26 +trac_ik: + build_number: 26 +trac_ik_kinematics_plugin: + build_number: 26 +transmission_interface: + build_number: 26 +tricycle_controller: + build_number: 26 +tricycle_steering_controller: + build_number: 26 +turtlebot3: + build_number: 26 +turtlebot3_navigation2: + build_number: 26 +turtlebot4_bringup: + build_number: 26 +turtlebot4_description: + build_number: 26 +turtlebot4_desktop: + build_number: 26 +turtlebot4_gz_bringup: + build_number: 26 +turtlebot4_navigation: + build_number: 26 +turtlebot4_robot: + build_number: 26 +turtlebot4_simulator: + build_number: 26 +turtlebot4_viz: + build_number: 26 +ur: + build_number: 26 +ur_calibration: + build_number: 26 +ur_controllers: + build_number: 26 +ur_moveit_config: + build_number: 26 +ur_robot_driver: + build_number: 26 +ur_simulation_gz: + build_number: 26 +velocity_controllers: + build_number: 26 +visp: + build_number: 26 +webots_ros2: + build_number: 26 +webots_ros2_control: + build_number: 26 +webots_ros2_epuck: + build_number: 26 +webots_ros2_husarion: + build_number: 26 +webots_ros2_tests: + build_number: 26 +webots_ros2_tiago: + build_number: 26 +webots_ros2_turtlebot: + build_number: 26 +webots_ros2_universal_robot: + build_number: 26 yaets: build_number: 26 +zenoh_cpp_vendor: + additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" + build_number: 26 diff --git a/distros/jazzy/robostack.yaml b/distros/jazzy/robostack.yaml new file mode 100644 index 00000000..76ff5665 --- /dev/null +++ b/distros/jazzy/robostack.yaml @@ -0,0 +1,69 @@ +# Qt5 for the Qt5 rosdep keys: this distribution's rviz and GUI packages still build +# against Qt5 (the shared mapping, for lyrical and newer, is Qt6). Packages already +# ported to Qt6/PyQt6 swap qt-main in patch/dependencies.yaml. +libqt5-core: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-gui: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-opengl-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-svg-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-websockets-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5-widgets: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +libqt5x11extras5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qt5-image-formats-plugins: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qt5-qmake: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +qtbase5-dev: + robostack: + linux: [qt-main, libopengl-devel, libgl-devel] + osx: [qt-main] + win64: [qt-main] +python-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings: + robostack: [pyqt, pyqt-builder] +python3-qt5-bindings-gl: + robostack: [pyqt, pyqt-builder] diff --git a/distros/jazzy/vinca.yaml b/distros/jazzy/vinca.yaml index 2488b5a7..41f1fbb7 100644 --- a/distros/jazzy/vinca.yaml +++ b/distros/jazzy/vinca.yaml @@ -3,6 +3,8 @@ ros_distro: jazzy patch_dir: patch rosdistro_snapshot: rosdistro_snapshot.yaml rosdistro_additional_recipes: rosdistro_additional_recipes.yaml +# Qt5 for the Qt5 rosdep keys (see robostack.yaml); layered over shared/robostack.yaml +conda_index: [robostack.yaml] # mapping for package keys diff --git a/distros/lyrical/conda_build_config.yaml b/distros/lyrical/conda_build_config.yaml index b310c46a..459bbb63 100644 --- a/distros/lyrical/conda_build_config.yaml +++ b/distros/lyrical/conda_build_config.yaml @@ -81,6 +81,8 @@ cuda_compiler: cuda_compiler_version: - None - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + # libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via + # qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt cuda_compiler_version_min: - None # [not ((linux and (x86_64 or aarch64)) or win64)] - 12.9 # [((linux and (x86_64 or aarch64)) or win64)] @@ -916,7 +918,7 @@ oneloop: openblas: - 0.3.* openexr: - - 3.4 + - '3.4' openh264: - 2.6.0 openjpeg: @@ -1002,7 +1004,6 @@ python: python_impl: - cpython - # ros-lyrical specific (distros/lyrical/distro.yaml) python_min: # minimum supported python version per CFEP-25 # bump to next minor version when we drop python versions diff --git a/distros/lyrical/distro.yaml b/distros/lyrical/distro.yaml index 9d7f0f5b..08d187b7 100644 --- a/distros/lyrical/distro.yaml +++ b/distros/lyrical/distro.yaml @@ -2,9 +2,3 @@ # (everything else is shared, see the README). channel_name: robostack-lyrical upload_target: prefix -conda_forge_pinning_version: 2026.10.09.13.11.31 -conda_forge_migrations: [elfutils0196, giflib6, go_macos, gsl28, gstreamer128, hdf52, libboost190, libhwloc2150, proj99, urdfdom6] -pinning_overrides: - # libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via - # qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt - openexr: ['3.4'] diff --git a/distros/lyrical/patch/dependencies.yaml b/distros/lyrical/patch/dependencies.yaml index 3a162666..8ab1a809 100644 --- a/distros/lyrical/patch/dependencies.yaml +++ b/distros/lyrical/patch/dependencies.yaml @@ -120,7 +120,17 @@ pcl_conversions: pinocchio: add_host: ["eigen-abi-devel"] plotjuggler: - add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace"] + # PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main"] + add_run: ["qt-main"] +plotjuggler_ros: + # Qt5-only like plotjuggler, which it links + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["qt-main"] + add_run: ["qt-main"] py_trees: add_host: ["hatchling"] py_trees_js: @@ -167,26 +177,8 @@ ros_ign_gazebo: add_host: ["ros2-std-msgs", "ros2-rclcpp", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] ros_ign_interfaces: add_host: ["ros2-rcl-interfaces"] -ros_image_to_qimage: - # Qt6, like rqt_gui_cpp (patch/ros2-ros-image-to-qimage.patch) - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] rqt_gui_cpp: add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rqt_image_overlay: - # Qt6, like rqt_gui_cpp (patch/ros2-rqt-image-overlay.patch) - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_overlay_layer: - # Qt6, like rqt_gui_cpp (patch/ros2-rqt-image-overlay-layer.patch) - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] - remove_host: ["qt-main"] -rqt_mocap4r2_control: - remove_host: ["qt-main"] - remove_run: ["qt-main"] rtabmap: add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "libboost-devel", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] rviz_ogre_vendor: @@ -201,10 +193,7 @@ sdformat_vendor: add_run: ["sdformat"] slam_toolbox: add_build: ["${{ 'qt6-main' if (build_platform != target_platform) }}"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "blas-devel", "ceres-solver", "qt6-main"] - add_run: ["qt6-main"] - remove_host: ["qt-main"] - remove_run: ["qt-main"] + add_host: ["blas-devel", "ceres-solver"] spatio_temporal_voxel_layer: add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "openvdb"] spdlog_vendor: diff --git a/distros/lyrical/patch/ros2-moveit-ros-visualization.win.patch b/distros/lyrical/patch/ros2-moveit-ros-visualization.win.patch index 94d9e374..74eccd8f 100644 --- a/distros/lyrical/patch/ros2-moveit-ros-visualization.win.patch +++ b/distros/lyrical/patch/ros2-moveit-ros-visualization.win.patch @@ -1,7 +1,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -106,15 +106,41 @@ pluginlib_export_plugin_description_file( +@@ -106,15 +106,42 @@ pluginlib_export_plugin_description_file( pluginlib_export_plugin_description_file( rviz_common robot_state_rviz_plugin_description.xml) @@ -32,6 +32,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +if(WIN32) + install( + TARGETS ${MOVEIT_ROS_VISUALIZATION_PLUGIN_LIBRARIES} ++ EXPORT moveit_ros_visualizationTargets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin diff --git a/distros/lyrical/pkg_additional_info.yaml b/distros/lyrical/pkg_additional_info.yaml index 19cf149d..1894379d 100644 --- a/distros/lyrical/pkg_additional_info.yaml +++ b/distros/lyrical/pkg_additional_info.yaml @@ -222,6 +222,8 @@ easynav_tools: build_number: 29 easynav_vff_controller: build_number: 29 +grid_map_rviz_plugin: + build_number: 29 gz_gui_vendor: build_number: 28 gz_sim_vendor: @@ -240,14 +242,24 @@ navmap_rviz_plugin: build_number: 29 navmap_tools: build_number: 29 +plansys2_tools: + build_number: 29 ros2cli: # Rebuild with the shell completions under the names bash/zsh/fish load (patch). build_number: 28 +ros_image_to_qimage: + build_number: 29 rosidl_cli: # Rebuild with the shell completions installed under the names bash/zsh/fish load (patch). build_number: 28 rplidar_ros: build_number: 29 +rqt_image_overlay: + build_number: 29 +rqt_image_overlay_layer: + build_number: 29 +rqt_mocap4r2_control: + build_number: 29 rqt_plot: build_number: 28 rqt_py_common: diff --git a/distros/rolling/conda_build_config.yaml b/distros/rolling/conda_build_config.yaml index aaa4d756..459bbb63 100644 --- a/distros/rolling/conda_build_config.yaml +++ b/distros/rolling/conda_build_config.yaml @@ -81,6 +81,8 @@ cuda_compiler: cuda_compiler_version: - None - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + # libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via + # qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt cuda_compiler_version_min: - None # [not ((linux and (x86_64 or aarch64)) or win64)] - 12.9 # [((linux and (x86_64 or aarch64)) or win64)] @@ -166,6 +168,9 @@ docker_image: # [os.environ.get("BUILD_PLA - quay.io/condaforge/linux-anvil-aarch64:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] - quay.io/condaforge/linux-anvil-ppc64le:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] + # builds on RockyLinux 10 + - quay.io/condaforge/linux-anvil-riscv64:rocky10 # [os.environ.get("BUILD_PLATFORM") == "linux-riscv64"] + zip_keys: - - c_compiler_version # [unix] - cxx_compiler_version # [unix] @@ -179,12 +184,8 @@ zip_keys: - libarrow_all - - root_base - root_cxx_standard - -# armv7l specifics because conda-build sets many things to centos 6 -# this can probably be removed when conda-build gets updated defaults -# for aarch64 -cdt_arch: armv7l # [armv7l] -BUILD: armv7-conda_cos7-linux-gnueabihf # [armv7l] + - - clhep + - geant4 pin_run_as_build: libblst: @@ -227,27 +228,27 @@ assimp: attr: - 2.5 aws_c_auth: - - 0.10.4 + - '1.0' aws_c_cal: - - 0.9.15 + - '1.0' aws_c_common: - - 0.14.3 + - '1.0' aws_c_compression: - - 0.3.2 + - '1.0' aws_c_event_stream: - - 0.7.1 + - '1.0' aws_c_http: - - 0.11.0 + - '1.0' aws_c_io: - - 0.27.5 + - '1.0' aws_c_mqtt: - - 0.16.0 + - '1.0' aws_c_s3: - - 0.13.1 + - '1.1' aws_c_sdkutils: - - 0.2.7 + - '1.0' aws_checksums: - - 0.2.10 + - '1.0' aws_crt_cpp: - 0.42.3 aws_sdk_cpp: @@ -321,12 +322,14 @@ cutensor: - 2 curl: - 8 +dagmc: + - '3.2' dartsim_cpp: - '6.19' -dav1d: - - 1.2.1 -dav1d_devel: - - 1.2.1 +# Since v1.3.0, the dav1d feedstock has used a sonamed runtime library package to prevent +# ABI breaks while allowing packags built against multiple versions of dav1d to co-exist. +# dav1d: +# - '1.5.4' davix: - '0.8' dbus: @@ -335,12 +338,16 @@ dcap: - 2.47 delphes: - 3.5.1 +double_down: + - '1.1' eclib: - '20250627' eigen_abi_devel: - 5.0.1 +editline: + - '2' elfutils: - - '0.194' + - '0.196' emela: - '1.0' exiv2: @@ -382,7 +389,7 @@ gnuradio_core: gnutls: - '3.8' gsl: - - 2.7 + - '2.8' gsoap: - 2.8.123 gstreamer: @@ -396,7 +403,9 @@ libgdal: libgdal_core: - '3.13' geant4: - - 11.4.2 + - 10.7.4 + - 11.3.2 + - 11.4.3 geos: - 3.14.1 geotiff: @@ -450,13 +459,13 @@ hdf5: - '2' - 1.14.6 hdrhistogram_c: - - 0.11.9 + - 0.11.10 icu: - '78' idyntree: - '15' imath: - - 3.2.2 + - 3.2.3 impi_devel: - 2021.16.0 ipopt: @@ -560,6 +569,8 @@ libduckdb_devel: - '1' libeantic: - '2' +libedit: + - '3.1' libevent: - 2.1.12 libexactreal: @@ -631,7 +642,7 @@ libheif: libhugetlbfs: - 2 libhwloc: - - 2.13.0 + - 2.15.0 libhwy: - '1.4' libiconv: @@ -676,10 +687,12 @@ libode: - 0.16.6 libogg: - 1.3 +libonnx: + - 1.23.2 libopencolorio: - '2.5' libopenimageio: - - '3.1' + - '3.2' libopencv: - 5.0.0 libopentelemetry_cpp: @@ -687,9 +700,9 @@ libopentelemetry_cpp: libosqp: - 1.0.0 libopenvino: - - 2026.3.1 + - 2026.4.0 libopenvino_dev: - - 2026.3.1 + - 2026.4.0 libparu: - '1' libpcap: @@ -746,6 +759,8 @@ libsuitesparseconfig: - '7' libsuperiso: - '5.0' +libsrtp2: + - 2.8.1 libssh: - '0.12' libssh2: @@ -770,6 +785,8 @@ libtorch: - '2.12' libudev: - '257' +libultrahdr: + - 2.0.2 libumfpack: - '6' libunwind: @@ -784,6 +801,8 @@ libvips: - 8 libvpl: - '2.16' +libvpx: + - '1.17' libwebp: - 1 libwebp_base: @@ -796,6 +815,10 @@ libxml2: - '2.15' libxml2_devel: - '2.15' +libxmlpp_4_0: + - '4.0' +libxmlpp_5_0: + - '5.4' libxrootd_devel: - '6' libxsmm: @@ -814,6 +837,8 @@ log4cxx: - 1.8.0 lol_html: - 3.0.1 +looptools: + - '2.16' ls_hpack: - 2.3.5 lwtnn: @@ -834,6 +859,8 @@ mkl: mkl_devel: - '2026' # [not osx] - '2023' # [osx] +moab: + - '5.6' mpg123: - '1.33' mpich: @@ -885,7 +912,7 @@ numpy: obake_devel: - '0.9' occt: - - 8.0.0 + - 8.0.1 oneloop: - '3.7' openblas: @@ -897,7 +924,7 @@ openh264: openjpeg: - '2' openjph: - - '0.31' + - '0.32' openmpi: - '5' openslide: @@ -959,7 +986,7 @@ postgresql: postgresql_plpython: - '18' proj: - - '9.8' + - '9.9' pulseaudio: - '17.0' pulseaudio_client: @@ -967,7 +994,7 @@ pulseaudio_client: pulseaudio_daemon: - '17.0' pybind11_abi: - - '11' + - 11 pythia8: - '8.312' python: @@ -1019,7 +1046,7 @@ qtkeychain: rav1e: - '0.8' rdma_core: - - '63' + - '65' re2: - 2025.11.05 readline: @@ -1109,6 +1136,8 @@ tbb_devel: - '2023' tensorflow: - '2.16' +thepeg: + - '2.2' thrift_cpp: - 0.22.0 tinyxml2: @@ -1122,7 +1151,9 @@ ucc: ucx: - '1.22' uhd: - - 4.10.0 + - 4.11.0 +unibilium: + - 2.1.4 urdfdom: - '6' vc: # [win] diff --git a/distros/rolling/distro.yaml b/distros/rolling/distro.yaml index daeb404b..7d7abdcf 100644 --- a/distros/rolling/distro.yaml +++ b/distros/rolling/distro.yaml @@ -2,8 +2,5 @@ # (everything else is shared, see the README). channel_name: robostack-rolling upload_target: prefix -conda_forge_pinning_version: 2026.09.01.16.28.00 -conda_forge_migrations: [giflib6, go_macos, gstreamer128, hdf52, libboost190, pybind11_abi11, urdfdom6, - vtk970] # rolling has no regular sync tags; update-rosdistro-snapshot reads rosdistro master. rosdistro_sync: manual diff --git a/distros/rolling/patch/dependencies.yaml b/distros/rolling/patch/dependencies.yaml index 1a8324f1..561701dc 100644 --- a/distros/rolling/patch/dependencies.yaml +++ b/distros/rolling/patch/dependencies.yaml @@ -113,7 +113,17 @@ pcl_conversions: pinocchio: add_host: ["eigen-abi-devel"] plotjuggler: - add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace"] + # PlotJuggler 3.17 is Qt5-only (find_package(Qt5 ...)); the Qt rosdep keys map to Qt6 here + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["libxcb", "${{ 'elfutils' if linux }}", "ros2-ros-workspace", "qt-main"] + add_run: ["qt-main"] +plotjuggler_ros: + # Qt5-only like plotjuggler, which it links + remove_host: ["qt6-main"] + remove_run: ["qt6-main"] + add_host: ["qt-main"] + add_run: ["qt-main"] py_trees: add_host: ["hatchling"] py_trees_js: @@ -158,26 +168,8 @@ ros_ign_gazebo: add_host: ["ros2-std-msgs", "ros2-rclcpp", "${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] ros_ign_interfaces: add_host: ["ros2-rcl-interfaces"] -ros_image_to_qimage: - # Qt6, like rqt_gui_cpp (patch/ros2-ros-image-to-qimage.patch) - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] rqt_gui_cpp: add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}"] -rqt_image_overlay: - # Qt6, like rqt_gui_cpp (patch/ros2-rqt-image-overlay.patch) - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_overlay_layer: - # Qt6, like rqt_gui_cpp (patch/ros2-rqt-image-overlay-layer.patch) - remove_host: ["qt-main"] - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] -rqt_image_view: - add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "qt6-main"] - remove_host: ["qt-main"] -rqt_mocap4r2_control: - remove_host: ["qt-main"] - remove_run: ["qt-main"] rtabmap: add_host: ["${{ 'libgl-devel' if linux }}", "${{ 'libopengl-devel' if linux }}", "ceres-solver", "${{ 'libdc1394' if not win }}", "libusb", "vtk"] rviz_ogre_vendor: diff --git a/distros/rolling/patch/ros2-moveit-ros-visualization.win.patch b/distros/rolling/patch/ros2-moveit-ros-visualization.win.patch index 94d9e374..74eccd8f 100644 --- a/distros/rolling/patch/ros2-moveit-ros-visualization.win.patch +++ b/distros/rolling/patch/ros2-moveit-ros-visualization.win.patch @@ -1,7 +1,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -106,15 +106,41 @@ pluginlib_export_plugin_description_file( +@@ -106,15 +106,42 @@ pluginlib_export_plugin_description_file( pluginlib_export_plugin_description_file( rviz_common robot_state_rviz_plugin_description.xml) @@ -32,6 +32,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +if(WIN32) + install( + TARGETS ${MOVEIT_ROS_VISUALIZATION_PLUGIN_LIBRARIES} ++ EXPORT moveit_ros_visualizationTargets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin diff --git a/distros/rolling/patch/ros2-python-qt-binding.patch b/distros/rolling/patch/ros2-python-qt-binding.patch new file mode 100644 index 00000000..89498768 --- /dev/null +++ b/distros/rolling/patch/ros2-python-qt-binding.patch @@ -0,0 +1,24 @@ +diff --git a/src/python_qt_binding/binding_helper.py b/src/python_qt_binding/binding_helper.py +index cb6b835..cdb8369 100644 +--- a/src/python_qt_binding/binding_helper.py ++++ b/src/python_qt_binding/binding_helper.py +@@ -32,7 +32,6 @@ + + import builtins + import os +-import platform + import sys + import traceback + +@@ -48,10 +47,7 @@ def _select_qt_binding(binding_name=None, binding_order=None): + global QT_BINDING, QT_BINDING_VERSION + + # order of default bindings can be changed here +- if platform.system() == 'Darwin': +- DEFAULT_BINDING_ORDER = ['pyside'] +- else: +- DEFAULT_BINDING_ORDER = ['pyqt', 'pyside'] ++ DEFAULT_BINDING_ORDER = ['pyqt', 'pyside'] + + binding_order = binding_order or DEFAULT_BINDING_ORDER + diff --git a/distros/rolling/patch/ros2-rtabmap.patch b/distros/rolling/patch/ros2-rtabmap.patch index b3b1777d..7b518a73 100644 --- a/distros/rolling/patch/ros2-rtabmap.patch +++ b/distros/rolling/patch/ros2-rtabmap.patch @@ -1,11 +1,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b7d36de..80d7ea0 100644 +index 8b55e49..8f84226 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1,6 +1,9 @@ +@@ -1,7 +1,10 @@ # Top-Level CmakeLists.txt -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.18) + PROJECT( RTABMap ) +if(POLICY CMP0167) + cmake_policy(SET CMP0167 NEW) @@ -13,53 +14,7 @@ index b7d36de..80d7ea0 100644 SET(PROJECT_PREFIX rtabmap) # Catkin doesn't support multiarch library path, -@@ -84,12 +87,12 @@ IF(MINGW) - ENDIF(MINGW) - - # GCC 4 required --IF(UNIX OR MINGW) -- EXEC_PROGRAM( gcc ARGS "-dumpversion" OUTPUT_VARIABLE GCC_VERSION ) -- IF(GCC_VERSION VERSION_LESS "4.0.0") -- MESSAGE(FATAL_ERROR "GCC ${GCC_VERSION} found, but version 4.x.x minimum is required") -- ENDIF(GCC_VERSION VERSION_LESS "4.0.0") --ENDIF(UNIX OR MINGW) -+# IF(UNIX OR MINGW) -+# EXEC_PROGRAM( gcc ARGS "-dumpversion" OUTPUT_VARIABLE GCC_VERSION ) -+# IF(GCC_VERSION VERSION_LESS "4.0.0") -+# MESSAGE(FATAL_ERROR "GCC ${GCC_VERSION} found, but version 4.x.x minimum is required") -+# ENDIF(GCC_VERSION VERSION_LESS "4.0.0") -+# ENDIF(UNIX OR MINGW) - - #The CDT Error Parser cannot handle error messages that span - #more than one line, which is the default gcc behavior. -@@ -234,7 +237,25 @@ option(BUILD_WITH_RPATH_NOT_RUNPATH "Explicitly disable usage of RUNPATH for the - set(RTABMAP_QT_VERSION AUTO CACHE STRING "Force a specific Qt version.") - set_property(CACHE RTABMAP_QT_VERSION PROPERTY STRINGS AUTO 4 5 6) - --FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS core calib3d imgproc highgui stitching photo video videoio OPTIONAL_COMPONENTS aruco objdetect xfeatures2d nonfree gpu cudafeatures2d cudaoptflow cudaimgproc) -+# OpenCV components. calib3d was split into "calib" + "geometry" in OpenCV 5. -+# These lists are reused below to generate RTABMapConfig.cmake so downstream -+# find_package(RTABMap) requests the same components this build used. -+SET(RTABMAP_OpenCV_COMPONENTS_5 core imgproc highgui stitching photo video videoio calib geometry) -+SET(RTABMAP_OpenCV_COMPONENTS_4 core imgproc highgui stitching photo video videoio calib3d) -+SET(RTABMAP_OpenCV_OPTIONAL_COMPONENTS_5 objdetect xfeatures2d nonfree gpu cudafeatures2d cudaoptflow cudaimgproc) -+SET(RTABMAP_OpenCV_OPTIONAL_COMPONENTS_4 aruco objdetect xfeatures2d nonfree gpu cudafeatures2d cudaoptflow cudaimgproc) -+ -+# Probe OpenCV without a version constraint first, then request the components -+# matching the detected major version. A version-constrained find that fails to -+# match (e.g. asking for 5 when only 4 is present) resets OpenCV_DIR to NOTFOUND, -+# which breaks toolchain builds that rely on a -DOpenCV_DIR hint (e.g. Android, -+# where CMAKE_FIND_ROOT_PATH restricts the search). -+FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS core) -+IF(OpenCV_VERSION_MAJOR GREATER 4) -+ FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_5} OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_5}) -+ELSE() -+ FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_4} OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_4}) -+ENDIF() - - IF(WITH_QT) - FIND_PACKAGE(PCL 1.7 REQUIRED QUIET COMPONENTS common io kdtree search surface filters registration sample_consensus segmentation visualization) -@@ -494,7 +515,10 @@ IF(WITH_DC1394) +@@ -582,7 +585,10 @@ IF(WITH_DC1394) ENDIF(WITH_DC1394) IF(WITH_G2O) @@ -68,2573 +23,46 @@ index b7d36de..80d7ea0 100644 FIND_PACKAGE(g2o NO_MODULE) + SET(CMAKE_FIND_PACKAGE_PREFER_CONFIG ${_RTABMAP_CMAKE_FIND_PACKAGE_PREFER_CONFIG}) IF(g2o_FOUND) - MESSAGE(STATUS "Found g2o (targets)") - SET(G2O_FOUND ${g2o_FOUND}) -@@ -530,8 +554,10 @@ IF(WITH_G2O) - ENDIF(WITH_G2O) + MESSAGE(STATUS "Found g2o (targets)") + SET(G2O_FOUND ${g2o_FOUND}) +@@ -618,7 +624,10 @@ ENDIF(WITH_G2O) IF(WITH_GTSAM) -- # Force config mode to ignore PCL's findGTSAM.cmake file + # Force config mode to ignore PCL's findGTSAM.cmake file + SET(_RTABMAP_CMAKE_FIND_PACKAGE_PREFER_CONFIG ${CMAKE_FIND_PACKAGE_PREFER_CONFIG}) + SET(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE) FIND_PACKAGE(GTSAM CONFIG QUIET) + SET(CMAKE_FIND_PACKAGE_PREFER_CONFIG ${_RTABMAP_CMAKE_FIND_PACKAGE_PREFER_CONFIG}) - ENDIF(WITH_GTSAM) - - IF(WITH_MRPT) -@@ -576,9 +602,9 @@ IF(WITH_POINTMATCHER) - ENDIF(WITH_POINTMATCHER) - - IF(libpointmatcher_FOUND OR GTSAM_FOUND) -- find_package(Boost COMPONENTS thread filesystem system program_options date_time REQUIRED) -+ find_package(Boost COMPONENTS thread filesystem program_options date_time REQUIRED) - IF(Boost_MINOR_VERSION GREATER 47) -- find_package(Boost COMPONENTS thread filesystem system program_options date_time chrono timer serialization REQUIRED) -+ find_package(Boost COMPONENTS thread filesystem program_options date_time chrono timer serialization REQUIRED) - ENDIF(Boost_MINOR_VERSION GREATER 47) - IF(WIN32) - MESSAGE(STATUS "Boost_LIBRARY_DIRS=${Boost_LIBRARY_DIRS}") -@@ -1207,6 +1233,18 @@ install(EXPORT rtabmapTargets - #### - # Setup RTABMapConfig.cmake - #### -+IF(OpenCV_VERSION_MAJOR GREATER 4) -+ SET(CONF_OPENCV_COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_5}) -+ SET(CONF_OPENCV_OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_5}) -+ELSE() -+ SET(CONF_OPENCV_COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_4}) -+ SET(CONF_OPENCV_OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_4}) -+ENDIF() -+STRING(REPLACE ";" " " CONF_OPENCV_COMPONENTS "${CONF_OPENCV_COMPONENTS}") -+STRING(REPLACE ";" " " CONF_OPENCV_OPTIONAL_COMPONENTS "${CONF_OPENCV_OPTIONAL_COMPONENTS}") -+# Pin the OpenCV major version so downstream projects find the same major RTAB-Map was -+# built against -+SET(CONF_OPENCV_VERSION_MAJOR ${OpenCV_VERSION_MAJOR}) - include(CMakePackageConfigHelpers) - write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" -diff --git a/RTABMapConfig.cmake.in b/RTABMapConfig.cmake.in -index 155ef3e..713359b 100644 ---- a/RTABMapConfig.cmake.in -+++ b/RTABMapConfig.cmake.in -@@ -1,7 +1,7 @@ - include(CMakeFindDependencyMacro) - - # Mandatory dependencies --find_dependency(OpenCV COMPONENTS core calib3d imgproc highgui stitching photo video OPTIONAL_COMPONENTS aruco objdetect xfeatures2d nonfree gpu cudafeatures2d) -+find_dependency(OpenCV @CONF_OPENCV_VERSION_MAJOR@ COMPONENTS @CONF_OPENCV_COMPONENTS@ OPTIONAL_COMPONENTS @CONF_OPENCV_OPTIONAL_COMPONENTS@) - - if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/RTABMap_guiTargets.cmake") - find_dependency(PCL 1.7 COMPONENTS common io kdtree search surface filters registration sample_consensus segmentation visualization) -diff --git a/app/android/jni/point_cloud_drawable.cpp b/app/android/jni/point_cloud_drawable.cpp -index ca23e31..cf38ec1 100644 ---- a/app/android/jni/point_cloud_drawable.cpp -+++ b/app/android/jni/point_cloud_drawable.cpp -@@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" - #include "rtabmap/utilite/UConversion.h" --#include -+#include - #include "util.h" - #include "pcl/common/transforms.h" - -diff --git a/corelib/include/rtabmap/core/DBDriverSqlite3.h b/corelib/include/rtabmap/core/DBDriverSqlite3.h -index 407ec7e..fbcd49b 100644 ---- a/corelib/include/rtabmap/core/DBDriverSqlite3.h -+++ b/corelib/include/rtabmap/core/DBDriverSqlite3.h -@@ -30,7 +30,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines - #include "rtabmap/core/DBDriver.h" --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - - typedef struct sqlite3_stmt sqlite3_stmt; - typedef struct sqlite3 sqlite3; -diff --git a/corelib/include/rtabmap/core/EpipolarGeometry.h b/corelib/include/rtabmap/core/EpipolarGeometry.h -index e9408cd..fec9036 100644 ---- a/corelib/include/rtabmap/core/EpipolarGeometry.h -+++ b/corelib/include/rtabmap/core/EpipolarGeometry.h -@@ -31,7 +31,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/core/Parameters.h" - #include "rtabmap/utilite/UStl.h" - #include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif -+#endif - #include - #include - #include -diff --git a/corelib/include/rtabmap/core/Features2d.h b/corelib/include/rtabmap/core/Features2d.h -index f26f84b..9b064c1 100644 ---- a/corelib/include/rtabmap/core/Features2d.h -+++ b/corelib/include/rtabmap/core/Features2d.h -@@ -30,9 +30,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines - --#include -+#include - #include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - #include - #include - #include "rtabmap/core/Parameters.h" -@@ -70,6 +74,10 @@ class BriefDescriptorExtractor; - class SIFT; - #endif - class SURF; -+#if (CV_MAJOR_VERSION == 5) -+class BRISK; -+class KAZE; -+#endif - } - namespace cuda { - class FastFeatureDetector; -@@ -89,7 +97,13 @@ typedef cv::xfeatures2d::FREAK CV_FREAK; - typedef cv::xfeatures2d::DAISY CV_DAISY; - typedef cv::GFTTDetector CV_GFTT; - typedef cv::xfeatures2d::BriefDescriptorExtractor CV_BRIEF; -+#if (CV_MAJOR_VERSION < 5) - typedef cv::BRISK CV_BRISK; -+typedef cv::KAZE CV_KAZE; -+#else -+typedef cv::xfeatures2d::BRISK CV_BRISK; -+typedef cv::xfeatures2d::KAZE CV_KAZE; -+#endif - typedef cv::ORB CV_ORB; - typedef cv::cuda::SURF_CUDA CV_SURF_GPU; - typedef cv::cuda::ORB CV_ORB_GPU; -@@ -573,7 +587,7 @@ private: - int diffusivity_; - - #if CV_MAJOR_VERSION > 2 -- cv::Ptr kaze_; -+ cv::Ptr kaze_; - #endif - }; - -diff --git a/corelib/include/rtabmap/core/Memory.h b/corelib/include/rtabmap/core/Memory.h -index 39996d9..2fe3640 100644 ---- a/corelib/include/rtabmap/core/Memory.h -+++ b/corelib/include/rtabmap/core/Memory.h -@@ -41,7 +41,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include "rtabmap/utilite/UStl.h" - #include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - #include - - namespace rtabmap { -diff --git a/corelib/include/rtabmap/core/OdometryInfo.h b/corelib/include/rtabmap/core/OdometryInfo.h -index 484692b..a3ec914 100644 ---- a/corelib/include/rtabmap/core/OdometryInfo.h -+++ b/corelib/include/rtabmap/core/OdometryInfo.h -@@ -34,7 +34,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/core/RegistrationInfo.h" - #include "rtabmap/core/CameraModel.h" - #include "rtabmap/core/LaserScan.h" --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - - namespace rtabmap { - -diff --git a/corelib/include/rtabmap/core/SensorCapture.h b/corelib/include/rtabmap/core/SensorCapture.h -index 20ee01b..13da904 100644 ---- a/corelib/include/rtabmap/core/SensorCapture.h -+++ b/corelib/include/rtabmap/core/SensorCapture.h -@@ -28,7 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines - --#include -+#include - #include - #include "rtabmap/core/SensorData.h" - #include -@@ -44,7 +44,7 @@ namespace rtabmap - - /** - * Class Camera -- * -+ * - */ - class RTABMAP_CORE_EXPORT SensorCapture - { -diff --git a/corelib/include/rtabmap/core/SensorData.h b/corelib/include/rtabmap/core/SensorData.h -index 18fc5d3..6688988 100644 ---- a/corelib/include/rtabmap/core/SensorData.h -+++ b/corelib/include/rtabmap/core/SensorData.h -@@ -34,7 +34,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - #include - #include - #include -diff --git a/corelib/include/rtabmap/core/Signature.h b/corelib/include/rtabmap/core/Signature.h -index 9dbbe53..35d438d 100644 ---- a/corelib/include/rtabmap/core/Signature.h -+++ b/corelib/include/rtabmap/core/Signature.h -@@ -31,8 +31,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include --#include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif -+#include - #include - #include - #include -@@ -62,7 +66,7 @@ public: - virtual ~Signature(); - - /** -- * Must return a value between >=0 and <=1 (1 means 100% similarity). -+ * Must return a value between >=0 and <=1 (1 means 100% similarity). - */ - float compareTo(const Signature & signature) const; - bool isBadSignature() const; -diff --git a/corelib/include/rtabmap/core/Statistics.h b/corelib/include/rtabmap/core/Statistics.h -index 61abdde..68491a8 100644 ---- a/corelib/include/rtabmap/core/Statistics.h -+++ b/corelib/include/rtabmap/core/Statistics.h -@@ -31,8 +31,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines - - #include --#include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif -+#include - #include - #include - #include -diff --git a/corelib/include/rtabmap/core/VWDictionary.h b/corelib/include/rtabmap/core/VWDictionary.h -index fbfa7ba..db7d4db 100644 ---- a/corelib/include/rtabmap/core/VWDictionary.h -+++ b/corelib/include/rtabmap/core/VWDictionary.h -@@ -29,9 +29,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines - --#include -+#include - #include --#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - #include - #include - #include "rtabmap/core/Parameters.h" -diff --git a/corelib/include/rtabmap/core/camera/CameraVideo.h b/corelib/include/rtabmap/core/camera/CameraVideo.h -index bdc90a1..ca65116 100644 ---- a/corelib/include/rtabmap/core/camera/CameraVideo.h -+++ b/corelib/include/rtabmap/core/camera/CameraVideo.h -@@ -27,7 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #pragma once - --#include -+#include - #include "rtabmap/core/Camera.h" - - namespace rtabmap -diff --git a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h -index 2fc12a2..3361aab 100644 ---- a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h -+++ b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h -@@ -32,12 +32,23 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifndef CORELIB_SRC_OPENCV_STEREORECTIFYFISHEYE_H_ - #define CORELIB_SRC_OPENCV_STEREORECTIFYFISHEYE_H_ - -+// This header relies on the OpenCV C API (cvRodrigues2, cvProjectPoints2, ...) -+// which was removed in OpenCV 5. Pull in only the version macros (available in -+// all OpenCV versions) so we can fail early with a clear message rather than -+// with cryptic errors from the includes below. -+#include -+#if CV_MAJOR_VERSION >= 5 -+#error "stereoRectifyFisheye.h is not supported with OpenCV 5 or later (it uses the removed OpenCV C API). Use cv::fisheye::stereoRectify() instead, or guard your include with '#if CV_MAJOR_VERSION < 5'." -+#endif -+ - #include - #if CV_MAJOR_VERSION >= 3 --#include - - #if CV_MAJOR_VERSION >= 4 - #include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - - // Opencv4 doesn't expose those functions below anymore, we should recopy all of them! - int cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian CV_DEFAULT(0)) -diff --git a/corelib/include/rtabmap/core/util3d_correspondences.h b/corelib/include/rtabmap/core/util3d_correspondences.h -index 6bbaeb2..f50a98b 100644 ---- a/corelib/include/rtabmap/core/util3d_correspondences.h -+++ b/corelib/include/rtabmap/core/util3d_correspondences.h -@@ -32,7 +32,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include --#include -+#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - #include - #include - #include -diff --git a/corelib/include/rtabmap/core/util3d_features.h b/corelib/include/rtabmap/core/util3d_features.h -index 2a02bf2..ac5cb75 100644 ---- a/corelib/include/rtabmap/core/util3d_features.h -+++ b/corelib/include/rtabmap/core/util3d_features.h -@@ -30,7 +30,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - -+#include -+#if CV_MAJOR_VERSION < 5 - #include -+#else -+#include -+#endif - #include - #include - #include -diff --git a/corelib/src/CameraModel.cpp b/corelib/src/CameraModel.cpp -index 3e80d25..bc37f40 100644 ---- a/corelib/src/CameraModel.cpp -+++ b/corelib/src/CameraModel.cpp -@@ -33,7 +33,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - - namespace rtabmap { - -diff --git a/corelib/src/EpipolarGeometry.cpp b/corelib/src/EpipolarGeometry.cpp -index 38f1584..758a14a 100644 ---- a/corelib/src/EpipolarGeometry.cpp -+++ b/corelib/src/EpipolarGeometry.cpp -@@ -33,8 +33,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UMath.h" - - #include --#include -+#if CV_MAJOR_VERSION < 5 - #include -+#else -+#include -+#endif - #include - - namespace rtabmap -diff --git a/corelib/src/Features2d.cpp b/corelib/src/Features2d.cpp -index 90555db..cadafff 100644 ---- a/corelib/src/Features2d.cpp -+++ b/corelib/src/Features2d.cpp -@@ -36,7 +36,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UMath.h" - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" --#include - #include - #include - -@@ -857,7 +856,7 @@ std::vector Feature2D::generateKeypoints(const cv::Mat & image, co - cv::cornerSubPix( image, corners, - cv::Size( _subPixWinSize, _subPixWinSize ), - cv::Size( -1, -1 ), -- cv::TermCriteria( CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, _subPixIterations, _subPixEps ) ); -+ cv::TermCriteria( cv::TermCriteria::MAX_ITER | cv::TermCriteria::EPS, _subPixIterations, _subPixEps ) ); - - for(unsigned int i=0;i 4 -+#ifdef HAVE_OPENCV_XFEATURES2D -+ brisk_ = CV_BRISK::create(thresh_, octaves_, patternScale_); -+#else -+ UWARN("RTAB-Map is not built with OpenCV xfeatures2d module so BRISK cannot be used!"); -+#endif -+#elif CV_MAJOR_VERSION < 3 - brisk_ = cv::Ptr(new CV_BRISK(thresh_, octaves_, patternScale_)); - #else - brisk_ = CV_BRISK::create(thresh_, octaves_, patternScale_); -@@ -2357,6 +2361,7 @@ std::vector BRISK::generateKeypointsImpl(const cv::Mat & image, co - { - UASSERT(!image.empty() && image.channels() == 1 && image.depth() == CV_8U); - std::vector keypoints; -+#if CV_MAJOR_VERSION < 5 || (CV_MAJOR_VERSION > 4 && defined(HAVE_OPENCV_XFEATURES2D)) - cv::Mat imgRoi(image, roi); - cv::Mat maskRoi; - if(!mask.empty()) -@@ -2364,6 +2369,9 @@ std::vector BRISK::generateKeypointsImpl(const cv::Mat & image, co - maskRoi = cv::Mat(mask, roi); - } - brisk_->detect(imgRoi, keypoints, maskRoi); // Opencv keypoints -+#else -+ UWARN("RTAB-Map is not built with BRISK feature support!"); -+#endif - return keypoints; - } - -@@ -2371,7 +2379,11 @@ cv::Mat BRISK::generateDescriptorsImpl(const cv::Mat & image, std::vector 4 && defined(HAVE_OPENCV_XFEATURES2D)) - brisk_->compute(image, keypoints, descriptors); -+#else -+ UWARN("RTAB-Map is not built with BRISK feature support!"); -+#endif - return descriptors; - } - -@@ -2404,10 +2416,16 @@ void KAZE::parseParameters(const ParametersMap & parameters) - Parameters::parse(parameters, Parameters::kKAZENOctaveLayers(), nOctaveLayers_); - Parameters::parse(parameters, Parameters::kKAZEDiffusivity(), diffusivity_); - --#if CV_MAJOR_VERSION > 3 -- kaze_ = cv::KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, (cv::KAZE::DiffusivityType)diffusivity_); -+#if CV_MAJOR_VERSION > 4 -+#ifdef HAVE_OPENCV_XFEATURES2D -+ kaze_ = CV_KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, (CV_KAZE::DiffusivityType)diffusivity_); -+#else -+ UWARN("RTAB-Map is not built with OpenCV xfeatures2d module so KAZE cannot be used!"); -+#endif -+#elif CV_MAJOR_VERSION > 3 -+ kaze_ = CV_KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, (CV_KAZE::DiffusivityType)diffusivity_); - #elif CV_MAJOR_VERSION > 2 -- kaze_ = cv::KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, diffusivity_); -+ kaze_ = CV_KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, diffusivity_); - #else - UWARN("RTAB-Map is not built with OpenCV3 so Kaze feature cannot be used!"); - #endif -@@ -2417,7 +2435,7 @@ std::vector KAZE::generateKeypointsImpl(const cv::Mat & image, con - { - UASSERT(!image.empty() && image.channels() == 1 && image.depth() == CV_8U); - std::vector keypoints; --#if CV_MAJOR_VERSION > 2 -+#if (CV_MAJOR_VERSION > 2 && CV_MAJOR_VERSION < 5) || (CV_MAJOR_VERSION > 4 && defined(HAVE_OPENCV_XFEATURES2D)) - cv::Mat imgRoi(image, roi); - cv::Mat maskRoi; - if (!mask.empty()) -@@ -2426,7 +2444,7 @@ std::vector KAZE::generateKeypointsImpl(const cv::Mat & image, con - } - kaze_->detect(imgRoi, keypoints, maskRoi); // Opencv keypoints - #else -- UWARN("RTAB-Map is not built with OpenCV3 so Kaze feature cannot be used!"); -+ UWARN("RTAB-Map is not built with Kaze feature support!"); - #endif - return keypoints; - } -@@ -2435,10 +2453,10 @@ cv::Mat KAZE::generateDescriptorsImpl(const cv::Mat & image, std::vector 2 -+#if (CV_MAJOR_VERSION > 2 && CV_MAJOR_VERSION < 5) || (CV_MAJOR_VERSION > 4 && defined(HAVE_OPENCV_XFEATURES2D)) - kaze_->compute(image, keypoints, descriptors); - #else -- UWARN("RTAB-Map is not built with OpenCV3 so Kaze feature cannot be used!"); -+ UWARN("RTAB-Map is not built with Kaze feature support!"); - #endif - return descriptors; - } -diff --git a/corelib/src/Memory.cpp b/corelib/src/Memory.cpp -index 0556312..2ea825f 100644 ---- a/corelib/src/Memory.cpp -+++ b/corelib/src/Memory.cpp -@@ -26,6 +26,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + IF(GTSAM_FOUND) + INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/CheckGTSAMFeatures.cmake) + ENDIF(GTSAM_FOUND) +diff --git a/app/src/main.cpp b/app/src/main.cpp +index ae43343..1a2559f 100644 +--- a/app/src/main.cpp ++++ b/app/src/main.cpp +@@ -25,6 +25,10 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - #include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - #include - #include - #include -@@ -62,7 +65,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - #include - - namespace rtabmap { -@@ -4930,7 +4932,7 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor - cv::Mat imageMono; - if(decimatedData.imageRaw().channels() == 3) - { -- cv::cvtColor(decimatedData.imageRaw(), imageMono, CV_BGR2GRAY); -+ cv::cvtColor(decimatedData.imageRaw(), imageMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -5239,7 +5241,7 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor - cv::Mat imageMono; - if(data.imageRaw().channels() == 3) - { -- cv::cvtColor(data.imageRaw(), imageMono, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), imageMono, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/corelib/src/RegistrationVis.cpp b/corelib/src/RegistrationVis.cpp -index 84f0101..dac3180 100644 ---- a/corelib/src/RegistrationVis.cpp -+++ b/corelib/src/RegistrationVis.cpp -@@ -43,7 +43,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#if CV_MAJOR_VERSION > 4 -+#include -+#endif - - #if defined(HAVE_OPENCV_XFEATURES2D) && (CV_MAJOR_VERSION > 3 || (CV_MAJOR_VERSION==3 && CV_MINOR_VERSION >=4 && CV_SUBMINOR_VERSION >= 1)) - #include // For GMS matcher -@@ -52,6 +54,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef HAVE_OPENCV_CUDAOPTFLOW - #include - #include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - #endif - - #include -@@ -2170,7 +2175,7 @@ Transform RegistrationVis::computeTransformationImpl( - if(!transform.isNull() && !pcaData.empty()) - { - cv::Mat pcaEigenVectors, pcaEigenValues; -- cv::PCA pca_analysis(pcaData, cv::Mat(), CV_PCA_DATA_AS_ROW); -+ cv::PCA pca_analysis(pcaData, cv::Mat(), cv::PCA::DATA_AS_ROW); - // We take the second eigen value - info.inliersDistribution = pca_analysis.eigenvalues.at(0, 1); - -diff --git a/corelib/src/SensorCapture.cpp b/corelib/src/SensorCapture.cpp -index 5932787..a86708d 100644 ---- a/corelib/src/SensorCapture.cpp -+++ b/corelib/src/SensorCapture.cpp -@@ -35,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - --#include -+#include - - #include - #include -diff --git a/corelib/src/SensorCaptureThread.cpp b/corelib/src/SensorCaptureThread.cpp -index 8941c3d..7d62f70 100644 ---- a/corelib/src/SensorCaptureThread.cpp -+++ b/corelib/src/SensorCaptureThread.cpp -@@ -39,7 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/core/IMUFilter.h" - #include "rtabmap/core/Features2d.h" - #include "rtabmap/core/clams/discrete_depth_distortion_model.h" --#include - #include - #include - #include -@@ -742,11 +741,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i - else if(data.imageRaw().type() == CV_8UC3) - { - cv::Mat channels[3]; -- cv::cvtColor(data.imageRaw(), image, CV_BGR2YCrCb); -+ cv::cvtColor(data.imageRaw(), image, cv::COLOR_BGR2YCrCb); - cv::split(image, channels); - cv::equalizeHist(channels[0], channels[0]); - cv::merge(channels, 3, image); -- cv::cvtColor(image, image, CV_YCrCb2BGR); -+ cv::cvtColor(image, image, cv::COLOR_YCrCb2BGR); - } - if(!data.depthRaw().empty()) - { -@@ -762,11 +761,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i - else if(data.rightRaw().type() == CV_8UC3) - { - cv::Mat channels[3]; -- cv::cvtColor(data.rightRaw(), right, CV_BGR2YCrCb); -+ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2YCrCb); - cv::split(right, channels); - cv::equalizeHist(channels[0], channels[0]); - cv::merge(channels, 3, right); -- cv::cvtColor(right, right, CV_YCrCb2BGR); -+ cv::cvtColor(right, right, cv::COLOR_YCrCb2BGR); - } - data.setStereoImage(image, right, data.stereoCameraModels()[0]); - } -@@ -781,11 +780,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i - else if(data.imageRaw().type() == CV_8UC3) - { - cv::Mat channels[3]; -- cv::cvtColor(data.imageRaw(), image, CV_BGR2YCrCb); -+ cv::cvtColor(data.imageRaw(), image, cv::COLOR_BGR2YCrCb); - cv::split(image, channels); - clahe->apply(channels[0], channels[0]); - cv::merge(channels, 3, image); -- cv::cvtColor(image, image, CV_YCrCb2BGR); -+ cv::cvtColor(image, image, cv::COLOR_YCrCb2BGR); - } - if(!data.depthRaw().empty()) - { -@@ -801,11 +800,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i - else if(data.rightRaw().type() == CV_8UC3) - { - cv::Mat channels[3]; -- cv::cvtColor(data.rightRaw(), right, CV_BGR2YCrCb); -+ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2YCrCb); - cv::split(right, channels); - clahe->apply(channels[0], channels[0]); - cv::merge(channels, 3, right); -- cv::cvtColor(right, right, CV_YCrCb2BGR); -+ cv::cvtColor(right, right, cv::COLOR_YCrCb2BGR); - } - data.setStereoImage(image, right, data.stereoCameraModels()[0]); - } -diff --git a/corelib/src/Signature.cpp b/corelib/src/Signature.cpp -index 32fca30..a7dc364 100644 ---- a/corelib/src/Signature.cpp -+++ b/corelib/src/Signature.cpp -@@ -29,7 +29,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/core/EpipolarGeometry.h" - #include "rtabmap/core/Memory.h" - #include "rtabmap/core/Compression.h" --#include -+#include - - #include - -diff --git a/corelib/src/StereoCameraModel.cpp b/corelib/src/StereoCameraModel.cpp -index 421d3f4..5b0e88b 100644 ---- a/corelib/src/StereoCameraModel.cpp -+++ b/corelib/src/StereoCameraModel.cpp -@@ -31,9 +31,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - --#if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) -+#if (CV_MAJOR_VERSION > 2 and CV_MAJOR_VERSION < 5) or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) - #include - #endif - -@@ -179,12 +182,20 @@ void StereoCameraModel::updateStereoRectification() - { - cv::Vec4d D_left(left_.D_raw().at(0,0), left_.D_raw().at(0,1), left_.D_raw().at(0,4), left_.D_raw().at(0,5)); - cv::Vec4d D_right(right_.D_raw().at(0,0), right_.D_raw().at(0,1), right_.D_raw().at(0,4), right_.D_raw().at(0,5)); -- -+#if CV_MAJOR_VERSION < 5 - stereoRectifyFisheye( - left_.K_raw(), D_left, - right_.K_raw(), D_right, - left_.imageSize(), R_, T_, R1, R2, P1, P2, Q, - cv::CALIB_ZERO_DISPARITY, 0, left_.imageSize()); -+#else -+ double balance = 0.0, fov_scale = 1.0; -+ cv::fisheye::stereoRectify( -+ left_.K_raw(), D_left, -+ right_.K_raw(), D_right, -+ left_.imageSize(), R_, T_, R1, R2, P1, P2, Q, -+ cv::CALIB_ZERO_DISPARITY, left_.imageSize(), balance, fov_scale); -+#endif - - // Re-zoom to original focal distance - if(P1.at(0,0) < 0) -diff --git a/corelib/src/camera/CameraDepthAI.cpp b/corelib/src/camera/CameraDepthAI.cpp -index 9eb0179..a0d4699 100644 ---- a/corelib/src/camera/CameraDepthAI.cpp -+++ b/corelib/src/camera/CameraDepthAI.cpp -@@ -32,7 +32,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include -- -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif - - namespace rtabmap { - -diff --git a/corelib/src/camera/CameraFreenect.cpp b/corelib/src/camera/CameraFreenect.cpp -index 9d48215..a402c7b 100644 ---- a/corelib/src/camera/CameraFreenect.cpp -+++ b/corelib/src/camera/CameraFreenect.cpp -@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_FREENECT - #include -@@ -183,7 +182,7 @@ private: - - if(color_) - { -- cv::cvtColor(rgbIrBuffer_, rgbIrLastFrame_, CV_RGB2BGR); -+ cv::cvtColor(rgbIrBuffer_, rgbIrLastFrame_, cv::COLOR_RGB2BGR); - } - else // IrDepth - { -diff --git a/corelib/src/camera/CameraFreenect2.cpp b/corelib/src/camera/CameraFreenect2.cpp -index 85f7bdf..1514311 100644 ---- a/corelib/src/camera/CameraFreenect2.cpp -+++ b/corelib/src/camera/CameraFreenect2.cpp -@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_FREENECT2 - #include -@@ -430,11 +429,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) - cv::Mat rgbMat; // rtabmap uses 3 channels RGB - #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT - -- cv::cvtColor(rgbMatC4, rgbMat, CV_RGBA2BGR); -+ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_RGBA2BGR); - - #else - -- cv::cvtColor(rgbMatC4, rgbMat, CV_BGRA2BGR); -+ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_BGRA2BGR); - - #endif - cv::flip(rgbMat, rgb, 1); -@@ -490,11 +489,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) - cv::Mat rgbMat; // rtabmap uses 3 channels RGB - #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT - -- cv::cvtColor(rgbMatC4, rgbMat, CV_RGB2BGR); -+ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_RGB2BGR); - - #else - -- cv::cvtColor(rgbMatC4, rgbMat, CV_BGRA2BGR); -+ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_BGRA2BGR); - - #endif - cv::flip(rgbMat, rgb, 1); -@@ -607,11 +606,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) - // rtabmap uses 3 channels RGB - #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT - -- cv::cvtColor(rgbMatBGRA, rgb, CV_RGBA2BGR); -+ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_RGBA2BGR); - - #else - -- cv::cvtColor(rgbMatBGRA, rgb, CV_BGRA2BGR); -+ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_BGRA2BGR); - - #endif - cv::flip(rgb, rgb, 1); -@@ -629,11 +628,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) - // rtabmap uses 3 channels RGB - #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT - -- cv::cvtColor(rgbMatBGRA, rgb, CV_RGBA2BGR); -+ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_RGBA2BGR); - - #else - -- cv::cvtColor(rgbMatBGRA, rgb, CV_BGRA2BGR); -+ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_BGRA2BGR); - - #endif - cv::flip(rgb, rgb, 1); -diff --git a/corelib/src/camera/CameraImages.cpp b/corelib/src/camera/CameraImages.cpp -index 0591181..9109ac4 100644 ---- a/corelib/src/camera/CameraImages.cpp -+++ b/corelib/src/camera/CameraImages.cpp -@@ -34,7 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include - - namespace rtabmap -@@ -914,7 +914,7 @@ SensorData CameraImages::captureImage(SensorCaptureInfo * info) - { - UWARN("Conversion from 4 channels to 3 channels (file=%s)", imageFilePath.c_str()); - cv::Mat out; -- cv::cvtColor(img, out, CV_BGRA2BGR); -+ cv::cvtColor(img, out, cv::COLOR_BGRA2BGR); - img = out; - } - else if(!img.empty() && _bayerMode >= 0 && _bayerMode <=3) -@@ -922,7 +922,7 @@ SensorData CameraImages::captureImage(SensorCaptureInfo * info) - cv::Mat debayeredImg; - try - { -- cv::cvtColor(img, debayeredImg, CV_BayerBG2BGR + _bayerMode); -+ cv::cvtColor(img, debayeredImg, cv::COLOR_BayerBG2BGR + _bayerMode); - img = debayeredImg; - } - catch(const cv::Exception & e) -diff --git a/corelib/src/camera/CameraK4A.cpp b/corelib/src/camera/CameraK4A.cpp -index ad5714d..caf659b 100644 ---- a/corelib/src/camera/CameraK4A.cpp -+++ b/corelib/src/camera/CameraK4A.cpp -@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_K4A - #include -@@ -508,7 +507,7 @@ SensorData CameraK4A::captureImage(SensorCaptureInfo * info) - CV_8UC4, - (void*)k4a_image_get_buffer(rgb_image_)); - -- cv::cvtColor(bgra, bgrCV, CV_BGRA2BGR); -+ cv::cvtColor(bgra, bgrCV, cv::COLOR_BGRA2BGR); - } - bgrCV = model_.rectifyImage(bgrCV); - -diff --git a/corelib/src/camera/CameraK4W2.cpp b/corelib/src/camera/CameraK4W2.cpp -index e289029..9a96251 100644 ---- a/corelib/src/camera/CameraK4W2.cpp -+++ b/corelib/src/camera/CameraK4W2.cpp -@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_K4W2 - #include -@@ -486,11 +485,11 @@ SensorData CameraK4W2::captureImage(SensorCaptureInfo * info) - { - cv::Mat tmp; - cv::resize(cv::Mat(nColorHeight, nColorWidth, CV_8UC4, pColorBuffer), tmp, cv::Size(), 0.5, 0.5, cv::INTER_AREA); -- cv::cvtColor(tmp, imageColor, CV_BGRA2BGR); -+ cv::cvtColor(tmp, imageColor, cv::COLOR_BGRA2BGR); - } - else - { -- cv::cvtColor(cv::Mat(nColorHeight, nColorWidth, CV_8UC4, pColorBuffer), imageColor, CV_BGRA2BGR); -+ cv::cvtColor(cv::Mat(nColorHeight, nColorWidth, CV_8UC4, pColorBuffer), imageColor, cv::COLOR_BGRA2BGR); - } - // loop over output pixels - for (int depthIndex = 0; depthIndex < (nDepthWidth*nDepthHeight); ++depthIndex) -diff --git a/corelib/src/camera/CameraOpenNI2.cpp b/corelib/src/camera/CameraOpenNI2.cpp -index 8be86b7..4d2ff1a 100644 ---- a/corelib/src/camera/CameraOpenNI2.cpp -+++ b/corelib/src/camera/CameraOpenNI2.cpp -@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_OPENNI2 - #include -@@ -514,7 +513,7 @@ SensorData CameraOpenNI2::captureImage(SensorCaptureInfo * info) - cv::Mat tmp(h, w, CV_8UC3, (void *)colorFrame.getData()); - if(_type==kTypeColorDepth) - { -- cv::cvtColor(tmp, rgb, CV_RGB2BGR); -+ cv::cvtColor(tmp, rgb, cv::COLOR_RGB2BGR); - } - else // IR - { -diff --git a/corelib/src/camera/CameraOpenNICV.cpp b/corelib/src/camera/CameraOpenNICV.cpp -index 13536d6..1359561 100644 ---- a/corelib/src/camera/CameraOpenNICV.cpp -+++ b/corelib/src/camera/CameraOpenNICV.cpp -@@ -26,9 +26,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include --#if CV_MAJOR_VERSION > 3 --#include --#endif -+#include - - namespace rtabmap - { -@@ -59,30 +57,34 @@ bool CameraOpenNICV::init(const std::string & calibrationFolder, const std::stri - } - - ULOGGER_DEBUG("Camera::init()"); -- _capture.open( _asus?CV_CAP_OPENNI_ASUS:CV_CAP_OPENNI ); -+#if CV_MAJOR_VERSION < 5 -+ _capture.open( _asus?cv::CAP_OPENNI_ASUS:cv::CAP_OPENNI ); -+#else -+ _capture.open( _asus?cv::CAP_OPENNI2_ASUS:cv::CAP_OPENNI2 ); -+#endif - if(_capture.isOpened()) - { -- _capture.set( CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE, CV_CAP_OPENNI_VGA_30HZ ); -- _depthFocal = _capture.get( CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH ); -+ _capture.set( cv::CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE, cv::CAP_OPENNI_VGA_30HZ ); -+ _depthFocal = _capture.get( cv::CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH ); - // Print some avalible device settings. - UINFO("Depth generator output mode:"); -- UINFO("FRAME_WIDTH %f", _capture.get( CV_CAP_PROP_FRAME_WIDTH )); -- UINFO("FRAME_HEIGHT %f", _capture.get( CV_CAP_PROP_FRAME_HEIGHT )); -- UINFO("FRAME_MAX_DEPTH %f mm", _capture.get( CV_CAP_PROP_OPENNI_FRAME_MAX_DEPTH )); -- UINFO("BASELINE %f mm", _capture.get( CV_CAP_PROP_OPENNI_BASELINE )); -- UINFO("FPS %f", _capture.get( CV_CAP_PROP_FPS )); -- UINFO("Focal %f", _capture.get( CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH )); -- UINFO("REGISTRATION %f", _capture.get( CV_CAP_PROP_OPENNI_REGISTRATION )); -- if(_capture.get( CV_CAP_PROP_OPENNI_REGISTRATION ) == 0.0) -+ UINFO("FRAME_WIDTH %f", _capture.get( cv::CAP_PROP_FRAME_WIDTH )); -+ UINFO("FRAME_HEIGHT %f", _capture.get( cv::CAP_PROP_FRAME_HEIGHT )); -+ UINFO("FRAME_MAX_DEPTH %f mm", _capture.get( cv::CAP_PROP_OPENNI_FRAME_MAX_DEPTH )); -+ UINFO("BASELINE %f mm", _capture.get( cv::CAP_PROP_OPENNI_BASELINE )); -+ UINFO("FPS %f", _capture.get( cv::CAP_PROP_FPS )); -+ UINFO("Focal %f", _capture.get( cv::CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH )); -+ UINFO("REGISTRATION %f", _capture.get( cv::CAP_PROP_OPENNI_REGISTRATION )); -+ if(_capture.get( cv::CAP_PROP_OPENNI_REGISTRATION ) == 0.0) - { - UERROR("Depth registration is not activated on this device!"); - } -- if( _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR_PRESENT ) ) -+ if( _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR_PRESENT ) ) - { - UINFO("Image generator output mode:"); -- UINFO("FRAME_WIDTH %f", _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR+CV_CAP_PROP_FRAME_WIDTH )); -- UINFO("FRAME_HEIGHT %f", _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR+CV_CAP_PROP_FRAME_HEIGHT )); -- UINFO("FPS %f", _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR+CV_CAP_PROP_FPS )); -+ UINFO("FRAME_WIDTH %f", _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR+cv::CAP_PROP_FRAME_WIDTH )); -+ UINFO("FRAME_HEIGHT %f", _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR+cv::CAP_PROP_FRAME_HEIGHT )); -+ UINFO("FPS %f", _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR+cv::CAP_PROP_FPS )); - } - else - { -@@ -112,8 +114,8 @@ SensorData CameraOpenNICV::captureImage(SensorCaptureInfo * info) - { - _capture.grab(); - cv::Mat depth, rgb; -- _capture.retrieve(depth, CV_CAP_OPENNI_DEPTH_MAP ); -- _capture.retrieve(rgb, CV_CAP_OPENNI_BGR_IMAGE ); -+ _capture.retrieve(depth, cv::CAP_OPENNI_DEPTH_MAP ); -+ _capture.retrieve(rgb, cv::CAP_OPENNI_BGR_IMAGE ); - - depth = depth.clone(); - rgb = rgb.clone(); -diff --git a/corelib/src/camera/CameraOpenni.cpp b/corelib/src/camera/CameraOpenni.cpp -index 9fb8dc7..68cba16 100644 ---- a/corelib/src/camera/CameraOpenni.cpp -+++ b/corelib/src/camera/CameraOpenni.cpp -@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_OPENNI - #include -@@ -94,7 +93,7 @@ void CameraOpenni::image_cb ( - - cv::Mat rgbFrame(rgb->getHeight(), rgb->getWidth(), CV_8UC3); - rgb->fillRGB(rgb->getWidth(), rgb->getHeight(), rgbFrame.data); -- cv::cvtColor(rgbFrame, rgb_, CV_RGB2BGR); -+ cv::cvtColor(rgbFrame, rgb_, cv::COLOR_RGB2BGR); - - depth_ = cv::Mat(rgb->getHeight(), rgb->getWidth(), CV_16UC1); - depth->fillDepthImageRaw(rgb->getWidth(), rgb->getHeight(), (unsigned short*)depth_.data); -diff --git a/corelib/src/camera/CameraRealSense.cpp b/corelib/src/camera/CameraRealSense.cpp -index 3f545bb..0136238 100644 ---- a/corelib/src/camera/CameraRealSense.cpp -+++ b/corelib/src/camera/CameraRealSense.cpp -@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_REALSENSE - #include -@@ -938,7 +937,7 @@ SensorData CameraRealSense::captureImage(SensorCaptureInfo * info) - } - else - { -- cv::cvtColor(rgb, bgr, CV_RGB2BGR); -+ cv::cvtColor(rgb, bgr, cv::COLOR_RGB2BGR); - } - - bool rectified = false; -diff --git a/corelib/src/camera/CameraRealSense2.cpp b/corelib/src/camera/CameraRealSense2.cpp -index 4ddfc77..cc803c8 100644 ---- a/corelib/src/camera/CameraRealSense2.cpp -+++ b/corelib/src/camera/CameraRealSense2.cpp -@@ -30,7 +30,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_REALSENSE2 - #include -diff --git a/corelib/src/camera/CameraStereoDC1394.cpp b/corelib/src/camera/CameraStereoDC1394.cpp -index 691516b..2c21108 100644 ---- a/corelib/src/camera/CameraStereoDC1394.cpp -+++ b/corelib/src/camera/CameraStereoDC1394.cpp -@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - - #ifdef RTABMAP_DC1394 - #include -@@ -295,8 +294,8 @@ public: - - //DC1394_COLOR_CODING_RAW16: - //DC1394_COLOR_FILTER_BGGR -- cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer), left, CV_BayerRG2BGR); -- cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer+image.total()), right, CV_BayerRG2GRAY); -+ cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer), left, cv::COLOR_BayerRG2BGR); -+ cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer+image.total()), right, cv::COLOR_BayerRG2GRAY); - - dc1394_capture_enqueue(camera_, frame); - -diff --git a/corelib/src/camera/CameraStereoImages.cpp b/corelib/src/camera/CameraStereoImages.cpp -index c50a3b8..e0dd643 100644 ---- a/corelib/src/camera/CameraStereoImages.cpp -+++ b/corelib/src/camera/CameraStereoImages.cpp -@@ -27,7 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include --#include - - namespace rtabmap - { -@@ -184,7 +183,7 @@ SensorData CameraStereoImages::captureImage(SensorCaptureInfo * info) - if(rightImage.type() != CV_8UC1 && rightGrayScale_) - { - cv::Mat tmp; -- cv::cvtColor(rightImage, tmp, CV_BGR2GRAY); -+ cv::cvtColor(rightImage, tmp, cv::COLOR_BGR2GRAY); - rightImage = tmp; - } - if(this->isImagesRectified() && stereoModel_.isValidForRectification()) -diff --git a/corelib/src/camera/CameraStereoTara.cpp b/corelib/src/camera/CameraStereoTara.cpp -index e4ea3cd..f4ec60a 100644 ---- a/corelib/src/camera/CameraStereoTara.cpp -+++ b/corelib/src/camera/CameraStereoTara.cpp -@@ -34,9 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#if CV_MAJOR_VERSION > 3 --#include --#endif -+#include - - namespace rtabmap - { -@@ -81,18 +79,18 @@ bool CameraStereoTara::init(const std::string & calibrationFolder, const std::st - - capture_.open(usbDevice_); - -- capture_.set(CV_CAP_PROP_FOURCC, CV_FOURCC('Y', '1', '6', ' ')); -- capture_.set(CV_CAP_PROP_FPS, 60); -- capture_.set(CV_CAP_PROP_FRAME_WIDTH, 752); -- capture_.set(CV_CAP_PROP_FRAME_HEIGHT, 480); -- capture_.set(CV_CAP_PROP_CONVERT_RGB,false); -+ capture_.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('Y', '1', '6', ' ')); -+ capture_.set(cv::CAP_PROP_FPS, 60); -+ capture_.set(cv::CAP_PROP_FRAME_WIDTH, 752); -+ capture_.set(cv::CAP_PROP_FRAME_HEIGHT, 480); -+ capture_.set(cv::CAP_PROP_CONVERT_RGB,false); - - ULOGGER_DEBUG("CameraStereoTara: Usb device initialization on device %d", usbDevice_); - - - if (cameraName_.empty()) - { -- unsigned int guid = (unsigned int)capture_.get(CV_CAP_PROP_GUID); -+ unsigned int guid = (unsigned int)capture_.get(cv::CAP_PROP_GUID); - if (guid != 0 && guid != 0xffffffff) - { - cameraName_ = uFormat("%08x", guid); -diff --git a/corelib/src/camera/CameraStereoVideo.cpp b/corelib/src/camera/CameraStereoVideo.cpp -index f31f40b..5de23a6 100644 ---- a/corelib/src/camera/CameraStereoVideo.cpp -+++ b/corelib/src/camera/CameraStereoVideo.cpp -@@ -28,13 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include --#if CV_MAJOR_VERSION > 3 --#include --#if CV_MAJOR_VERSION > 4 --#include --#endif --#endif -+#include - - namespace rtabmap - { -@@ -172,7 +166,7 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s - - if (cameraName_.empty()) - { -- unsigned int guid = (unsigned int)capture_.get(CV_CAP_PROP_GUID); -+ unsigned int guid = (unsigned int)capture_.get(cv::CAP_PROP_GUID); - if (guid != 0 && guid != 0xffffffff) - { - cameraName_ = uFormat("%08x", guid); -@@ -214,17 +208,17 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s - if(capture_.isOpened()) - { - bool resolutionSet = false; -- resolutionSet = capture_.set(CV_CAP_PROP_FRAME_WIDTH, stereoModel_.left().imageWidth()*(capture2_.isOpened()?1:2)); -- resolutionSet = resolutionSet && capture_.set(CV_CAP_PROP_FRAME_HEIGHT, stereoModel_.left().imageHeight()); -+ resolutionSet = capture_.set(cv::CAP_PROP_FRAME_WIDTH, stereoModel_.left().imageWidth()*(capture2_.isOpened()?1:2)); -+ resolutionSet = resolutionSet && capture_.set(cv::CAP_PROP_FRAME_HEIGHT, stereoModel_.left().imageHeight()); - if(capture2_.isOpened()) - { -- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_WIDTH, stereoModel_.right().imageWidth()); -- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_HEIGHT, stereoModel_.right().imageHeight()); -+ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_WIDTH, stereoModel_.right().imageWidth()); -+ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_HEIGHT, stereoModel_.right().imageHeight()); - } - - // Check if the resolution was set successfully -- int actualWidth = int(capture_.get(CV_CAP_PROP_FRAME_WIDTH)); -- int actualHeight = int(capture_.get(CV_CAP_PROP_FRAME_HEIGHT)); -+ int actualWidth = int(capture_.get(cv::CAP_PROP_FRAME_WIDTH)); -+ int actualHeight = int(capture_.get(cv::CAP_PROP_FRAME_HEIGHT)); - if(!resolutionSet || - actualWidth != stereoModel_.left().imageWidth()*(capture2_.isOpened()?1:2) || - actualHeight != stereoModel_.left().imageHeight()) -@@ -244,17 +238,17 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s - if(capture_.isOpened()) - { - bool resolutionSet = false; -- resolutionSet = capture_.set(CV_CAP_PROP_FRAME_WIDTH, _width*(capture2_.isOpened()?1:2)); -- resolutionSet = resolutionSet && capture_.set(CV_CAP_PROP_FRAME_HEIGHT, _height); -+ resolutionSet = capture_.set(cv::CAP_PROP_FRAME_WIDTH, _width*(capture2_.isOpened()?1:2)); -+ resolutionSet = resolutionSet && capture_.set(cv::CAP_PROP_FRAME_HEIGHT, _height); - if(capture2_.isOpened()) - { -- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_WIDTH, _width); -- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_HEIGHT, _height); -+ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_WIDTH, _width); -+ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_HEIGHT, _height); - } - - // Check if the resolution was set successfully -- int actualWidth = int(capture_.get(CV_CAP_PROP_FRAME_WIDTH)); -- int actualHeight = int(capture_.get(CV_CAP_PROP_FRAME_HEIGHT)); -+ int actualWidth = int(capture_.get(cv::CAP_PROP_FRAME_WIDTH)); -+ int actualHeight = int(capture_.get(cv::CAP_PROP_FRAME_HEIGHT)); - if(!resolutionSet || - actualWidth != _width*(capture2_.isOpened()?1:2) || - actualHeight != _height) -@@ -273,10 +267,10 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s - if (this->getFrameRate() > 0) - { - bool fpsSupported = false; -- fpsSupported = capture_.set(CV_CAP_PROP_FPS, this->getFrameRate()); -+ fpsSupported = capture_.set(cv::CAP_PROP_FPS, this->getFrameRate()); - if (capture2_.isOpened()) - { -- fpsSupported = fpsSupported && capture2_.set(CV_CAP_PROP_FPS, this->getFrameRate()); -+ fpsSupported = fpsSupported && capture2_.set(cv::CAP_PROP_FPS, this->getFrameRate()); - } - if(fpsSupported) - { -@@ -310,14 +304,14 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s - std::string fourccUpperCase = uToUpperCase(_fourcc); - int fourcc = cv::VideoWriter::fourcc(fourccUpperCase.at(0), fourccUpperCase.at(1), fourccUpperCase.at(2), fourccUpperCase.at(3)); - bool fourccSupported = false; -- fourccSupported = capture_.set(CV_CAP_PROP_FOURCC, fourcc); -+ fourccSupported = capture_.set(cv::CAP_PROP_FOURCC, fourcc); - if (capture2_.isOpened()) - { -- fourccSupported = fourccSupported && capture2_.set(CV_CAP_PROP_FOURCC, fourcc); -+ fourccSupported = fourccSupported && capture2_.set(cv::CAP_PROP_FOURCC, fourcc); - } - - // Check if the FOURCC was set successfully -- int actualFourcc = int(capture_.get(CV_CAP_PROP_FOURCC)); -+ int actualFourcc = int(capture_.get(cv::CAP_PROP_FOURCC)); - - if(!fourccSupported || actualFourcc != fourcc) - { -@@ -386,7 +380,7 @@ SensorData CameraStereoVideo::captureImage(SensorCaptureInfo * info) - if(rightImage.type() != CV_8UC1 && rightGrayScale_) - { - cv::Mat tmp; -- cv::cvtColor(rightImage, tmp, CV_BGR2GRAY); -+ cv::cvtColor(rightImage, tmp, cv::COLOR_BGR2GRAY); - rightImage = tmp; - rightCvt = true; - } -diff --git a/corelib/src/camera/CameraStereoZedOC.cpp b/corelib/src/camera/CameraStereoZedOC.cpp -index 014976a..e3ba6d4 100644 ---- a/corelib/src/camera/CameraStereoZedOC.cpp -+++ b/corelib/src/camera/CameraStereoZedOC.cpp -@@ -38,6 +38,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include "SimpleIni.h" - -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif -+ - /////////////////////////////////////////////////////////////////////////// - // - // Copyright (c) 2018, STEREOLABS. -diff --git a/corelib/src/camera/CameraVideo.cpp b/corelib/src/camera/CameraVideo.cpp -index 9a0a70d..1776bca 100644 ---- a/corelib/src/camera/CameraVideo.cpp -+++ b/corelib/src/camera/CameraVideo.cpp -@@ -28,12 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#if CV_MAJOR_VERSION > 3 --#include --#if CV_MAJOR_VERSION > 4 --#include --#endif --#endif -+#include - - namespace rtabmap - { -@@ -105,7 +100,7 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string - { - if (_guid.empty()) - { -- unsigned int guid = (unsigned int)_capture.get(CV_CAP_PROP_GUID); -+ unsigned int guid = (unsigned int)_capture.get(cv::CAP_PROP_GUID); - if (guid != 0 && guid != 0xffffffff) - { - _guid = uFormat("%08x", guid); -@@ -143,12 +138,12 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string - } - - bool resolutionSet = false; -- resolutionSet = _capture.set(CV_CAP_PROP_FRAME_WIDTH, _model.imageWidth()); -- resolutionSet = resolutionSet && _capture.set(CV_CAP_PROP_FRAME_HEIGHT, _model.imageHeight()); -+ resolutionSet = _capture.set(cv::CAP_PROP_FRAME_WIDTH, _model.imageWidth()); -+ resolutionSet = resolutionSet && _capture.set(cv::CAP_PROP_FRAME_HEIGHT, _model.imageHeight()); - - // Check if the resolution was set successfully -- int actualWidth = int(_capture.get(CV_CAP_PROP_FRAME_WIDTH)); -- int actualHeight = int(_capture.get(CV_CAP_PROP_FRAME_HEIGHT)); -+ int actualWidth = int(_capture.get(cv::CAP_PROP_FRAME_WIDTH)); -+ int actualHeight = int(_capture.get(cv::CAP_PROP_FRAME_HEIGHT)); - if(!resolutionSet || - actualWidth != _model.imageWidth() || - actualHeight != _model.imageHeight()) -@@ -165,12 +160,12 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string - else if(_width > 0 && _height > 0) - { - int resolutionSet = false; -- resolutionSet = _capture.set(CV_CAP_PROP_FRAME_WIDTH, _width); -- resolutionSet = resolutionSet && _capture.set(CV_CAP_PROP_FRAME_HEIGHT, _height); -+ resolutionSet = _capture.set(cv::CAP_PROP_FRAME_WIDTH, _width); -+ resolutionSet = resolutionSet && _capture.set(cv::CAP_PROP_FRAME_HEIGHT, _height); - - // Check if the resolution was set successfully -- int actualWidth = int(_capture.get(CV_CAP_PROP_FRAME_WIDTH)); -- int actualHeight = int(_capture.get(CV_CAP_PROP_FRAME_HEIGHT)); -+ int actualWidth = int(_capture.get(cv::CAP_PROP_FRAME_WIDTH)); -+ int actualHeight = int(_capture.get(cv::CAP_PROP_FRAME_HEIGHT)); - if(!resolutionSet || actualWidth != _width || actualHeight != _height) - { - UWARN("Desired resolution (%dx%d) cannot be set to camera driver, " -@@ -182,7 +177,7 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string - } - - // Set FPS -- if (this->getFrameRate() > 0 && _capture.set(CV_CAP_PROP_FPS, this->getFrameRate())) -+ if (this->getFrameRate() > 0 && _capture.set(cv::CAP_PROP_FPS, this->getFrameRate())) - { - // Check if the FPS was set successfully - double actualFPS = _capture.get(cv::CAP_PROP_FPS); -@@ -213,10 +208,10 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string - std::string fourccUpperCase = uToUpperCase(_fourcc); - int fourcc = cv::VideoWriter::fourcc(fourccUpperCase.at(0), fourccUpperCase.at(1), fourccUpperCase.at(2), fourccUpperCase.at(3)); - -- bool fourccSupported = _capture.set(CV_CAP_PROP_FOURCC, fourcc); -+ bool fourccSupported = _capture.set(cv::CAP_PROP_FOURCC, fourcc); - - // Check if the FOURCC was set successfully -- int actualFourcc = int(_capture.get(CV_CAP_PROP_FOURCC)); -+ int actualFourcc = int(_capture.get(cv::CAP_PROP_FOURCC)); - - if(!fourccSupported || actualFourcc != fourcc) - { -diff --git a/corelib/src/clams/discrete_depth_distortion_model_helpers.cpp b/corelib/src/clams/discrete_depth_distortion_model_helpers.cpp -index 06c348d..dfbdc02 100644 ---- a/corelib/src/clams/discrete_depth_distortion_model_helpers.cpp -+++ b/corelib/src/clams/discrete_depth_distortion_model_helpers.cpp -@@ -28,8 +28,8 @@ RTAB-Map integration: Mathieu Labbe - */ - - #include --#include --#include -+#include -+#include - #include - #include - -diff --git a/corelib/src/clams/frame_projector.cpp b/corelib/src/clams/frame_projector.cpp -index 3230fcf..2634911 100644 ---- a/corelib/src/clams/frame_projector.cpp -+++ b/corelib/src/clams/frame_projector.cpp -@@ -31,8 +31,8 @@ RTAB-Map integration: Mathieu Labbe - #include - #include - #include --#include --#include -+#include -+#include - #include - - using namespace std; -diff --git a/corelib/src/odometry/OdometryDVO.cpp b/corelib/src/odometry/OdometryDVO.cpp -index 2f7190d..a1e425d 100644 ---- a/corelib/src/odometry/OdometryDVO.cpp -+++ b/corelib/src/odometry/OdometryDVO.cpp -@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" - #include "rtabmap/utilite/UStl.h" --#include - - #ifdef RTABMAP_DVO - #include -@@ -124,7 +123,7 @@ Transform OdometryDVO::computeTransform( - { - if(data.imageRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.imageRaw(), grey, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), grey, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/corelib/src/odometry/OdometryF2M.cpp b/corelib/src/odometry/OdometryF2M.cpp -index ba47ac1..92ac0fc 100644 ---- a/corelib/src/odometry/OdometryF2M.cpp -+++ b/corelib/src/odometry/OdometryF2M.cpp -@@ -42,7 +42,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UTimer.h" - #include "rtabmap/utilite/UMath.h" - #include "rtabmap/utilite/UConversion.h" -+#if CV_MAJOR_VERSION < 5 - #include -+#else -+#include -+#endif - #include - #include - -diff --git a/corelib/src/odometry/OdometryFovis.cpp b/corelib/src/odometry/OdometryFovis.cpp -index 673639a..c1f5a99 100644 ---- a/corelib/src/odometry/OdometryFovis.cpp -+++ b/corelib/src/odometry/OdometryFovis.cpp -@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" - #include "rtabmap/utilite/UStl.h" --#include - - #ifdef RTABMAP_FOVIS - #include -@@ -137,7 +136,7 @@ Transform OdometryFovis::computeTransform( - cv::Mat gray; - if(data.imageRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.imageRaw(), gray, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), gray, cv::COLOR_BGR2GRAY); - } - else if(data.imageRaw().type() == CV_8UC1) - { -@@ -302,7 +301,7 @@ Transform OdometryFovis::computeTransform( - } - if(data.rightRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.rightRaw(), right, CV_BGR2GRAY); -+ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2GRAY); - } - else if(data.rightRaw().type() == CV_8UC1) - { -diff --git a/corelib/src/odometry/OdometryMSCKF.cpp b/corelib/src/odometry/OdometryMSCKF.cpp -index ac62c25..6b6737c 100644 ---- a/corelib/src/odometry/OdometryMSCKF.cpp -+++ b/corelib/src/odometry/OdometryMSCKF.cpp -@@ -26,13 +26,15 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - #include "rtabmap/core/odometry/OdometryMSCKF.h" -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - #include "rtabmap/core/OdometryInfo.h" - #include "rtabmap/core/util3d_transforms.h" - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" - #include "rtabmap/utilite/UStl.h" - #include "rtabmap/utilite/UThread.h" --#include - - #ifdef RTABMAP_MSCKF_VIO - #include -@@ -867,7 +869,7 @@ Transform OdometryMSCKF::computeTransform( - - if(data.imageRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.imageRaw(), cam0.image, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), cam0.image, cv::COLOR_BGR2GRAY); - } - else - { -@@ -875,7 +877,7 @@ Transform OdometryMSCKF::computeTransform( - } - if(data.rightRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.rightRaw(), cam1.image, CV_BGR2GRAY); -+ cv::cvtColor(data.rightRaw(), cam1.image, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/corelib/src/odometry/OdometryMono.cpp b/corelib/src/odometry/OdometryMono.cpp -index 7df312e..8cefcf7 100644 ---- a/corelib/src/odometry/OdometryMono.cpp -+++ b/corelib/src/odometry/OdometryMono.cpp -@@ -42,9 +42,16 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UConversion.h" - #include "rtabmap/utilite/UStl.h" - #include "rtabmap/utilite/UMath.h" --#include -+#include -+#if CV_MAJOR_VERSION < 5 - #include -+#else -+#include -+#endif - #include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - #include - - namespace rtabmap { -diff --git a/corelib/src/odometry/OdometryORBSLAM2.cpp b/corelib/src/odometry/OdometryORBSLAM2.cpp -index 1ae10bc..616678c 100644 ---- a/corelib/src/odometry/OdometryORBSLAM2.cpp -+++ b/corelib/src/odometry/OdometryORBSLAM2.cpp -@@ -33,7 +33,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UStl.h" - #include "rtabmap/utilite/UDirectory.h" - #include --#include - #include - - #if defined(RTABMAP_ORB_SLAM) and RTABMAP_ORB_SLAM == 2 -@@ -426,7 +425,7 @@ public: - } - else - { -- cvtColor(mImGray,mImGray,CV_BGR2GRAY); -+ cvtColor(mImGray,mImGray,cv::COLOR_BGR2GRAY); - } - } - else if(mImGray.channels()==4) -@@ -437,7 +436,7 @@ public: - } - else - { -- cvtColor(mImGray,mImGray,CV_BGRA2GRAY); -+ cvtColor(mImGray,mImGray,cv::COLOR_BGRA2GRAY); - } - } - if(imGrayRight.channels()==3) -@@ -448,7 +447,7 @@ public: - } - else - { -- cvtColor(imGrayRight,imGrayRight,CV_BGR2GRAY); -+ cvtColor(imGrayRight,imGrayRight,cv::COLOR_BGR2GRAY); - } - } - else if(imGrayRight.channels()==4) -@@ -459,7 +458,7 @@ public: - } - else - { -- cvtColor(imGrayRight,imGrayRight,CV_BGRA2GRAY); -+ cvtColor(imGrayRight,imGrayRight,cv::COLOR_BGRA2GRAY); - } - } - -@@ -480,14 +479,14 @@ public: - if(mbRGB) - cvtColor(mImGray,mImGray,CV_RGB2GRAY); - else -- cvtColor(mImGray,mImGray,CV_BGR2GRAY); -+ cvtColor(mImGray,mImGray,cv::COLOR_BGR2GRAY); - } - else if(mImGray.channels()==4) - { - if(mbRGB) - cvtColor(mImGray,mImGray,CV_RGBA2GRAY); - else -- cvtColor(mImGray,mImGray,CV_BGRA2GRAY); -+ cvtColor(mImGray,mImGray,cv::COLOR_BGRA2GRAY); - } - - UASSERT(imDepth.type()==CV_32F); -diff --git a/corelib/src/odometry/OdometryORBSLAM3.cpp b/corelib/src/odometry/OdometryORBSLAM3.cpp -index 7cde70a..ff87bce 100644 ---- a/corelib/src/odometry/OdometryORBSLAM3.cpp -+++ b/corelib/src/odometry/OdometryORBSLAM3.cpp -@@ -33,7 +33,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UStl.h" - #include "rtabmap/utilite/UDirectory.h" - #include --#include - #include - - #if defined(RTABMAP_ORB_SLAM) and RTABMAP_ORB_SLAM == 3 -@@ -450,12 +449,12 @@ Transform OdometryORBSLAM3::computeTransform( - cv::Mat leftMono = data.imageRaw(); - if(data.imageRaw().channels() == 3) { - leftMono = cv::Mat(); -- cv::cvtColor(data.imageRaw(), leftMono, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), leftMono, cv::COLOR_BGR2GRAY); - } - cv::Mat rightMono = data.rightRaw(); - if(data.rightRaw().channels() == 3) { - rightMono = cv::Mat(); -- cv::cvtColor(data.imageRaw(), rightMono, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), rightMono, cv::COLOR_BGR2GRAY); - } - Tcw = orbslam_->TrackStereo(leftMono, rightMono, data.stamp(), orbslamImus_); - orbslamImus_.clear(); -diff --git a/corelib/src/odometry/OdometryOkvis.cpp b/corelib/src/odometry/OdometryOkvis.cpp -index 10497b9..7c97e27 100644 ---- a/corelib/src/odometry/OdometryOkvis.cpp -+++ b/corelib/src/odometry/OdometryOkvis.cpp -@@ -34,7 +34,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UThread.h" - #include "rtabmap/utilite/UFile.h" - #include "rtabmap/utilite/UDirectory.h" --#include - - #ifdef RTABMAP_OKVIS - #include -@@ -427,7 +426,7 @@ Transform OdometryOkvis::computeTransform( - cv::Mat gray; - if(images[i].type() == CV_8UC3) - { -- cv::cvtColor(images[i], gray, CV_BGR2GRAY); -+ cv::cvtColor(images[i], gray, cv::COLOR_BGR2GRAY); - } - else if(images[i].type() == CV_8UC1) - { -diff --git a/corelib/src/odometry/OdometryOpenVINS.cpp b/corelib/src/odometry/OdometryOpenVINS.cpp -index da81f7e..a14d74c 100644 ---- a/corelib/src/odometry/OdometryOpenVINS.cpp -+++ b/corelib/src/odometry/OdometryOpenVINS.cpp -@@ -32,7 +32,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" - #include --#include - - #ifdef RTABMAP_OPENVINS - #include "core/VioManager.h" -@@ -340,7 +339,7 @@ Transform OdometryOpenVINS::computeTransform( - - cv::Mat image; - if(data.imageRaw().type() == CV_8UC3) -- cv::cvtColor(data.imageRaw(), image, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), image, cv::COLOR_BGR2GRAY); - else if(data.imageRaw().type() == CV_8UC1) - image = data.imageRaw().clone(); - else -@@ -371,7 +370,7 @@ Transform OdometryOpenVINS::computeTransform( - if(!data.rightRaw().empty()) - { - if(data.rightRaw().type() == CV_8UC3) -- cv::cvtColor(data.rightRaw(), image, CV_BGR2GRAY); -+ cv::cvtColor(data.rightRaw(), image, cv::COLOR_BGR2GRAY); - else if(data.rightRaw().type() == CV_8UC1) - image = data.rightRaw().clone(); - else -diff --git a/corelib/src/odometry/OdometryVINS.cpp b/corelib/src/odometry/OdometryVINS.cpp -index aa18393..bd8585d 100644 ---- a/corelib/src/odometry/OdometryVINS.cpp -+++ b/corelib/src/odometry/OdometryVINS.cpp -@@ -26,6 +26,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - #include "rtabmap/core/odometry/OdometryVINS.h" -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - #include "rtabmap/core/OdometryInfo.h" - #include "rtabmap/core/util3d_transforms.h" - #include "rtabmap/utilite/ULogger.h" -@@ -33,7 +36,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UStl.h" - #include "rtabmap/utilite/UThread.h" - #include "rtabmap/utilite/UDirectory.h" --#include - - #ifdef RTABMAP_VINS - #include -@@ -388,7 +390,7 @@ Transform OdometryVINS::computeTransform( - cv::Mat right; - if(data.imageRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.imageRaw(), left, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), left, cv::COLOR_BGR2GRAY); - } - else if(data.imageRaw().type() == CV_8UC1) - { -@@ -400,7 +402,7 @@ Transform OdometryVINS::computeTransform( - } - if(data.rightRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.rightRaw(), right, CV_BGR2GRAY); -+ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2GRAY); - } - else if(data.rightRaw().type() == CV_8UC1) - { -diff --git a/corelib/src/odometry/OdometryViso2.cpp b/corelib/src/odometry/OdometryViso2.cpp -index 808e763..dc6192b 100644 ---- a/corelib/src/odometry/OdometryViso2.cpp -+++ b/corelib/src/odometry/OdometryViso2.cpp -@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/ULogger.h" - #include "rtabmap/utilite/UTimer.h" - #include "rtabmap/utilite/UStl.h" --#include - - #ifdef RTABMAP_VISO2 - #include -@@ -131,7 +130,7 @@ Transform OdometryViso2::computeTransform( - cv::Mat leftGray; - if(data.imageRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.imageRaw(), leftGray, CV_BGR2GRAY); -+ cv::cvtColor(data.imageRaw(), leftGray, cv::COLOR_BGR2GRAY); - } - else if(data.imageRaw().type() == CV_8UC1) - { -@@ -144,7 +143,7 @@ Transform OdometryViso2::computeTransform( - cv::Mat rightGray; - if(data.rightRaw().type() == CV_8UC3) - { -- cv::cvtColor(data.rightRaw(), rightGray, CV_BGR2GRAY); -+ cv::cvtColor(data.rightRaw(), rightGray, cv::COLOR_BGR2GRAY); - } - else if(data.rightRaw().type() == CV_8UC1) - { -diff --git a/corelib/src/opencv/ORBextractor.cc b/corelib/src/opencv/ORBextractor.cc -index 2d3cd7c..1197fb6 100644 ---- a/corelib/src/opencv/ORBextractor.cc -+++ b/corelib/src/opencv/ORBextractor.cc -@@ -63,9 +63,13 @@ - - - #include --#include --#include --#include -+#include -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif -+#include - #include - #include - #include -diff --git a/corelib/src/opencv/ORBextractor.h b/corelib/src/opencv/ORBextractor.h -index 861ca05..82ede5b 100644 ---- a/corelib/src/opencv/ORBextractor.h -+++ b/corelib/src/opencv/ORBextractor.h -@@ -31,8 +31,6 @@ - - #include - #include --#include -- - - namespace rtabmap - { -diff --git a/corelib/src/opencv/Orb.cpp b/corelib/src/opencv/Orb.cpp -index f56874e..c5034a7 100644 ---- a/corelib/src/opencv/Orb.cpp -+++ b/corelib/src/opencv/Orb.cpp -@@ -40,7 +40,6 @@ - - #include "opencv2/features2d/features2d.hpp" - #include "opencv2/imgproc/imgproc.hpp" --#include "opencv2/imgproc/imgproc_c.h" - #include - #include - -@@ -252,7 +251,7 @@ static void computeOrbDescriptor(const KeyPoint& kpt, - } - } - else -- CV_Error( CV_StsBadSize, "Wrong WTA_K. It can be only 2, 3 or 4." ); -+ CV_Error( cv::Error::StsBadSize, "Wrong WTA_K. It can be only 2, 3 or 4." ); - - #undef GET_VALUE - } -@@ -752,7 +751,7 @@ void CV_ORB::operator()( InputArray _image, InputArray _mask, std::vectornlevels; - -diff --git a/corelib/src/opencv/Orb.h b/corelib/src/opencv/Orb.h -index e05ad9d..464ad16 100644 ---- a/corelib/src/opencv/Orb.h -+++ b/corelib/src/opencv/Orb.h -@@ -46,7 +46,7 @@ - #ifndef CORELIB_SRC_OPENCV_ORB_H_ - #define CORELIB_SRC_OPENCV_ORB_H_ - --#include -+#include - - namespace rtabmap { - -diff --git a/corelib/src/opencv/five-point.cpp b/corelib/src/opencv/five-point.cpp -index 7e5c2c5..a389c9f 100644 ---- a/corelib/src/opencv/five-point.cpp -+++ b/corelib/src/opencv/five-point.cpp -@@ -30,6 +30,9 @@ - */ - - #include "solvepnp.h" -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - - using namespace cv; - -diff --git a/corelib/src/opencv/five-point.h b/corelib/src/opencv/five-point.h -index 1a5b778..f1aa8c7 100644 ---- a/corelib/src/opencv/five-point.h -+++ b/corelib/src/opencv/five-point.h -@@ -8,6 +8,10 @@ - #ifndef CORELIB_SRC_OPENCV_FIVE_POINT_H_ - #define CORELIB_SRC_OPENCV_FIVE_POINT_H_ - -+#if CV_MAJOR_VERSION > 4 -+#include ++#ifdef WIN32 ++#include +#endif + - namespace cv3 - { - -diff --git a/corelib/src/opencv/solvepnp.cpp b/corelib/src/opencv/solvepnp.cpp -index f5b3a07..ecd2be9 100644 ---- a/corelib/src/opencv/solvepnp.cpp -+++ b/corelib/src/opencv/solvepnp.cpp -@@ -53,7 +53,7 @@ class PnPRansacCallback : public PointSetRegistrator::Callback - - public: - -- PnPRansacCallback(Mat _cameraMatrix=Mat(3,3,CV_64F), Mat _distCoeffs=Mat(4,1,CV_64F), int _flags=CV_ITERATIVE, -+ PnPRansacCallback(Mat _cameraMatrix=Mat(3,3,CV_64F), Mat _distCoeffs=Mat(4,1,CV_64F), int _flags=cv::SOLVEPNP_ITERATIVE, - bool _useExtrinsicGuess=false, Mat _rvec=Mat(), Mat _tvec=Mat() ) - : cameraMatrix(_cameraMatrix), distCoeffs(_distCoeffs), flags(_flags), useExtrinsicGuess(_useExtrinsicGuess), - rvec(_rvec), tvec(_tvec) {} -@@ -142,12 +142,12 @@ bool solvePnPRansac(InputArray _opoints, InputArray _ipoints, - Mat cameraMatrix = _cameraMatrix.getMat(), distCoeffs = _distCoeffs.getMat(); - - int model_points = 6; -- int ransac_kernel_method = CV_EPNP; -+ int ransac_kernel_method = cv::SOLVEPNP_EPNP; - - if( npoints == 4 ) - { - model_points = 4; -- ransac_kernel_method = CV_P3P; -+ ransac_kernel_method = cv::SOLVEPNP_P3P; - } - - Ptr cb; // pointer to callback -@@ -178,7 +178,7 @@ bool solvePnPRansac(InputArray _opoints, InputArray _ipoints, - opoints_inliers.resize(npoints1); - ipoints_inliers.resize(npoints1); - result = solvePnP(opoints_inliers, ipoints_inliers, cameraMatrix, -- distCoeffs, rvec, tvec, useExtrinsicGuess, flags == CV_P3P ? CV_EPNP : flags) ? 1 : -1; -+ distCoeffs, rvec, tvec, useExtrinsicGuess, flags == cv::SOLVEPNP_P3P ? cv::SOLVEPNP_EPNP : flags) ? 1 : -1; - } - - if( result <= 0 || _local_model.rows <= 0) -@@ -213,7 +213,7 @@ bool solvePnPRansac(InputArray _opoints, InputArray _ipoints, - int RANSACUpdateNumIters( double p, double ep, int modelPoints, int maxIters ) - { - if( modelPoints <= 0 ) -- CV_Error( 0, "the number of model points should be positive" ); -+ CV_Error( cv::Error::Code::StsBadArg, "the number of model points should be positive" ); - - p = MAX(p, 0.); - p = MIN(p, 1.); -diff --git a/corelib/src/opencv/solvepnp.h b/corelib/src/opencv/solvepnp.h -index e88b570..382f9db 100644 ---- a/corelib/src/opencv/solvepnp.h -+++ b/corelib/src/opencv/solvepnp.h -@@ -45,9 +45,10 @@ - #define RTABMAP_CORELIB_SRC_OPENCV_SOLVEPNP_H_ - - #include -+#if CV_MAJOR_VERSION >= 5 -+#include -+#else - #include --#if CV_MAJOR_VERSION >= 3 --#include - #endif - - namespace cv3 { -@@ -95,7 +96,7 @@ bool solvePnPRansac( cv::InputArray objectPoints, cv::InputArray imagePoints, - cv::OutputArray rvec, cv::OutputArray tvec, - bool useExtrinsicGuess = false, int iterationsCount = 100, - float reprojectionError = 8.0, double confidence = 0.99, -- cv::OutputArray inliers = cv::noArray(), int flags = CV_ITERATIVE ); -+ cv::OutputArray inliers = cv::noArray(), int flags = cv::SOLVEPNP_ITERATIVE ); - - int RANSACUpdateNumIters( double p, double ep, int modelPoints, int maxIters ); - -diff --git a/corelib/src/optimizer/OptimizerCeres.cpp b/corelib/src/optimizer/OptimizerCeres.cpp -index 046d401..d2d64c3 100644 ---- a/corelib/src/optimizer/OptimizerCeres.cpp -+++ b/corelib/src/optimizer/OptimizerCeres.cpp -@@ -26,6 +26,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - #include "rtabmap/core/Graph.h" - -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include -+#endif -+ - #include - #include - #include -diff --git a/corelib/src/stereo/StereoBM.cpp b/corelib/src/stereo/StereoBM.cpp -index 1b390c6..356266e 100644 ---- a/corelib/src/stereo/StereoBM.cpp -+++ b/corelib/src/stereo/StereoBM.cpp -@@ -27,9 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include -+#if CV_MAJOR_VERSION < 5 - #include --#include --#include -+#else -+#include -+#include -+#endif -+#include - - namespace rtabmap { - -@@ -88,7 +92,7 @@ cv::Mat StereoBM::computeDisparity( - cv::Mat leftMono; - if(leftImage.channels() == 3) - { -- cv::cvtColor(leftImage, leftMono, CV_BGR2GRAY); -+ cv::cvtColor(leftImage, leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -98,7 +102,7 @@ cv::Mat StereoBM::computeDisparity( - cv::Mat rightMono; - if(rightImage.channels() == 3) - { -- cv::cvtColor(rightImage, rightMono, CV_BGR2GRAY); -+ cv::cvtColor(rightImage, rightMono, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/corelib/src/stereo/StereoSGBM.cpp b/corelib/src/stereo/StereoSGBM.cpp -index 6763aeb..291ba7f 100644 ---- a/corelib/src/stereo/StereoSGBM.cpp -+++ b/corelib/src/stereo/StereoSGBM.cpp -@@ -27,9 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include -+#if CV_MAJOR_VERSION < 5 - #include --#include --#include -+#else -+#include -+#include -+#endif -+#include - - namespace rtabmap { - -@@ -77,7 +81,7 @@ cv::Mat StereoSGBM::computeDisparity( - cv::Mat leftMono; - if(leftImage.channels() == 3) - { -- cv::cvtColor(leftImage, leftMono, CV_BGR2GRAY); -+ cv::cvtColor(leftImage, leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -87,7 +91,7 @@ cv::Mat StereoSGBM::computeDisparity( - cv::Mat rightMono; - if(rightImage.channels() == 3) - { -- cv::cvtColor(rightImage, rightMono, CV_BGR2GRAY); -+ cv::cvtColor(rightImage, rightMono, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/corelib/src/util2d.cpp b/corelib/src/util2d.cpp -index 604eaa3..3642e66 100644 ---- a/corelib/src/util2d.cpp -+++ b/corelib/src/util2d.cpp -@@ -34,16 +34,20 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include --#include -+#include - #include --#include --#include -+#include - #include - #include - - #if CV_MAJOR_VERSION >= 3 --#include -+#include -+#endif -+ -+#if CV_MAJOR_VERSION < 5 -+#include -+#else -+#include - #endif - - namespace rtabmap -@@ -747,7 +751,7 @@ cv::Mat disparityFromStereoImages( - cv::Mat leftMono; - if(leftImage.channels() == 3) - { -- cv::cvtColor(leftImage, leftMono, CV_BGR2GRAY); -+ cv::cvtColor(leftImage, leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -2042,8 +2046,8 @@ cv::Mat brightnessAndContrastAuto(const cv::Mat &src, const cv::Mat & mask, floa - //to calculate grayscale histogram - cv::Mat gray; - if (src.type() == CV_8UC1) gray = src; -- else if (src.type() == CV_8UC3) cvtColor(src, gray, CV_BGR2GRAY); -- else if (src.type() == CV_8UC4) cvtColor(src, gray, CV_BGRA2GRAY); -+ else if (src.type() == CV_8UC3) cvtColor(src, gray, cv::COLOR_BGR2GRAY); -+ else if (src.type() == CV_8UC4) cvtColor(src, gray, cv::COLOR_BGRA2GRAY); - if (clipLowHistPercent == 0 && clipHighHistPercent == 0) - { - // keep full available range -diff --git a/corelib/src/util3d.cpp b/corelib/src/util3d.cpp -index 563e22a..4619868 100644 ---- a/corelib/src/util3d.cpp -+++ b/corelib/src/util3d.cpp -@@ -40,8 +40,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include --#include -+#include - - namespace rtabmap - { -@@ -892,7 +891,7 @@ pcl::PointCloud::Ptr cloudFromStereoImages( - cv::Mat leftMono; - if(leftColor.channels() == 3) - { -- cv::cvtColor(leftColor, leftMono, CV_BGR2GRAY); -+ cv::cvtColor(leftColor, leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -902,7 +901,7 @@ pcl::PointCloud::Ptr cloudFromStereoImages( - cv::Mat rightMono; - if(rightColor.channels() == 3) - { -- cv::cvtColor(rightColor, rightMono, CV_BGR2GRAY); -+ cv::cvtColor(rightColor, rightMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -1038,7 +1037,7 @@ std::vector::Ptr> cloudsFromSensorData( - cv::Mat leftMono; - if(sensorData.imageRaw().channels() == 3) - { -- cv::cvtColor(sensorData.imageRaw(), leftMono, CV_BGR2GRAY); -+ cv::cvtColor(sensorData.imageRaw(), leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -1048,7 +1047,7 @@ std::vector::Ptr> cloudsFromSensorData( - cv::Mat rightMono; - if(sensorData.rightRaw().channels() == 3) - { -- cv::cvtColor(sensorData.rightRaw(), rightMono, CV_BGR2GRAY); -+ cv::cvtColor(sensorData.rightRaw(), rightMono, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/corelib/src/util3d_correspondences.cpp b/corelib/src/util3d_correspondences.cpp -index 5a81869..41cc1e6 100644 ---- a/corelib/src/util3d_correspondences.cpp -+++ b/corelib/src/util3d_correspondences.cpp -@@ -30,7 +30,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include -+#if CV_MAJOR_VERSION < 5 - #include -+#else -+#include -+#endif - #include - #include - -diff --git a/corelib/src/util3d_motion_estimation.cpp b/corelib/src/util3d_motion_estimation.cpp -index 63ed9ac..41ea2a0 100644 ---- a/corelib/src/util3d_motion_estimation.cpp -+++ b/corelib/src/util3d_motion_estimation.cpp -@@ -26,6 +26,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - #include "rtabmap/core/util3d_motion_estimation.h" -+#if CV_MAJOR_VERSION >= 5 -+#include -+#endif - - #include "rtabmap/utilite/UStl.h" - #include "rtabmap/utilite/UMath.h" -diff --git a/corelib/src/util3d_surface.cpp b/corelib/src/util3d_surface.cpp -index bccae36..3625426 100644 ---- a/corelib/src/util3d_surface.cpp -+++ b/corelib/src/util3d_surface.cpp -@@ -39,8 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UConversion.h" - #include "rtabmap/utilite/UMath.h" - #include "rtabmap/utilite/UTimer.h" --#include --#include - #include - #include - #include -@@ -1745,7 +1743,7 @@ cv::Mat mergeTextures( - if(resizedImage.type() == CV_8UC1) - { - cv::Mat resizedImageColor; -- cv::cvtColor(resizedImage, resizedImageColor, CV_GRAY2BGR); -+ cv::cvtColor(resizedImage, resizedImageColor, cv::COLOR_GRAY2BGR); - resizedImage = resizedImageColor; - } - UASSERT(resizedImage.type() == globalTextures.type()); -@@ -2609,7 +2607,7 @@ bool multiBandTexturing( - if(imageRoi.channels() == 1) - { - cv::Mat imageRoiColor; -- cv::cvtColor(imageRoi, imageRoiColor, CV_GRAY2BGR); -+ cv::cvtColor(imageRoi, imageRoiColor, cv::COLOR_GRAY2BGR); - imageRoi = imageRoiColor; - } - -@@ -3218,7 +3216,7 @@ float computeNormalsComplexity( - } - if(oi>1) - { -- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); -+ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); - - if(pcaEigenVectors) - { -@@ -3279,7 +3277,7 @@ float computeNormalsComplexity( - } - if(oi>1) - { -- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); -+ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); - - if(pcaEigenVectors) - { -@@ -3335,7 +3333,7 @@ float computeNormalsComplexity( - } - if(oi>1) - { -- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); -+ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); - - if(pcaEigenVectors) - { -@@ -3391,7 +3389,7 @@ float computeNormalsComplexity( - } - if(oi>1) - { -- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); -+ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); - - if(pcaEigenVectors) - { -@@ -3447,7 +3445,7 @@ float computeNormalsComplexity( - } - if(oi>1) - { -- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); -+ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); - - if(pcaEigenVectors) - { -diff --git a/guilib/include/rtabmap/gui/DatabaseViewer.h b/guilib/include/rtabmap/gui/DatabaseViewer.h -index a11b4c9..28fbc38 100644 ---- a/guilib/include/rtabmap/gui/DatabaseViewer.h -+++ b/guilib/include/rtabmap/gui/DatabaseViewer.h -@@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include - #include - #include -diff --git a/guilib/include/rtabmap/gui/ImageView.h b/guilib/include/rtabmap/gui/ImageView.h -index 8e8df85..eaf9134 100644 ---- a/guilib/include/rtabmap/gui/ImageView.h -+++ b/guilib/include/rtabmap/gui/ImageView.h -@@ -34,7 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include - #include "rtabmap/utilite/UCv2Qt.h" - #include -diff --git a/guilib/include/rtabmap/gui/KeypointItem.h b/guilib/include/rtabmap/gui/KeypointItem.h -index 7f4f9f6..11a896d 100644 ---- a/guilib/include/rtabmap/gui/KeypointItem.h -+++ b/guilib/include/rtabmap/gui/KeypointItem.h -@@ -34,7 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - - namespace rtabmap { - -diff --git a/guilib/src/CalibrationDialog.cpp b/guilib/src/CalibrationDialog.cpp -index dd4a052..8262210 100644 ---- a/guilib/src/CalibrationDialog.cpp -+++ b/guilib/src/CalibrationDialog.cpp -@@ -29,14 +29,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "ui_calibrationDialog.h" - - #include --#include --#include --#include -+#include -+#include - #if CV_MAJOR_VERSION >= 3 --#include - #endif --#include --#if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) -+#include -+#if (CV_MAJOR_VERSION > 2 and CV_MAJOR_VERSION < 5) or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) - #include - #endif - -@@ -736,7 +734,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & - cv::Size boardSize(ui_->spinBox_boardWidth->value(), ui_->spinBox_boardHeight->value()); - if(!viewGray.empty()) - { -- int flags = CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_NORMALIZE_IMAGE; -+ int flags = cv::CALIB_CB_ADAPTIVE_THRESH | cv::CALIB_CB_NORMALIZE_IMAGE; - - if(!viewGray.empty()) - { -@@ -747,7 +745,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & - if( scale == 1 ) - timg = viewGray; - else -- cv::resize(viewGray, timg, cv::Size(), scale, scale, CV_INTER_CUBIC); -+ cv::resize(viewGray, timg, cv::Size(), scale, scale, cv::INTER_CUBIC); - - #ifdef HAVE_CHARUCO - if(ui_->comboBox_board_type->currentIndex() >= 1 ) -@@ -832,7 +830,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & - float ratio = ui_->comboBox_board_type->currentIndex() >= 1 ?6.0f:2.0f; - float radius = minSquareDistance==-1.0f?5.0f:(minSquareDistance/ratio); - cv::cornerSubPix( viewGray, pointBuf[id], cv::Size(radius, radius), cv::Size(-1,-1), -- cv::TermCriteria( CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1 )); -+ cv::TermCriteria( cv::TermCriteria::EPS + cv::TermCriteria::MAX_ITER, 30, 0.1 )); - - // Filter points that drifted to far (caused by reflection or bad subpixel gradient) - float threshold = ui_->doubleSpinBox_subpixel_error->value(); -@@ -1121,7 +1119,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & - int step = imageSize_[id].height/16; - for(int i=step; iimageRaw().channels() == 3) - { -- cv::cvtColor(data->imageRaw(), leftMono, CV_BGR2GRAY); -+ cv::cvtColor(data->imageRaw(), leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -5891,7 +5889,7 @@ void DatabaseViewer::updateStereo(const SensorData * data) - cv::Mat rightMono; - if(data->rightRaw().channels() == 3) - { -- cv::cvtColor(data->rightRaw(), rightMono, CV_BGR2GRAY); -+ cv::cvtColor(data->rightRaw(), rightMono, cv::COLOR_BGR2GRAY); - } - else - { -diff --git a/guilib/src/MainWindow.cpp b/guilib/src/MainWindow.cpp -index 86e6924..06cb82f 100644 ---- a/guilib/src/MainWindow.cpp -+++ b/guilib/src/MainWindow.cpp -@@ -126,6 +126,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef HAVE_OPENCV_ARUCO - #include - #endif -+#include - - #define LOG_FILE_NAME "LogRtabmap.txt" - #define SHARE_SHOW_LOG_FILE "share/rtabmap/showlogs.m" -diff --git a/tools/Camera/main.cpp b/tools/Camera/main.cpp -index e337030..c856d7b 100644 ---- a/tools/Camera/main.cpp -+++ b/tools/Camera/main.cpp -@@ -31,8 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UFile.h" - #include "rtabmap/utilite/UDirectory.h" - #include "rtabmap/utilite/UConversion.h" --#include --#include -+#include - #include - - void showUsage() -@@ -178,7 +177,7 @@ int main(int argc, char * argv[]) - - cv::Mat rgb; - rgb = camera->takeImage().imageRaw(); -- cv::namedWindow("Video", CV_WINDOW_AUTOSIZE); // create window -+ cv::namedWindow("Video", cv::WINDOW_AUTOSIZE); // create window - while(!rgb.empty()) - { - cv::imshow("Video", rgb); // show frame -diff --git a/tools/CameraRGBD/main.cpp b/tools/CameraRGBD/main.cpp -index 1d562d9..a1274f1 100644 ---- a/tools/CameraRGBD/main.cpp -+++ b/tools/CameraRGBD/main.cpp -@@ -35,12 +35,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UFile.h" - #include "rtabmap/utilite/UDirectory.h" - #include "rtabmap/utilite/UConversion.h" --#include --#include --#include --#if CV_MAJOR_VERSION >= 3 --#include --#endif -+#include -+#include -+#include - #include - #include - #include -@@ -399,7 +396,7 @@ int main(int argc, char * argv[]) - UASSERT(fourcc.size() == 4); - videoWriter.open( - stereoSavePath, -- CV_FOURCC(fourcc.at(0), fourcc.at(1), fourcc.at(2), fourcc.at(3)), -+ cv::VideoWriter::fourcc(fourcc.at(0), fourcc.at(1), fourcc.at(2), fourcc.at(3)), - rate, - targetSize, - data.imageRaw().channels() == 3); -@@ -480,7 +477,7 @@ int main(int argc, char * argv[]) - { - if(right.channels() == 3) - { -- cv::cvtColor(right, right, CV_BGR2GRAY); -+ cv::cvtColor(right, right, cv::COLOR_BGR2GRAY); - } - pcl::PointCloud::Ptr cloud = rtabmap::util3d::cloudFromStereoImages( - rgb, right, -@@ -507,14 +504,14 @@ int main(int argc, char * argv[]) - if(right.type() != left.type()) - { - cv::Mat tmp; -- cv::cvtColor(right, tmp, left.channels()==3?CV_GRAY2BGR:CV_BGR2GRAY); -+ cv::cvtColor(right, tmp, left.channels()==3?cv::COLOR_GRAY2BGR:cv::COLOR_BGR2GRAY); - right = tmp; - } - UASSERT(left.type() == right.type()); - - cv::Mat roiA(targetImage, cv::Rect( 0, 0, left.size().width, left.size().height )); - left.copyTo(roiA); -- cv::Mat roiB( targetImage, cvRect( left.size().width, 0, left.size().width, left.size().height ) ); -+ cv::Mat roiB( targetImage, cv::Rect( left.size().width, 0, left.size().width, left.size().height ) ); - right.copyTo(roiB); - - videoWriter.write(targetImage); -diff --git a/tools/EpipolarGeometry/main.cpp b/tools/EpipolarGeometry/main.cpp -index aa309fa..49cc610 100644 ---- a/tools/EpipolarGeometry/main.cpp -+++ b/tools/EpipolarGeometry/main.cpp -@@ -26,9 +26,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - #include --#include --#include --#include -+#include -+#include - #include - #include - #include -@@ -36,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - #include "rtabmap/core/Features2d.h" - #include "rtabmap/core/EpipolarGeometry.h" - #include "rtabmap/core/VWDictionary.h" -diff --git a/tools/ImagesJoiner/main.cpp b/tools/ImagesJoiner/main.cpp -index ad4d3dd..3cf5264 100644 ---- a/tools/ImagesJoiner/main.cpp -+++ b/tools/ImagesJoiner/main.cpp -@@ -31,7 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include "rtabmap/utilite/UFile.h" - #include "rtabmap/utilite/UConversion.h" - #include --#include -+#include - - void showUsage() - { -diff --git a/tools/StereoEval/main.cpp b/tools/StereoEval/main.cpp -index bd3313f..9c15e34 100644 ---- a/tools/StereoEval/main.cpp -+++ b/tools/StereoEval/main.cpp -@@ -37,7 +37,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include - #include - #include - -@@ -222,7 +221,7 @@ int main(int argc, char * argv[]) - cv::Mat leftMono; - if(left.channels() == 3) - { -- cv::cvtColor(left, leftMono, CV_BGR2GRAY); -+ cv::cvtColor(left, leftMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -231,7 +230,7 @@ int main(int argc, char * argv[]) - cv::Mat rightMono; - if(right.channels() == 3) - { -- cv::cvtColor(right, rightMono, CV_BGR2GRAY); -+ cv::cvtColor(right, rightMono, cv::COLOR_BGR2GRAY); - } - else - { -@@ -266,7 +265,7 @@ int main(int argc, char * argv[]) - cv::cornerSubPix(leftMono, leftCorners, - cv::Size( subPixWinSize, subPixWinSize ), - cv::Size( -1, -1 ), -- cv::TermCriteria( CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, subPixIterations, subPixEps ) ); -+ cv::TermCriteria( cv::TermCriteria::MAX_ITER | cv::TermCriteria::EPS, subPixIterations, subPixEps ) ); - UDEBUG("cv::cornerSubPix() end"); - } - -diff --git a/tools/VocabularyComparison/main.cpp b/tools/VocabularyComparison/main.cpp -index 410439b..cc65f02 100644 ---- a/tools/VocabularyComparison/main.cpp -+++ b/tools/VocabularyComparison/main.cpp -@@ -27,10 +27,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #include - #include --#include --#include - #include --#include -+#include - #include - #include - #include + #include + #include + #include "rtabmap/utilite/UEventsManager.h" +diff --git a/tools/DatabaseViewer/main.cpp b/tools/DatabaseViewer/main.cpp +index 5625f70..71a5722 100644 +--- a/tools/DatabaseViewer/main.cpp ++++ b/tools/DatabaseViewer/main.cpp +@@ -25,6 +25,10 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#ifdef WIN32 ++#include ++#endif ++ + #include + #include "rtabmap/gui/DatabaseViewer.h" + #include "rtabmap/utilite/ULogger.h" diff --git a/distros/rolling/patch/ros2-rviz-visual-tools.patch b/distros/rolling/patch/ros2-rviz-visual-tools.patch deleted file mode 100644 index f76bc59c..00000000 --- a/distros/rolling/patch/ros2-rviz-visual-tools.patch +++ /dev/null @@ -1,187 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8b45187..f24262d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -77,14 +77,15 @@ set(HEADER_FILES - ) - - add_library(${PROJECT_NAME}_gui SHARED ${SOURCE_FILES} ${HEADER_FILES}) --ament_target_dependencies(${PROJECT_NAME}_gui PUBLIC -- rclcpp -- rviz_common -- rviz_rendering -- rviz_default_plugins -- rviz_ogre_vendor -+target_link_libraries(${PROJECT_NAME}_gui PUBLIC -+ rclcpp::rclcpp -+ rviz_common::rviz_common -+ rviz_rendering::rviz_rendering -+ rviz_default_plugins::rviz_default_plugins -+ rviz_ogre_vendor::OgreMain -+ rviz_ogre_vendor::OgreOverlay - ) --target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt5::Widgets) -+target_link_libraries(${PROJECT_NAME}_gui PUBLIC Qt6::Widgets) - - # prevent pluginlib from using boost - target_compile_definitions(${PROJECT_NAME}_gui PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS") -@@ -98,18 +99,18 @@ add_library(${PROJECT_NAME}_remote_control SHARED - # Needed for M_PI on Windows - target_compile_definitions(${PROJECT_NAME}_remote_control PRIVATE _USE_MATH_DEFINES) - --ament_target_dependencies(${PROJECT_NAME}_remote_control -- rclcpp -- rclcpp_components -- visualization_msgs -- tf2 -- tf2_eigen -- tf2_geometry_msgs -- sensor_msgs -- shape_msgs -- std_msgs -- trajectory_msgs -- eigen_stl_containers -+target_link_libraries(${PROJECT_NAME}_remote_control -+ rclcpp::rclcpp -+ rclcpp_components::component -+ ${visualization_msgs_TARGETS} -+ tf2::tf2 -+ tf2_eigen::tf2_eigen -+ ${tf2_geometry_msgs_TARGETS} -+ ${sensor_msgs_TARGETS} -+ ${shape_msgs_TARGETS} -+ ${std_msgs_TARGETS} -+ ${trajectory_msgs_TARGETS} -+ eigen_stl_containers::eigen_stl_containers - ) - - # Visualization Tools Library -@@ -118,22 +119,22 @@ add_library(${PROJECT_NAME} SHARED - src/tf_visual_tools.cpp - ) - target_compile_definitions(${PROJECT_NAME} PRIVATE _USE_MATH_DEFINES) --ament_target_dependencies(${PROJECT_NAME} PUBLIC Eigen3) -+target_link_libraries(${PROJECT_NAME} Eigen3::Eigen) - target_link_libraries(${PROJECT_NAME} - ${PROJECT_NAME}_remote_control - ) --ament_target_dependencies(${PROJECT_NAME} -- rclcpp -- rclcpp_components -- visualization_msgs -- tf2 -- tf2_eigen -- tf2_geometry_msgs -- sensor_msgs -- shape_msgs -- std_msgs -- trajectory_msgs -- eigen_stl_containers -+target_link_libraries(${PROJECT_NAME} -+ rclcpp::rclcpp -+ rclcpp_components::component -+ ${visualization_msgs_TARGETS} -+ tf2::tf2 -+ tf2_eigen::tf2_eigen -+ ${tf2_geometry_msgs_TARGETS} -+ ${sensor_msgs_TARGETS} -+ ${shape_msgs_TARGETS} -+ ${std_msgs_TARGETS} -+ ${trajectory_msgs_TARGETS} -+ eigen_stl_containers::eigen_stl_containers - ) - - # Library -@@ -144,14 +145,14 @@ target_compile_definitions(${PROJECT_NAME}_imarker_simple PRIVATE _USE_MATH_DEFI - target_link_libraries(${PROJECT_NAME}_imarker_simple - ${PROJECT_NAME} - ) --ament_target_dependencies(${PROJECT_NAME}_imarker_simple -- rclcpp -- interactive_markers -- geometry_msgs -- visualization_msgs -- sensor_msgs -- eigen_stl_containers -- Eigen3 -+target_link_libraries(${PROJECT_NAME}_imarker_simple -+ rclcpp::rclcpp -+ interactive_markers::interactive_markers -+ ${geometry_msgs_TARGETS} -+ ${visualization_msgs_TARGETS} -+ ${sensor_msgs_TARGETS} -+ eigen_stl_containers::eigen_stl_containers -+ Eigen3::Eigen - ) - - # Demo executable -@@ -162,10 +163,10 @@ target_compile_definitions(${PROJECT_NAME}_demo PRIVATE _USE_MATH_DEFINES) - target_link_libraries(${PROJECT_NAME}_demo - ${PROJECT_NAME} - ) --ament_target_dependencies(${PROJECT_NAME}_demo -- rclcpp -- geometry_msgs -- std_msgs -+target_link_libraries(${PROJECT_NAME}_demo -+ rclcpp::rclcpp -+ ${geometry_msgs_TARGETS} -+ ${std_msgs_TARGETS} - ) - - # Demo executable -@@ -175,8 +176,8 @@ target_compile_definitions(${PROJECT_NAME}_imarker_simple_demo PRIVATE _USE_MATH - target_link_libraries(${PROJECT_NAME}_imarker_simple_demo - ${PROJECT_NAME}_imarker_simple - ) --ament_target_dependencies(${PROJECT_NAME}_imarker_simple_demo -- rclcpp -+target_link_libraries(${PROJECT_NAME}_imarker_simple_demo -+ rclcpp::rclcpp - ) - - ############# -@@ -248,8 +249,8 @@ if (BUILD_TESTING) - tests/rvt_test.cpp - TIMEOUT 180) - target_compile_definitions(${PROJECT_NAME}_rvt_test PRIVATE _USE_MATH_DEFINES) -- ament_target_dependencies(${PROJECT_NAME}_rvt_test -- rclcpp -+ target_link_libraries(${PROJECT_NAME}_rvt_test -+ rclcpp::rclcpp - ) - target_link_libraries(${PROJECT_NAME}_rvt_test - ${PROJECT_NAME} -diff --git a/src/rviz_visual_tools.cpp b/src/rviz_visual_tools.cpp -index d4a83bf..da9eda5 100644 ---- a/src/rviz_visual_tools.cpp -+++ b/src/rviz_visual_tools.cpp -@@ -42,9 +42,9 @@ - #include - - // Conversions --#include --#include --#include -+#include -+#include -+#include - #if __has_include() - #include - #include -diff --git a/src/tf_visual_tools.cpp b/src/tf_visual_tools.cpp -index 99d7aca..acf429a 100644 ---- a/src/tf_visual_tools.cpp -+++ b/src/tf_visual_tools.cpp -@@ -39,7 +39,7 @@ - #endif - - // TF --#include -+#include - - // C++ - #include -@@ -63 +63 @@ TFVisualTools::TFVisualTools(const std::shared_ptr& node, double l -- tf_broadcaster_ = std::make_shared(node); -+ tf_broadcaster_ = std::make_shared(*node); diff --git a/distros/rolling/pkg_additional_info.yaml b/distros/rolling/pkg_additional_info.yaml index f1ec97d0..c5b1beac 100644 --- a/distros/rolling/pkg_additional_info.yaml +++ b/distros/rolling/pkg_additional_info.yaml @@ -80,27 +80,254 @@ urdfdom_headers: override_version: '3.0.0' zenoh_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" +ackermann_steering_controller: + build_number: 31 +admittance_controller: + build_number: 31 +backward_ros: + build_number: 31 +battery_state_broadcaster: + build_number: 31 +bicycle_steering_controller: + build_number: 31 +chained_filter_controller: + build_number: 31 +chomp_motion_planner: + build_number: 31 +control_toolbox: + build_number: 31 +controller_interface: + build_number: 31 +controller_manager: + build_number: 31 +desktop_full: + build_number: 31 +diff_drive_controller: + build_number: 31 +force_torque_sensor_broadcaster: + build_number: 31 +forward_command_controller: + build_number: 31 +gpio_controllers: + build_number: 31 +gps_sensor_broadcaster: + build_number: 31 gz_gui_vendor: build_number: 30 +gz_ros2_control: + build_number: 31 +gz_ros2_control_demos: + build_number: 31 gz_sim_vendor: - build_number: 30 + build_number: 31 +hardware_interface: + build_number: 31 +hardware_interface_testing: + build_number: 31 +imu_sensor_broadcaster: + build_number: 31 +joint_limits: + build_number: 31 +joint_state_broadcaster: + build_number: 31 +joint_trajectory_controller: + build_number: 31 +kinematics_interface: + build_number: 31 +kinematics_interface_kdl: + build_number: 31 +libpointmatcher: + build_number: 31 livox_ros_driver2: build_number: 31 +magnetometer_broadcaster: + build_number: 31 +mecanum_drive_controller: + build_number: 31 +motion_primitives_controllers: + build_number: 31 +moveit: + build_number: 31 +moveit_common: + build_number: 31 +moveit_core: + build_number: 31 +moveit_hybrid_planning: + build_number: 31 +moveit_kinematics: + build_number: 31 +moveit_planners: + build_number: 31 +moveit_planners_chomp: + build_number: 31 +moveit_planners_ompl: + build_number: 31 +moveit_planners_stomp: + build_number: 31 +moveit_plugins: + build_number: 31 +moveit_py: + build_number: 31 +moveit_resources: + build_number: 31 +moveit_resources_fanuc_moveit_config: + build_number: 31 +moveit_resources_panda_moveit_config: + build_number: 31 +moveit_resources_prbt_ikfast_manipulator_plugin: + build_number: 31 +moveit_resources_prbt_moveit_config: + build_number: 31 +moveit_resources_prbt_pg70_support: + build_number: 31 +moveit_ros: + build_number: 31 +moveit_ros_benchmarks: + build_number: 31 +moveit_ros_control_interface: + build_number: 31 +moveit_ros_move_group: + build_number: 31 +moveit_ros_occupancy_map_monitor: + build_number: 31 +moveit_ros_perception: + build_number: 31 +moveit_ros_planning: + build_number: 31 +moveit_ros_planning_interface: + build_number: 31 +moveit_ros_robot_interaction: + build_number: 31 +moveit_ros_trajectory_cache: + build_number: 31 +moveit_ros_visualization: + build_number: 31 +moveit_ros_warehouse: + build_number: 31 +moveit_runtime: + build_number: 31 +moveit_servo: + build_number: 31 +moveit_setup_app_plugins: + build_number: 31 +moveit_setup_assistant: + build_number: 31 +moveit_setup_controllers: + build_number: 31 +moveit_setup_core_plugins: + build_number: 31 +moveit_setup_framework: + build_number: 31 +moveit_setup_srdf_plugins: + build_number: 31 +moveit_simple_controller_manager: + build_number: 31 +moveit_task_constructor_capabilities: + build_number: 31 +moveit_task_constructor_core: + build_number: 31 +moveit_task_constructor_demo: + build_number: 31 +moveit_task_constructor_visualization: + build_number: 31 +moveit_visual_tools: + build_number: 31 +mujoco_ros2_control: + build_number: 31 +mujoco_ros2_control_demos: + build_number: 31 +mujoco_ros2_control_plugins: + build_number: 31 +nav2_minimal_tb3_sim: + build_number: 31 +nav2_minimal_tb4_sim: + build_number: 31 +omni_wheel_drive_controller: + build_number: 31 +parallel_gripper_controller: + build_number: 31 +pick_ik: + build_number: 31 +pid_controller: + build_number: 31 +pilz_industrial_motion_planner: + build_number: 31 +pilz_industrial_motion_planner_testutils: + build_number: 31 plotjuggler: # Rebuild with the refreshed patch (b29 was built before it; 3.17.2 already wraps the message in a Span). build_number: 30 +pose_broadcaster: + build_number: 31 +python_qt_binding: + build_number: 31 +range_sensor_broadcaster: + build_number: 31 +rmf_demos: + build_number: 31 +rmf_demos_fleet_adapter: + build_number: 31 +rmf_fleet_adapter: + build_number: 31 +rmf_fleet_adapter_python: + build_number: 31 +rmf_reservation_node: + build_number: 31 +rmf_task_ros2: + build_number: 31 +rmf_traffic_ros2: + build_number: 31 +rmf_visualization: + build_number: 31 +rmf_visualization_navgraphs: + build_number: 31 +rmf_visualization_rviz2_plugins: + build_number: 31 +rmf_visualization_schedule: + build_number: 31 +roboplan_ros_franka: + build_number: 31 +robotiq_controllers: + build_number: 31 +ros2_control: + build_number: 31 +ros2_controllers: + build_number: 31 +ros2_fmt_logger: + build_number: 31 ros2cli: # Rebuild with the shell completions under the names bash/zsh/fish load (patch). build_number: 30 +ros2controlcli: + build_number: 31 +ros_gz: + build_number: 31 +ros_gz_sim: + build_number: 31 +ros_gz_sim_demos: + build_number: 31 +ros_image_to_qimage: + build_number: 31 rosidl_cli: # Rebuild with the shell completions installed under the names bash/zsh/fish load (patch). build_number: 30 +rqt_controller_manager: + build_number: 31 +rqt_image_overlay: + build_number: 31 +rqt_image_overlay_layer: + build_number: 31 +rqt_mocap4r2_control: + build_number: 31 rqt_plot: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 rqt_py_common: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 +rtabmap: + additional_cmake_args: -DBUILD_TESTING=OFF + build_number: 31 rviz2: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 @@ -113,6 +340,8 @@ rviz_default_plugins: rviz_imu_plugin: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 +rviz_marker_tools: + build_number: 31 rviz_rendering: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 @@ -121,10 +350,62 @@ rviz_rendering_tests: build_number: 30 rviz_satellite: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). - build_number: 30 + build_number: 31 rviz_visual_testing_framework: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 +rviz_visual_tools: + build_number: 31 +simulation: + build_number: 31 +state_interfaces_broadcaster: + build_number: 31 +steering_controllers_library: + build_number: 31 +trac_ik: + build_number: 31 +trac_ik_kinematics_plugin: + build_number: 31 +transmission_interface: + build_number: 31 +tricycle_controller: + build_number: 31 +tricycle_steering_controller: + build_number: 31 +turtlebot3_gazebo: + build_number: 31 +turtlebot3_simulations: + build_number: 31 turtlesim: # Rebuild with qt6-main 6.11 (b29 was built against qt6-main 6.12, which pyqt6 6.11 can't install with). build_number: 30 +ur: + build_number: 31 +ur_calibration: + build_number: 31 +ur_controllers: + build_number: 31 +ur_moveit_config: + build_number: 31 +ur_robot_driver: + build_number: 31 +ur_simulation_gz: + build_number: 31 +visp: + build_number: 31 +webots_ros2: + build_number: 31 +webots_ros2_control: + build_number: 31 +webots_ros2_epuck: + build_number: 31 +webots_ros2_husarion: + build_number: 31 +webots_ros2_tests: + build_number: 31 +webots_ros2_tiago: + build_number: 31 +webots_ros2_turtlebot: + build_number: 31 +webots_ros2_universal_robot: + build_number: 31 diff --git a/distros/rolling/rosdistro_additional_recipes.yaml b/distros/rolling/rosdistro_additional_recipes.yaml index 1016b064..cc499b0b 100644 --- a/distros/rolling/rosdistro_additional_recipes.yaml +++ b/distros/rolling/rosdistro_additional_recipes.yaml @@ -431,7 +431,10 @@ rslidar_sdk: tag: v1.5.18 url: https://github.com/RoboSense-LiDAR/rslidar_sdk.git version: 1.5.18 -rviz_visual_tools: # temp addition - tag: release/rolling/rviz_visual_tools/4.1.4-4 - url: https://github.com/ros2-gbp/rviz_visual_tools-release - version: 4.1.4 +rtabmap: + # rolling's own release is 0.22.1, which no longer links on Windows against gtsam (LNK2005 + # on a std::vector member); jazzy's 0.23.13 does. rolling has + # no rtabmap_ros to keep in step. + tag: release/jazzy/rtabmap/0.23.13-1 + url: https://github.com/ros2-gbp/rtabmap-release.git + version: 0.23.13 diff --git a/shared/pinning/conda_forge.yaml b/shared/pinning/conda_forge.yaml index 854b233f..25baa1db 100644 --- a/shared/pinning/conda_forge.yaml +++ b/shared/pinning/conda_forge.yaml @@ -2,16 +2,17 @@ # top of it. `pixi run rs render-pinning` combines it with overrides.yaml into # distros//conda_build_config.yaml (tools/robostack.py, vinca_pinning). A # distribution that sets conda_forge_pinning_version / conda_forge_migrations in its -# distro.yaml uses those instead (see #54: the goal is every distribution on this one). +# distro.yaml uses those instead; all distributions are on this one (#54). # Updated by `robostack-bot update-conda-forge-pinning`. -conda_forge_pinning_version: 2026.09.25.23.22.04 +conda_forge_pinning_version: 2026.10.09.13.11.31 migrations: - elfutils0196 - giflib6 - go_macos + - gsl28 - gstreamer128 - hdf52 - libboost190 + - libhwloc2150 - proj99 - urdfdom6 - - vtk970 diff --git a/shared/pinning/overrides.yaml b/shared/pinning/overrides.yaml index 521fe8e7..d7f56db3 100644 --- a/shared/pinning/overrides.yaml +++ b/shared/pinning/overrides.yaml @@ -32,6 +32,10 @@ pinning_overrides: cuda_compiler_version: - None - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + # libopencv 5.0.0 builds for openexr 3.5 need qt6-main >= 6.12, but pyqt6 6.11 (via + # qt6-multimedia 6.11) still requires qt6-main 6.11: stay on openexr 3.4 until pyqt6 is rebuilt + openexr: + - '3.4' libzenohc: - 1.10.1 libzenohcxx: diff --git a/shared/pkg_additional_info.yaml b/shared/pkg_additional_info.yaml index 0de6803f..ead8e2ff 100644 --- a/shared/pkg_additional_info.yaml +++ b/shared/pkg_additional_info.yaml @@ -97,6 +97,13 @@ liblz4_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK" libnabo: additional_cmake_args: "-DLIBNABO_BUILD_PYTHON=OFF" +libpointmatcher: + # Windows installs libpointmatcherConfig.cmake into both /Library/cmake and + # share/libpointmatcher/cmake but its export file only into the latter; CMake finds the + # former first and fails to include libpointmatcher-config.cmake. Keep both together. + additional_cmake_args: + if: win + then: "-DINSTALL_CMAKE_DIR=share/libpointmatcher/cmake" moveit_ros_visualization: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" mujoco_vendor: diff --git a/shared/robostack.yaml b/shared/robostack.yaml index e1dd8aea..6e8b59e1 100644 --- a/shared/robostack.yaml +++ b/shared/robostack.yaml @@ -496,49 +496,49 @@ libqhull: robostack: [qhull] libqt5-core: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-gui: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-opengl: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-opengl-dev: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-svg: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-svg-dev: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-websockets-dev: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5-widgets: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt5x11extras5-dev: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] libqt6-core: robostack: linux: [qt6-main, libopengl-devel, libgl-devel] @@ -857,7 +857,7 @@ python-pygraphviz: python-pyusb-pip: robostack: [pyusb] python-qt5-bindings: - robostack: [pyqt, pyqt-builder] + robostack: [pyqt6, pyqt-builder] python-rosdep: robostack: [rosdep] python-rosdep-modules: @@ -1070,9 +1070,9 @@ python3-pytest-mock: python3-pytest-timeout: robostack: [pytest-timeout] python3-qt5-bindings: - robostack: [pyqt, pyqt-builder] + robostack: [pyqt6, pyqt-builder] python3-qt5-bindings-gl: - robostack: [pyqt, pyqt-builder] + robostack: [pyqt6, pyqt-builder] python3-qt5-bindings-webkit: robostack: [pyqtwebengine] python3-requests: @@ -1186,14 +1186,14 @@ qt-base-dev: win64: [qt6-main] qt5-image-formats-plugins: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] qt5-qmake: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] qt6-base-dev: robostack: linux: [qt6-main, libopengl-devel, libgl-devel] @@ -1203,9 +1203,9 @@ qt6-scxml-dev: robostack: [qt6-scxml] qtbase5-dev: robostack: - linux: [qt-main, libopengl-devel, libgl-devel] - osx: [qt-main] - win64: [qt-main] + linux: [qt6-main, libopengl-devel, libgl-devel] + osx: [qt6-main] + win64: [qt6-main] range-v3: robostack: [range-v3] rapidjson-dev: