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

[WIP] Remove unneccessary additional ROS 2 dependencies #558

Closed
wants to merge 3 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Feb 6, 2019

Basic Info

Info Please fill out this column
Ticket(s) this addresses fixes #345
Primary OS tested on Ubuntu
Robotic platform tested on NA

Description of contribution in a few bullet points

  • Removes angles, behavior tree and gazebo ros pkgs from our extra dependencies. They all get pulled in by rosdep

@ghost ghost changed the title Remove unneccessary additional ROS 2 dependencies [WIP] Remove unneccessary additional ROS 2 dependencies Feb 6, 2019
@ghost
Copy link
Author

ghost commented Feb 7, 2019

It seems that rosdep is incompatible with the osrf/ros2:nightly image. When we get to the point where we call rosdep on the navigation2 repo, it now apt-get installs ros-crystal-gazebo-ros-pkgs, which is what we expect, but that cause apt to install many other ros-crystal packages that gazebo-ros-pkgs depends on, since apt knows nothing about the pre-installed ROS2 in the docker image. These packages get installed overtop of the pre-installed ROS2 and cause problems.

@ruffsl
Copy link
Member

ruffsl commented Feb 7, 2019

It seems that rosdep is incompatible with the osrf/ros2:nightly image.

Yea, I was going to chime in on that when I notice the PR, but saw this was still labeled a WIP. Given the nightly images archive installation is not itself a debian install, any released ros2 debian you attempt to install from the release repo inevitable ropes in the rest of the ros2 distro debs, to the detriment of the fat archive already extracted before.

Given that not all of your dependencies are shipped in the nightly fat archive, building the third-party dependencies from source was the compromise I went with to insure the CI could track the upstream nightly builds.

Is there a specific reason for this direction, or is this more about reducing the number of things to track while still keeping relatively in sync with upstream.

@ghost
Copy link
Author

ghost commented Feb 8, 2019

I was hoping to address issue #345. By removing those extra dependencies, we could be sure that we had no dependencies that weren't already released upstream. However that doesn't seem possible while also using the ROS 2 nightly build.

I was going to close this PR and give up on it, but figured I'd give it a day or two to mull over.

I'm thinking the best thing to do is leave the dependencies in that .repos file, as is, but on occasion do another build without the "fat archive" or the "navstack dependencies" and see if rosdep can really pull in everything we need.

@ruffsl
Copy link
Member

ruffsl commented Feb 8, 2019

I'm thinking the best thing to do is leave the dependencies in that .repos file, as is, but on occasion do another build without the "fat archive" or the "navstack dependencies" and see if rosdep can really pull in everything we need.

We could add a build arg in the Dockerfile just before FROM, and use that from a travis cron job to change the default field from osrf/ros2:nightly to ros:crystal. Although, I'm not sure the master branch of navigation2 would always normally build against the latest debian release.

@ghost
Copy link
Author

ghost commented Feb 8, 2019

Although, I'm not sure the master branch of navigation2 would always normally build against the latest debian release.

I expect you are right. Maybe this makes sense as a manual step before merging to a release branch.

@ghost ghost mentioned this pull request Feb 11, 2019
@ghost ghost closed this Feb 12, 2019
mini-1235 pushed a commit to mini-1235/navigation2 that referenced this pull request Feb 5, 2025
Forsyth-Creations pushed a commit to Forsyth-Creations/navigation2 that referenced this pull request Feb 19, 2025
This pull request was closed.
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.

Remove "angles" from ros2_dependencies.repos (again)
1 participant