-
Notifications
You must be signed in to change notification settings - Fork 258
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
{humble} WIP: ros-image-world fixes for Humble Kirkstone #1150
base: kirkstone
Are you sure you want to change the base?
{humble} WIP: ros-image-world fixes for Humble Kirkstone #1150
Conversation
Upstream changes set PY_DEST so that the Python module is installed in the correct directory. These changes also now use Python3_SOABI. This variable is introduced in CMake 3.26, but Kirkstone uses 3.22.3. Thus, we must supply PYTHON_SOABI in the recipe. Signed-off-by: Rob Woolley <[email protected]>
The pid-controller dependency is no longer required. Signed-off-by: Rob Woolley <[email protected]>
The googletest recipe provides gtest in OpenEmbedded. Signed-off-by: Rob Woolley <[email protected]>
The identifer LGPL-3.0+ has been deprecated in favour of LGPL-3.0-or-later. Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
This is the latest version supported in ROS 2 Humble. Signed-off-by: Rob Woolley <[email protected]>
The libfyaml receipe is needed by mrpt2. Signed-off-by: Rob Woolley <[email protected]>
Add nanogui recipe as a dependency for mrpt2. Signed-off-by: Rob Woolley <[email protected]>
Receipe does not yet build. It currently fails on finding TrueType fonts: Could not find ENTYPO_TTF_FILE using the following files: entypo.ttf Signed-off-by: Rob Woolley <[email protected]>
Add recipe for jxrlib for freeimage, ogre-next, Gazebo and others. Using Debian as the upstream source including additional patches. Signed-off-by: Rob Woolley <[email protected]>
This version is being backported from scarthgap. The tiff recipe is used by gdal, openscenegraph, and freeimage. Signed-off-by: Rob Woolley <[email protected]>
The freeimage recipe is used by ogre, ogre-next, ignition, and Gazebo. Debian is used as the upstream source including patches. Signed-off-by: Rob Woolley <[email protected]>
This recipe is required by warehouse-ros-mongo which uses mongodb. Debian is being used as the upstream source including patches. Additional patches were required to provide bitbake variables to the Scons build system. Fixes to the Scons SConstruct file were also required to use Python3. Signed-off-by: Rob Woolley <[email protected]>
Add openexr as a dependency for freeimage and ogre. Signed-off-by: Rob Woolley <[email protected]>
Add gts as a dependency for Gazebo and Ignition. Signed-off-by: Rob Woolley <[email protected]>
Python3 colorcet is required by caret-analyze. Colorcet also depends on param and pyct. Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
We can't use CMake's find_library() macro to find libm in OpenEmbedded when building native recipes. CMake is intentionally configured to not look in the host library paths. As a result, we must ensure that CMake is provided with a suitable default value for the name of the math library. Upstream-Status: Pending Signed-off-by: Rob Woolley <[email protected]>
Add sdformat9 for Ignition or Gazebo recipes that require the older version. Signed-off-by: Rob Woolley <[email protected]>
Add sdformat12 for Ignition or Gazebo recipes that require the newer version. Signed-off-by: Rob Woolley <[email protected]>
The imath package is a dependency of openexr. Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Add CMake support for Qt5 and limit ignition-gui6 as a build dependency that doesn't require building natively. Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
These recipes are dependencies for build tools used to build ignition. Signed-off-by: Rob Woolley <[email protected]>
The libdeflate library is needed for ignition-common4-native. Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
Signed-off-by: Rob Woolley <[email protected]>
The branches listed in the generated recipes have been deleted upstream. This means that the commit ids are orphaned and don't have an associated branch. However, a duplicate repository named game_controller_spl-release still has the branches intact. Using bbappend to set the SRC_URI allows the do_fetch task to succeed. Missing build dependencies are also added to game-controller-spl-interfaces matching the fix required for other interface recipes. Signed-off-by: Rob Woolley <[email protected]>
Hi @robwoolley it's fine. So glad that I can contribute to this project. Btw, we are planning a new project so hope we could cooperate in a long term :) |
Hi @robwoolley Reporting another issue when For the
|
For the moveit-setup-framework issue, I can resolved by adding these:
However,
@robwoolley do you know how to let |
I also see some build error about
Update: All need the above patch:
and add some missing ROS_BUILDTOOL_DEPENDS |
Hi @robwoolley will these fix been merged to kirkstone? |
Hi @whni, yes I plan to merge the fixes to kirkstone after the work has been completed for rolling. That work is nearly complete, you can check out the notes from the working group meeting for details: https://docs.google.com/document/d/1LqUjcu6vdlqVJO62SreCyjzddNDZhfO2n-7qYghY_cQ/edit#heading=h.3vrwbu9vio04 |
Checking in this topic? Any update? |
@robwoolley Please let us know whenever this is merged. Thank you! |
Hi @robwoolley could we know if this pull request will be merged soon? We need to decided if we can stick on humble. Thank you so much! |
Looks like no one is looking at this pull request now? @robwoolley |
Hi @whni, I think this PR still needs work before it can be merged. I haven't tried running anything on the hardware yet. My focus has been on the Rolling and Styhead combo first since it is expected to be "unstable" then will backport any work to the "stable" Humble and Kirkstone combination. I have been short on free time over the summer to make progress, but we have been making headway on getting CI/CD builds going for regression testing of all combinations. (Check out the working group minutes for the latest status: https://docs.google.com/document/d/1LqUjcu6vdlqVJO62SreCyjzddNDZhfO2n-7qYghY_cQ/edit) Have you been able to get graphics up and running on the Raspberry Pi hardware? It would be a huge help to know that the existing recipes were working on the hardware. Regards, |
Hi @robwoolley We didn't test all graphics components but just need those to be compiled successfully. On RPi 4, we are building our own image that includes |
@robwoolley Hi, we are still waiting for this pull request on humble. Could we expect this to happen soon? |
Note to self: Refer to this thread for ogre and rviz_rendering fixes for Humble: #1144 (comment) |
Has anyone gotten Gazebo classic to run successfully on Humble? I have no problem building Gazebo and all deps using the recipe here, but I get the errors mentioned in this discussion with the shaders at runtime. It seems Gazebo classic was never made compatible with Ogre 1.12. |
@graceagrace I haven't tried doing Gazebo Classic yet. I finished building Gazebo for Jazzy and Rolling: https://github.com/ros/meta-ros/tree/master-next I am working on Humble now, however I will need to revisit the patches above. I'll keep you posted. |
@graceagrace I have pushed my latest commits to build the perception and simulation variants for ROS 2 Humble and Yocto master branch to master-next: https://github.com/ros/meta-ros/tree/master-next I am still working on desktop and desktop-full for Humble. The changes just add Ignition Fortress. I haven't tried Gazebo Classic yet, but I'm up for adding it. Out of curiosity, what is the use case for adding Gazebo Classic now that it is end-of-life? Is there anything we should be testing for to make sure it works? Please let me know if there are any errors or omissions I have made in the patch sequence. I made sure to give you credit on the ogre fixes I merged from you. I tried to backport upstream fixes where I could. If there are any additional fixes I missed please point them out. Thanks so much for your help with this. It is exciting to be close to having all the visualization and simulation tools working! |
@robwoolley, many thanks for your effort on this! I'll find some time to test your branch in the next few days to double-check The main use case for supporting running Gazebo Classic with ROS2 Humble is gazebo_ros2_control. With Gazebo Classic going EOL this January, this package isn't released to any ROS distro past Humble, but it is a very useful tool that we have recipes for in The annoyance here is that I see you had a patch for |
This is the latest revision to enable ignition and rviz2 to support building the turtlebot3 recipe on ROS Humble with
Yocto Kirkstone.
It requires meta-clang and meta-qt5. The following also needs to be added to local.conf:
DISTRO_FEATURES:append = " x11 opengl vulkan polkit"
PACKAGECONFIG:append:pn-clang = " libomp"
PACKAGECONFIG:append:pn-qtbase-native = " gui"
PACKAGECONFIG:append:pn-python3 = " tk"
Tested on Raspberry Pi 4 using the shell mode with this kas script found in the build branch of meta-ros:
oeros-kirkstone-humble-raspberrypi4-64.yml
Needs some work before I can merge this. I am just submitting this PR for additional feedback from people eager to support the Turtlebot3, rviz, or Ignition/Gazebo.