RoboStack / ros-humble

Recipes for ROS 2 Humble Hawksbill
97 stars 36 forks source link

Package request: libcamera #180

Open sonelu opened 6 months ago

sonelu commented 6 months ago

Package name

libcamera

Operating System(s)

Additional context (optional)

I see it is included in the vinca file for aarch64, but does't seem to have been build.

Links and references (optional)

It's needed for camera_ros, which seems to be the only ros package that work with the new libcamera on Raspberry Pi.

Tobias-Fischer commented 3 months ago

Hi @sonelu - that's an interesting one. It uses meson as build tool, and we don't have a template for that. I just added a warning message to vinca for easier debugging in the future (https://github.com/RoboStack/vinca/commit/8109f1288919eaf39037032ec7f47e96da939120).

/cc @traversaro @wolfv - have you built packages using meson before? Do you think it would be easy enough to add a template for RoboStack in vinca?

traversaro commented 3 months ago

/cc @traversaro @wolfv - have you built packages using meson before? Do you think it would be easy enough to add a template for RoboStack in vinca?

Yes, I maintain https://github.com/conda-forge/spral-feedstock/ (and probably a few other, I can't remember). The meson workflow is quite similar to the CMake one (configure/build/install), so I would guess it should doable.

Tobias-Fischer commented 3 months ago

@sonelu would you be interested in contributing this? It shouldn’t be too hard, but time on the core RoboStack contributors is very constrained at the moment and other things like a rebuild have higher priority.

sonelu commented 3 months ago

@Tobias-Fischer certainly I could.

The background for this is that camera_ros uses libcamera, and is the only ROS package that I could find that works with Raspberry Pi since the change to libcamera. The issue is that apt installed libcamera in the os is not detected by the conda installed ros (ex. from Robostack) and compilation of camera_ros fails. I had managed to get over that by symlinking the /usr/lib/aarch-linux-gnu/pkgconfig/libcamera* defintions to /home/USER/miniforge3/envs/ENV/lib/pkgconfig. You have more experience in dealing with system libraries when building under a conda environment. Maybe we don't need to package it at all, just fix the compilation of camera_ros (which is the one we need to include in RoboStack).

Alreantively, for libcamera I think it would be better if it would packaged in conda-forge rather than RoboStack. What do you think?

Tobias-Fischer commented 3 months ago

Yes that’s a good point - it’s probably better in conda-forge and that should be less complicated to do as well; simply follow the same recipe structure as in e.g. https://github.com/conda-forge/spral-feedstock/