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

Add missing test dependency to package.xml file #678

Closed
wants to merge 1 commit into from

Conversation

Blast545
Copy link
Contributor

This should fix the build regressions in the ros2_gazebo_pkgs-ci-default_rolling-focal-amd64 jobs of the buildfarm:

https://build.osrfoundation.org/job/ros2_gazebo_pkgs-ci-default_rolling-focal-amd64/96/

With error:

-- Found trajectory_msgs: 4.0.0 (/opt/ros/rolling/share/trajectory_msgs/cmake)
-- Found rosidl_default_generators: 1.1.1 (/opt/ros/rolling/share/rosidl_default_generators/cmake)
CMake Error at /opt/ros/rolling/share/rosidl_generator_c/cmake/rosidl_generator_c_generate_interfaces.cmake:174 (find_package):
  By not providing "Findament_cmake_cppcheck.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "ament_cmake_cppcheck", but CMake did not find one.

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

    ament_cmake_cppcheckConfig.cmake
    ament_cmake_cppcheck-config.cmake

  Add the installation prefix of "ament_cmake_cppcheck" to CMAKE_PREFIX_PATH
  or set "ament_cmake_cppcheck_DIR" to a directory containing one of the
  above files.  If "ament_cmake_cppcheck" provides a separate development
  package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /opt/ros/rolling/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
  /opt/ros/rolling/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
  CMakeLists.txt:71 (rosidl_generate_interfaces)

Signed-off-by: Jorge Perez jjperez@ekumenlabs.com

Signed-off-by: Jorge Perez <jjperez@ekumenlabs.com>
@Blast545 Blast545 self-assigned this Apr 28, 2022
@@ -26,6 +26,7 @@
<exec_depend>rosidl_parser</exec_depend>
<exec_depend>rcutils</exec_depend>

<test_depend>ament_cmake_cppcheck</test_depend>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Theoretically, this shouldn't be necessary; we already have a dependency on ament_lint_common, and that already contains ament_cmake_cppcheck: https://github.com/ament/ament_lint/blob/master/ament_lint_common/package.xml .

But maybe I'm missing something, so can you explain why you think this is necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw the error in the install job and saw that the line failing is this one:

find_package(ament_cmake_cppcheck REQUIRED)
and opened the PR to test if it solved it. However, I think the install jobs use the released version, so I don't know if there's an easy way to test this PR.

Yeah, I saw ament_lint_common but I'm not sure if it works internally in a different manner for the install jobs.

I think the PR introducing this regression is #662. Tagging @sloretz to see if he has an idea about why this could be happening.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the CI log:

+ rosdep install --from-paths . -r --ignore-src --rosdistro=rolling --default-yes
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
gazebo_ros: No definition of [tinyxml_vendor] for OS version [focal]
gazebo_plugins: No definition of [tf2_ros] for OS version [focal]
gazebo_msgs: No definition of [ament_lint_common] for OS version [focal]

It looks like ament_lint_common didn't get installed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • rosdep install --from-paths . -r --ignore-src --rosdistro=rolling --default-yes
    ERROR: the following packages/stacks could not have their rosdep keys resolved
    to system dependencies:
    gazebo_ros: No definition of [tinyxml_vendor] for OS version [focal]
    gazebo_plugins: No definition of [tf2_ros] for OS version [focal]
    gazebo_msgs: No definition of [ament_lint_common] for OS version [focal]

Oh, thanks for pointing that out. Note that this is never going to work; while the packages still exist for Rolling-on-Focal, the rosdep database now only serves Rolling-on-Jammy. So I think that is the main issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the feedback, I'll talk with Jose about how to move forward with this. I imagine we should be moving this job to jammy instead.

@j-rivero
Copy link
Contributor

j-rivero commented May 2, 2022

I think that we can close this PR. Fixes for gazebo_ros_pkgs on Jammy are ready in ros-simulation/gazebo_ros_pkgs#1373 and problems detailed here I think that have to do with the change for Rolling from Focal to Jammy in the rosdep database.

@j-rivero
Copy link
Contributor

j-rivero commented May 3, 2022

Closing, reopen if needed please.

@j-rivero j-rivero closed this May 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants