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

Added image for mavros dc1327f #294

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft

Conversation

ChrisTimperley
Copy link
Member

No description provided.

@ChrisTimperley
Copy link
Member Author

ChrisTimperley commented May 30, 2019

Edit: The (expected) bug is located in libmavconn, which is one of the PUTs provided by the forked repo.

This scenario fails to build during the installation of its source-based dependencies. It seems that the build failure that is addressed by this particular scenario is also present within one of its dependencies, libmavconn.

CMake Error at cmake/Modules/MavrosMavlink.cmake:4 (find_package):
  By not providing "Findmavlink.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "mavlink", but
  CMake did not find one.

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

    mavlinkConfig.cmake
    mavlink-config.cmake

  Add the installation prefix of "mavlink" to CMAKE_PREFIX_PATH or set
  "mavlink_DIR" to a directory containing one of the above files.  If
  "mavlink" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:16 (include)


-- Configuring incomplete, errors occurred!
See also "/ros_ws/build_isolated/libmavconn/CMakeFiles/CMakeOutput.log".
See also "/ros_ws/build_isolated/libmavconn/CMakeFiles/CMakeError.log".
<== Failed to process package 'libmavconn': 
  Command '/opt/ros/indigo/env.sh cmake /ros_ws/src/mavros/libmavconn -DCATKIN_DEVEL_PREFIX=/ros_ws/devel_isolated/libmavconn -DCMAKE_INSTALL_PREFIX=/opt/ros/indigo -DCMAKE_BUILD_TYPE=Release' returned non-zero exit status 1

Reproduce this error by running:
==> cd /ros_ws/build_isolated/libmavconn && /opt/ros/indigo/env.sh cmake /ros_ws/src/mavros/libmavconn -DCATKIN_DEVEL_PREFIX=/ros_ws/devel_isolated/libmavconn -DCMAKE_INSTALL_PREFIX=/opt/ros/indigo -DCMAKE_BUILD_TYPE=Release

@ChrisTimperley
Copy link
Member Author

The build will fail for both the buggy and fixed versions of the program due to an unrelated issue:

-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 1 packages in topological order:
-- ~~  - libmavconn
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'libmavconn'
-- ==> add_subdirectory(repo-under-test/libmavconn)
CMake Error at repo-under-test/libmavconn/CMakeLists.txt:10 (find_package):
  By not providing "Findconsole_bridge.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "console_bridge", but CMake did not find one.

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

    console_bridgeConfig.cmake
    console_bridge-config.cmake

  Add the installation prefix of "console_bridge" to CMAKE_PREFIX_PATH or set
  "console_bridge_DIR" to a directory containing one of the above files.  If
  "console_bridge" provides a separate development package or SDK, be sure it
  has been installed.


-- Configuring incomplete, errors occurred!
See also "/ros_ws/build/CMakeFiles/CMakeOutput.log".
See also "/ros_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

It appears that rosdep isn't installing console_bridge-dev.

Related: https://answers.ros.org/question/229294/cmake-has-not-found-a-package-configuration-file-provided-by-console_bridge/

@gavanderhoorn
Copy link
Member

Isn't this what we have missing-dependencies for?

@ChrisTimperley
Copy link
Member Author

Isn't this what we have missing-dependencies for?

It is, but I believe that console_bridge is not a Catkin package -- rather, it's a pure CMake package (https://answers.ros.org/question/62215/where-to-install-console_bridge/)

@gavanderhoorn
Copy link
Member

Isn't this what we have missing-dependencies for?

It is, but I believe that console_bridge is not a Catkin package -- rather, it's a pure CMake package (https://answers.ros.org/question/62215/where-to-install-console_bridge/)

I'm not sure how that influences things?

@ChrisTimperley
Copy link
Member Author

Isn't this what we have missing-dependencies for?

It is, but I believe that console_bridge is not a Catkin package -- rather, it's a pure CMake package (https://answers.ros.org/question/62215/where-to-install-console_bridge/)

I'm not sure how that influences things?

It doesn't -- you're right :-) I tried adding console_bridge to missing-dependencies and saw that the time machine failed to due console_bridge not appearing in the rosdistro. It turns out that the package is named rosconsole_bridge. Once the missing dependency is correctly added, the build fails as described in the report.

@gavanderhoorn
Copy link
Member

I tried adding console_bridge to missing-dependencies and saw that the time machine failed to due console_bridge not appearing in the rosdistro. It turns out that the package is named rosconsole_bridge.

So actually I was "wrong": console_bridge is the name of the ROS-agnostic package. The rosdep key for it is libconsole-bridge-dev. This is not a ROS package, so won't be in rosdistro.

rosconsole_bridge is a ROS package (it's actually the ROS-variant of console_bridge), so does get released and is part of rosdistro.

If we want to be strict about it, we'd need a new key in the .bug that allows us to add missing "system dependencies". Those should be passed to rosdep instead of the time machine.

In this case it doesn't really matter, seeing as there is a ROS-variant of the system dependency. That's almost never the case though, and I seem to remember an issue (by @git-afsantos ?) where libftdi was not getting installed (or some similar system dependency). That would not be solveable with missing-dependencies.

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.

3 participants