Skip to content

CMakeLists.txt in visp_tracker and visp_auto_tracker uses invalid rosbag URLs (404) and ROS1-style rosbag assumptions #151

Description

@foreignlands

Environment

  • OS: Ubuntu 22.04
  • ROS 2: Humble
  • Build tool: colcon build --symlink-install
  • ViSP: built from source

In both visp_tracker and visp_auto_tracker, the current CMakeLists.txt contains incorrect rosbag handling logic.

Problems

  1. Invalid download URLs (404)
    The CMake code tries to download tutorial bags from GitHub release URLs that return HTTP 404, causing build failures.

  2. Incorrect rosbag assumptions in ROS 2
    The CMake logic treats tutorial bags as ROS1-style single .bag files, while in ROS 2 a rosbag (*.bag) is a directory containing:

    metadata.yaml
    *.db3
    

    This leads to invalid install() paths and failures with colcon build --symlink-install.


Example problematic CMake code

(from visp_tracker/CMakeLists.txt)

ExternalProject_Add(
  external_bag
  URL https://github.com/lagadic/vision_visp/releases/download/vision_visp-0.5.0/tutorial-static-box-ros2.bag
)

install(
  DIRECTORY externals/src/tutorial-static-box-ros2.bag
  DESTINATION share/bag
)

This assumes:

  • the URL exists (it returns 404),
  • the bag is a single file,
  • and the directory always exists at install time.

All of these assumptions are invalid in ROS 2.


Impact

With the default ROS 2 Humble workflow (--symlink-install), both packages can fail to build unless users manually patch the CMakeLists.


Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions