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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to