Skip to content

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

@foreignlands

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.


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