ros / meta-ros

OpenEmbedded Layers for ROS 1 and ROS 2
MIT License
382 stars 251 forks source link

Superflore/rolling/2024 03 21 - Scarthgap #1114

Closed DasRoteSkelett closed 5 months ago

DasRoteSkelett commented 5 months ago

This is somewhat recent ros2-rolling where ros-image-core will build with yocto scarthgap. The receipe-bbappends have been removed from the previous versions and build up from scratch.

I guess there is still room for improvement to reduce the number of bbappends.

This should be merged into a scarthgap branch of meta-ros, I would recommend at least @robwoolley

robwoolley commented 5 months ago

Thank you, you have impeccable timing! I have syncs for all the supported ROS distros and Yocto releases queued up here and was about to merge them to the next branches after lunch: https://github.com/robwoolley/meta-ros/pulls

However, I still have some failures for Scarthgap that I was about to look into. It looks like you have already provided the fixes. I hope to review the PR and merge them in ASAP. (possibly this afternoon)

Regards, Rob

robwoolley commented 5 months ago

I reviewed all the commits and merged them into master-next: https://github.com/ros/meta-ros/commits/master-next/

Your fix for uncrustify was much better as it simplified things greatly. I used the same approach of creating a new recipe for cpptoml to help simplify iceoryx-posh as well.

I found that I avoided some of the problems that were caused by CMake+Python by just upreving the rosidl-generator-py patch. I still hit a problem with FindPython3, but this was fixed by following your recommendation of removing the older copy of the cmake recipe. If there is anything I have overlooked with this approach that you were trying to solve, please let me know.

Lastly, I found that service-msgs had to be turned into a build dependency. I was building for Raspberry Pi 4 and the msgs packages (like lifecycle-msgs and sensor-msgs) did not like it when I was trying to link the x86_64 library from service-msgs-native into the aarch64 binaries.

I like the other patches you included (removing unneeded patches, adding kas support, and GitHub Actions). Since I can now build ros-image-core with just these commits, I would prefer to close this PR and review those under a new one.

Thanks again for this! It came in right at the perfect time.

DasRoteSkelett commented 5 months ago

Hi @robwoolley , so please tell me, on which branch I should be working on. master-next? I can for sure also cross-compile to RPI.

robwoolley commented 5 months ago

Hi @DasRoteSkelett

I just merged master-next into master, so working on master should be fine now. We are now fully up-to-date with the latest sync. The image ros-image-core builds 100% and ros-image-world gets 99% of the way there with about 77 failures to investigate. (ie 19858 tasks out of ~20000).

I think that covers everything in this PR. I will go ahead and close it. Please feel free to reopen it or create a new PR for anything I missed.

Regards, Rob