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

Issue with rosdep definition of gazebo #234

Open
tillb98 opened this issue Oct 13, 2024 · 5 comments
Open

Issue with rosdep definition of gazebo #234

tillb98 opened this issue Oct 13, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@tillb98
Copy link

tillb98 commented Oct 13, 2024

Describe the bug
Hello, I tried to install the Create Simulator by following the installation instructions step by step with a fresh Ubuntu 22.04 LTS Jammy and ROS Humble. When building the create3_ws, I encounter the following error after running “rosdep install --from-path src -yi”:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
irobot_create_gz_bringup: Cannot locate rosdep definition for [gz_ros2_control]
irobot_create_toolbox: Cannot locate rosdep definition for [gz_math_vendor]
irobot_create_gz_plugins: Cannot locate rosdep definition for [gz_gui_vendor]

As a result, the next step “colcon build --symlink-install” also fails. This results in the following output:
Starting >>> irobot_create_gz_plugins
--- stderr: irobot_create_gz_plugins
CMake Error at CMakeLists.txt:14 (find_package):
By not providing "Findgz_gui_vendor.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"gz_gui_vendor", but CMake did not find one.

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

   gz_gui_vendorConfig.cmake
   gz_gui_vendor-config.cmake

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

Failed <<< irobot_create_gz_plugins [1.04s, exited with code 1]

What is the reason for this and how can I fix the problems with gz_ros2_control or gz_math_vendor and gt_gui_vendor? Please excuse the question, I am still relatively inexperienced with ROS. Many greetings and thank you!

To Reproduce
Follow the installation instructions step by step.

Expected behavior
Successful addition of dependencies and subsequent successful building of the workspace.

Additional context
Add any other context about the problem here.
Build Error

@tillb98 tillb98 added the bug Something isn't working label Oct 13, 2024
@alsora
Copy link
Contributor

alsora commented Oct 13, 2024

To install the create 3 simulator you should use:

sudo apt-get install ros-humble-irobot-create-gazebo

or

sudo apt-get install ros-humble-irobot-create-ignition

depending on which version of the simulator you want to use.

@tillb98
Copy link
Author

tillb98 commented Oct 19, 2024

To install the create 3 simulator you should use:

sudo apt-get install ros-humble-irobot-create-gazebo

or

sudo apt-get install ros-humble-irobot-create-ignition

depending on which version of the simulator you want to use.

Hey alsora, I noticed that the command you suggested, “sudo apt search ros-humble-irobot-create-gazebo”, still requires the ls extensions “-sim”, “-bringup” or “-dbgsym”. Installing these packages with “sudo apt-get install” will then work. The package readme file may need to be updated because the prompts now seem to vary slightly (e.g. gazebo is now spelled out instead of gz), but the simulation seems to work. Thanks for your help!

@rickarmstrong
Copy link

rickarmstrong commented Dec 7, 2024

I noticed that if I do this (i.e. add a glob):
sudo apt-get install ros-humble-irobot-create-gazebo*

apt attempts to install four packages, but fails because of a conflict with gz_tools:

$sudo apt-get install ros-humble-irobot-create-gazebo*
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'ros-humble-irobot-create-gazebo-sim' for glob 'ros-humble-irobot-create-gazebo*'
Note, selecting 'ros-humble-irobot-create-gazebo-plugins-dbgsym' for glob 'ros-humble-irobot-create-gazebo*'
Note, selecting 'ros-humble-irobot-create-gazebo-plugins' for glob 'ros-humble-irobot-create-gazebo*'
Note, selecting 'ros-humble-irobot-create-gazebo-bringup' for glob 'ros-humble-irobot-create-gazebo*'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 gz-tools2 : Conflicts: gazebo (>= 11.0.0) but 11.10.2+dfsg-1 is to be installed
             Conflicts: gazebo (<= 11.14.0) but 11.10.2+dfsg-1 is to be installed
             Conflicts: gazebo:arm64 (<= 11.14.0)
             Conflicts: gazebo:arm64 (>= 11.0.0)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Also seems strange that apt is attempting to install gazebo:arm64.

@rickarmstrong
Copy link

rickarmstrong commented Dec 7, 2024

I think the real issue here is that the jazzy branch has a typo in the README: it calls-out ROS humble as a dependency. If I follow the instructions using Ubuntu 24.04 noble + ROS 2 jazzy + Gazebo harmonic, this repo builds as expected.

Apparently, it's a slog to get ROS humble + Gazebo harmonic to play nice together. There's another open issue discussing this in more detail.

P.S. After building, there's an issue launching the simulation, but that's a different problem having to do with ros_control. Workaround is to start the simulation one part at a time, sim.launch.py, start the simulation by hitting the run button in Gazebo, create3_spawn.launch.py, then create3_gz_nodes.launch.py.

@tobias-kausch
Copy link

In case it is helpful to anyone, I resolved a similar error by making sure I was cloning the correct branch of this repository. In my case, I was cloning the repository using git clone <repo_url>. Using git clone -b <branch_name> --single-branch <repo_url> and proceeding with the rest of the guide worked without error.

When building the create3_ws, I encounter the following error after running “rosdep install --from-path src -yi”:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
irobot_create_gz_bringup: Cannot locate rosdep definition for [gz_ros2_control]
irobot_create_toolbox: Cannot locate rosdep definition for [gz_math_vendor]
irobot_create_gz_plugins: Cannot locate rosdep definition for [gz_gui_vendor]

As a result, the next step “colcon build --symlink-install” also fails. This results in the following output:
Starting >>> irobot_create_gz_plugins
--- stderr: irobot_create_gz_plugins
CMake Error at CMakeLists.txt:14 (find_package):
By not providing "Findgz_gui_vendor.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"gz_gui_vendor", but CMake did not find one.

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

4 participants