Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing to find_package interface packages due to missing target rosidl_typesupport_introspection_cpp #602

Closed
jacobperron opened this issue Jul 15, 2021 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@jacobperron
Copy link
Member

jacobperron commented Jul 15, 2021

Bug report

Required Info:

  • Operating System:
    • Ubuntu 20.04
  • Installation type:
    • binary
  • Version or commit hash:
  • DDS implementation:
    • N/A
  • Client library (if applicable):
    • N/A

Steps to reproduce issue

In an isolated environment, in workspace clone example_interfaces and create a dummy package that depends on it:

mkdir -p repro_ws/src
cd repro_ws
git clone https://github.com/ros2/example_interfaces.git src/example_interfaces
# install dependencies with rosdep
rosdep install --rosdistro rolling --from-paths src -i -y
# install ros2pkg for convenience
sudo apt install ros-rolling-ros2pkg
# create package 'foo' that depends on example_interfaces
ros2 pkg create --destination-directory src --dependencies example_interfaces -- foo

and build the workspace:

colcon build --packages-up-to foo

Expected behavior

Builds without error.

Actual behavior

find_package(example_interfaces REQUIRED) fails when building foo:

Starting >>> foo
--- stderr: foo                          
CMake Error at CMakeLists.txt:10 (find_package):
  Found package configuration file:

    /tmp/repro_ws/install/example_interfaces/share/example_interfaces/cmake/example_interfacesConfig.cmake

  but it set example_interfaces_FOUND to FALSE so package
  "example_interfaces" is considered to be NOT FOUND.  Reason given by
  package:

  The following imported targets are referenced, but are missing:
  example_interfaces::example_interfaces__rosidl_typesupport_introspection_cpp
@jacobperron jacobperron added the bug Something isn't working label Jul 15, 2021
@jacobperron
Copy link
Member Author

@hidmic I know you've been doing some work recently related to rosidl. Any idea what could be causing this?

Originally noticed this when gazebo_ros_pkgs CI started failing for Rolling, e.g. https://build.ros2.org/job/Rpr__gazebo_ros_pkgs__ubuntu_focal_amd64/77

cc/ @adityapande-1995

@hidmic hidmic self-assigned this Jul 16, 2021
@hidmic
Copy link
Contributor

hidmic commented Jul 16, 2021

I cannot reproduce from source, so either something wasn't released or there's an issue with debians.

@hidmic
Copy link
Contributor

hidmic commented Jul 16, 2021

Alright, yeah, we are missing ros/rosdistro#30236. Without it, we can and do run into this target export ordering issue. FYI @nuclearsandwich, I know we're in the middle of a sync but that PR has to go in or all packages downstream interface packages will break.

@jacobperron
Copy link
Member Author

The sync already happened; we might want to another sync sooner than later to unbreak folks.

@ros-discourse
Copy link

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/new-packages-for-ros-2-rolling-ridley-2021-07-15/21401/2

@jacobperron
Copy link
Member Author

With ros/rosdistro#30236 sync'd, this issue is fixed for me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants