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

Missing deb arm64 for ros-iron-nav2-bringup due to missing gazebo classic #3766

Closed
jkaflik opened this issue Aug 21, 2023 · 7 comments
Closed
Labels
wontfix This will not be worked on

Comments

@jkaflik
Copy link

jkaflik commented Aug 21, 2023

I am not sure if there is any dedicated repo for reporting CI builds failure

Bug report

Required Info:

  • Operating System:
    • Ubuntu 22.04.3 arm64
  • ROS2 Version:
    • ROS Iron binary
  • Version or commit hash:
    • 1.2.2-1jammy.20230804.210746

Steps to reproduce issue

Try to install ros-iron-nav2-bringup

Expected behavior

ros-iron-nav2-bringup should be available for arm64

Actual behavior

ros-iron-nav2-bringup 1.2.2-1 deb package for arm64 doesn't exist in http://packages.ros.org/ros2/ubuntu/pool/main/r/ros-iron-nav2-bringup/

It's not clear to me why amd64 has newest version build: https://build.ros2.org/job/Ibin_uJ64__nav2_bringup__ubuntu_jammy_amd64__binary/
but arm64 not: https://build.ros2.org/job/Hbin_ujv8_uJv8__nav2_bringup__ubuntu_jammy_arm64__binary/

@SteveMacenski
Copy link
Member

I just checked into it, its due to turtlebot3 gazeo not being in arm64 yet https://build.ros2.org/job/Ibin_ujv8_uJv8__nav2_bringup__ubuntu_jammy_arm64__binary/

That is due to gazebo ros pkgs https://build.ros2.org/job/Ibin_ujv8_uJv8__turtlebot3_gazebo__ubuntu_jammy_arm64__binary/ -- which itself is due to gazebo_ros https://build.ros2.org/job/Ibin_ujv8_uJv8__gazebo_ros_pkgs__ubuntu_jammy_arm64__binary/ which I suspect is due to the change in gazebo classic -> new gazebo so its not available in binary formats on arm64 (and the logs support that https://build.ros2.org/job/Ibin_ujv8_uJv8__gazebo_ros__ubuntu_jammy_arm64__binary/128/console).

I think you need to file this with gazebo_ros_pkgs and perhaps https://github.com/ROBOTIS-GIT/turtlebot3_simulations and to resolve - that's lower level than us here.

@SteveMacenski
Copy link
Member

I also just started a thread about this with the maintainers, we'll see what they say

@SteveMacenski
Copy link
Member

Answer:

We don't have arm64 binaries for Gazebo Classic (which is the one used in gazebo_ros)
~ via ⬢ v12.22.9 ❯ rmadison gazebo
 gazebo | 7.0.0+dfsg-2         | xenial/universe | source
 gazebo | 9.0.0+dfsg5-3ubuntu1 | bionic/universe | source
 gazebo | 9.12.0+dfsg-1build2  | focal/universe  | source
 gazebo | 11.10.2+dfsg-1       | jammy/universe  | source, amd64

See gazebosim/gazebo-classic#3236

So theres a dependency missing in gazebo-land on ARM64 which is blocking everything from gazebo ros to turtlebot then to us. So unfortunately there's really nothing we can do about it here, but I'd recommend following up in that ticket if you wanted to help fix the issue. Else, building from source is your best bet. The issue isn't much to do with nav2_bringup as much as nothing in gazebo classic will work for you on ARM without compilation.

"Closing" the ticket doesn't feel right since its not really completed, but there's nothing we can do about it here so going to mark as wontfix since there's not much in my power to do to resolve this. I will though pin it to the github issue tracker so future folks see it. Hopefully the migration to Gazebo2 will be done and that will give you a non-compiling option for simulation. Sorry for the inconvenience!

@SteveMacenski SteveMacenski added the wontfix This will not be worked on label Aug 24, 2023
@SteveMacenski SteveMacenski pinned this issue Aug 24, 2023
@SteveMacenski SteveMacenski changed the title Missing deb arm64 for ros-iron-nav2-bringup Missing deb arm64 for ros-iron-nav2-bringup due to missing gazebo classic Aug 24, 2023
@jkaflik
Copy link
Author

jkaflik commented Aug 25, 2023

Thanks for detailed response @SteveMacenski.

For now I mitigate it by compiling it for myself.

@jkaflik
Copy link
Author

jkaflik commented Aug 29, 2023

Just in case anyone looking for a work around. Bash script I use to get the stuff before running rosdep install:

# check if arch is arm64
if [ "$(uname -m)" = "aarch64" ]; then
  # check if src/nav2_bringup does not exist
  if [ ! -d "src/nav2_bringup" ]; then
    curl -L https://api.github.com/repos/ros-planning/navigation2/tarball/1.2.2 \
      | tar xz -C src/ --wildcards "*/nav2_bringup" --strip-components=1

    # remove "turtlebot3_gazebo" dependency from nav2_bringup/package.xml since it has not arm64 build
    sed -i '/turtlebot3_gazebo/d' src/nav2_bringup/package.xml
  fi
fi

@SteveMacenski
Copy link
Member

That doesn’t really mitigate it if you can’t run simulation.

@jkaflik
Copy link
Author

jkaflik commented Aug 29, 2023

@SteveMacenski i am not using it for now. Also I think the new Gazebo is not supported yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants