Dear Sirs, I have a hard time to cross-compile and to properly include the custom ROS2 foxy package into the Yocto image. I properly added meta-ros layer and ROS2 foxy distro to our Yocto build by following instructions from here ( https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions#add-meta-ros-to-an-existing-openembedded-project ) ( Sanity Tests ( https://github.com/ros/meta-ros/wiki/OpenEmbedded-Build-Instructions#ros-2-sanity-test ) pass successfully).
I wanted to use a devtool and build a simple custom ROS2 package containing publisher and subscriber nodes. The source code of the package is on the git - link ( https://github.com/bojankoce/ros2pkg ). I used tips and tricks from here ( https://wiki.yoctoproject.org/wiki/TipsAndTricks/Creating_Recipes_for_ROS_modules ) to create ROS2 recipes with the devtool. My custom bitbake recipe for the simple ROS2 package looks like this ( my-first-yocto-pkg_git.bb file): DESCRIPTION = "Example of minimal publisher/subscriber using rclcpp." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=3a75fd635766e2f76c3d90ee6495f310" SRC_URI = "git://github.com/bojankoce/ros2pkg;protocol=https" # Modify these as desired PV = "0.1.0" SRCREV = "1312445de2e6861d9561c0f89f4827b94c2ff6b1" DEPENDS = "rclcpp std-msgs" S = "${WORKDIR}/git" # NOTE: unable to map the following CMake package dependencies: rclcpp ament_lint_auto std_msgs ros_ament_cmake inherit ros_ament_cmake However, when I tried to build the package with the devtool build my-first-yocto-pkg command, I get the following error: CMake Error at CMakeLists. txt : 19 ( find_package ): By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "ament_cmake" , but CMake did not find one. Could not find a package configuration file provided by "ament_cmake" with any of the following names : ament_cmakeConfig. cmake ament_cmake - config. cmake Add the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set "ament_cmake_DIR" to a directory containing one of the above files. If "ament_cmake" provides a separate development package or SDK , be sure it has been installed. The issue is around ament_cmake. I included the inherit ros_ament_cmake line into the recipe but this does not help. Do you have any idea about what I am missing here? Is there any better way to cross-compile and include a custom ROS2 foxy package into the Yocto image? Thanks in advance for your time and efforts. Cheers, Bojan.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#55270): https://lists.yoctoproject.org/g/yocto/message/55270 Mute This Topic: https://lists.yoctoproject.org/mt/86906676/21656 Mute #bitbake:https://lists.yoctoproject.org/g/yocto/mutehashtag/bitbake Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
