Skip to content

Bug: Downstream builds fail due to incorrectly exported dependencies in draco_point_cloud_transport #69

@FranzAlbers

Description

@FranzAlbers

I've tested this only on the humble branch, but this probably also applies to the rolling and jazzy branches.
After PR #68 for humble (and probably #52 for rolling and #67 for jazzy), draco_point_cloud_transport exports invalid dependencies, because ament_export_dependencies() is now given interface targets (e.g. pluginlib::pluginlib) instead of package names (e.g., pluginlib), causing downstream packages to fail with the following error during colcon build:

CMake Error at /opt/ros/humble/share/draco_point_cloud_transport/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package):
  By not providing "Findpluginlib::pluginlib.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "pluginlib::pluginlib", but CMake did not find one.

  Could not find a package configuration file provided by
  "pluginlib::pluginlib" with any of the following names:

    pluginlib::pluginlibConfig.cmake
    pluginlib::pluginlib-config.cmake

  Add the installation prefix of "pluginlib::pluginlib" to CMAKE_PREFIX_PATH
  or set "pluginlib::pluginlib_DIR" to a directory containing one of the
  above files.  If "pluginlib::pluginlib" provides a separate development
  package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /opt/ros/humble/share/draco_point_cloud_transport/cmake/draco_point_cloud_transportConfig.cmake:41 (include)
  CMakeLists.txt:37 (find_package)

Proposed fix:
Use package names for ament_export_dependencies() and keep interface targets only for target_link_libraries().
This resolves the error and restores compatibility for downstream packages. Happy to help out with a PR if needed.

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