void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.46k stars 2.1k forks source link

Package request: Gazebo: Harmonic #50068

Open blacklightpy opened 2 months ago

blacklightpy commented 2 months ago

Package name

gz-harmonic

Package homepage

https://gazebosim.org

Description

Gazebo is a collection of open source software libraries designed to simplify development of high-performance applications.

Does the requested package meet the package requirements?

Compiled

Is the requested package released?

Yes

blacklightpy commented 2 months ago

Note that building for musl will require patching. One example was adding

# if BACKWARD_HAS_BACKTRACE_SYMBOL == 1
# include <dlfcn.h>
# endif

in gz-tools/src/vendor/backward.hpp and another file.

I fixed some more problems, but my storage ran out so I couldn't proceed.

blacklightpy commented 2 months ago

I used separate versions for each component because Gazebo comes as distributions. Gazebo Garden is separate from Gazebo Harmonic.

The version of ROS also only works with select versions of Gazebo, using the ROS/GZ bridge, ros_gz (packaged as ros-{ROS_DISTRO}-ros-gz). For Gazebo Harmonic, ROS 2 Jazzy is the official pairing. But the release will only be on May 23, 2024.

ROS 2 Iron and ROS 2 Humble can work with Gazebo Garden and Gazebo Harmonic, however the builds of ros-iron-ros-gzgarden, ros-iron-ros-gzharmonic, ros-humble-ros-gzgarden and ros-humble-ros-gzharmonic are unofficial and separately built.

classabbyamp commented 2 months ago

please don't spam package requests. make a single one for a package you want, and if it is added, its dependencies will be too.

blacklightpy commented 2 months ago

please don't spam package requests. make a single one for a package you want, and if it is added, its dependencies will be too.

@classabbyamp I once heard that we had to split dependencies (here).. that's why I made separate requests.

Edit: I guess I misunderstood it to mean I should also make multiple requests.

blacklightpy commented 2 months ago

Since ros_gz bridge depends on the ROS version and Gazebo version, if we package multiple Gazebo and ROS versions, they we will have to make ros_gz packages for all of them.

Instead, all those who want ros_gz aside from the official pairings (as mentioned in the README) should install it in their own overlay workspaces using rosdep install and colcon build.