diff --git a/meta-ros2-galactic/classes/ros_distro_galactic.bbclass b/meta-ros2-galactic/classes/ros_distro_galactic.bbclass new file mode 100644 index 00000000000..431777ff6a2 --- /dev/null +++ b/meta-ros2-galactic/classes/ros_distro_galactic.bbclass @@ -0,0 +1,7 @@ +# Every ROS recipe, generated or not, must contain "inherit ros_distro_${ROS_DISTRO}". +# +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_DISTRO = "galactic" + +inherit ${ROS_DISTRO_TYPE}_distro diff --git a/meta-ros2-galactic/conf/layer.conf b/meta-ros2-galactic/conf/layer.conf new file mode 100644 index 00000000000..52ee33c468b --- /dev/null +++ b/meta-ros2-galactic/conf/layer.conf @@ -0,0 +1,26 @@ +# We have a conf and classes directory, append to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a recipes directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend ${LAYERDIR}/generated-recipes/*/*.bb" + +BBFILE_COLLECTIONS += "ros2-galactic-layer" +BBFILE_PATTERN_ros2-galactic-layer := "^${LAYERDIR}/" +BBFILE_PRIORITY_ros2-galactic-layer = "12" + +# Version 1 was the manually created meta-ros, prior to the introduction of superflore. +# Version 2 was all ROS distributions in the same meta-ros layer with right subdirectories selected by ROS_DISTRO variable +# Version 3 is with each ROS distribution in separate sublayer of meta-ros git repository (with modifications to generated recipes applied in .bbappends instead of .inc files) +LAYERVERSION_ros2-galactic-layer = "3" + +LAYERDEPENDS_ros2-galactic-layer = " \ + core \ + meta-python \ + openembedded-layer \ + ros-common-layer \ + ros2-layer \ +" + +LAYERSERIES_COMPAT_ros2-galactic-layer = "${ROS_OE_RELEASE_SERIES}" + +require conf/ros-distro/include/galactic/ros-distro.inc diff --git a/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-preferred-providers.inc b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-preferred-providers.inc new file mode 100644 index 00000000000..09579aa1136 --- /dev/null +++ b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-preferred-providers.inc @@ -0,0 +1,6 @@ +# galactic/ros-distro-preferred-providers.inc +# +# Copyright (c) 2021 LG Electronics, Inc. + +# Set PREFERRED_PROVIDER_ here for non-platform packages and to override those set in +# ros-distro-platform-preferred-providers.inc . diff --git a/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-preferred-versions.inc b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-preferred-versions.inc new file mode 100644 index 00000000000..f679fca5c3f --- /dev/null +++ b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-preferred-versions.inc @@ -0,0 +1,6 @@ +# galactic/ros-distro-preferred-versions.inc +# +# Copyright (c) 2021 LG Electronics, Inc. + +# Set PREFERRED_VERSION_ here for non-platform packages for which the layers provide multiple versions and to override those +# set in ros-distro-platform-preferred-versions.inc . diff --git a/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-recipe-blacklist.inc b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-recipe-blacklist.inc new file mode 100644 index 00000000000..0d6aba56896 --- /dev/null +++ b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro-recipe-blacklist.inc @@ -0,0 +1,104 @@ +# foxy/ros-distro-recipe-blacklist.inc +# +# Copyright (c) 2020-2021 LG Electronics, Inc. + +PNBLACKLIST[ament-clang-format-native] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', 'clang: depends on clang-format', '', d)}" +PNBLACKLIST[ament-clang-format] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', 'clang: depends on clang-format', '', d)}" +PNBLACKLIST[ament-clang-tidy-native] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', 'clang: depends on clang-tidy', '', d)}" +PNBLACKLIST[ament-clang-tidy] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', 'clang: depends on clang-tidy', '', d)}" +PNBLACKLIST[ament-cmake-clang-format] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', 'clang: depends on ament-clang-format-native->clang-format', '', d)}" +PNBLACKLIST[ament-cmake-clang-tidy] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', 'clang: depends on ament-clang-tidy-native->clang-tidy', '', d)}" +PNBLACKLIST[connext-cmake-module-native] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds-native which is not available', '', d)}" +PNBLACKLIST[connext-cmake-module] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds which is not available', '', d)}" +PNBLACKLIST[control-box-rst] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'coinor-libipopt', 'Depends on unavailable ROS_UNRESOLVED_DEP-coinor-libipopt-dev', '', d)}" +PNBLACKLIST[desktop] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5', 'opengl', 'x11'], 'qt5: rdepends on rviz2, rviz-default-plugins, rqt-common-plugins which rdepends on rqt-image-view which depends on qt-gui-cpp, rqt-gui, rqt-gui-cpp which depend on qtbase; pyqt5: rdepends on rqt-common-plugins which rdepends on rqt-image-view which depends on qt-gui-cpp, rqt-gui, rqt-gui-cpp which depend on python3-pyqt5 which requires pyqt5; opengl: rdepends on rviz2, rviz-default-plugins which depend on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on rviz2, rviz-default-plugins which depend on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[gazebo-plugins] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gazebo', 'gazebo: depends on gazebo-rosdev->gazebo which is not available', '', d)}" +PNBLACKLIST[gazebo-ros-pkgs] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gazebo', 'gazebo: depends on gazebo-rosdev->gazebo which is not available', '', d)}" +PNBLACKLIST[gazebo-ros] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gazebo', 'gazebo: depends on gazebo-rosdev->gazebo which is not available', '', d)}" +PNBLACKLIST[gazebo-rosdev] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gazebo', 'gazebo: depends on gazebo which is not available', '', d)}" +PNBLACKLIST[gurumdds-cmake-module] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gurumdds', 'gurumdds: depends on gurumdds-2.6 which is not available', '', d)}" +PNBLACKLIST[joint-state-publisher-gui] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on python-qt-binding which depends on qtbase; pyqt5: depends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[launch-testing-ament-cmake] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'launch', 'launch: depends on launch-testing-native->launch-native', '', d)}" +PNBLACKLIST[launch-testing-native] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'launch', 'launch: depends on launch-native', '', d)}" +PNBLACKLIST[libg2o] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['opengl', 'x11'], 'opengl: depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on libglu which requires x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[librealsense2] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['opengl', 'glfw'], 'opengl: depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; glfw: depends on librealsense2 which depends on glfw which is available only in dunfell and requires x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[mrpt2] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['ffmpeg', 'x264', 'x11'], 'ffmpeg: Depends on ffmpeg which requires commercial license; x264: Depends on ffmpeg which depends on x264 which requires commercial license; x11: Depends on libxxf86vm, freeglut, libxrandr, wxwidgets, glfw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[packagegroup-ros-turtlebot3-core] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'turtlebot3', 'turtlebot3: rdepends on turtlebot3-bringup,hls-lfcd-lds-driver,turtlebot3-msgs,ros-base which were not ported to foxy yet', '', d)}" +PNBLACKLIST[packagegroup-ros-turtlebot3-extended] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'turtlebot3', 'turtlebot3: rdepends on slam-karto, compressed-image-transport, depthimage-to-laserscan turtlebot3-applications-msgs, turtlebot3-autorace, cartographer-ros, turtlebot3, turtlebot3-applications which were not ported to foxy yet', '', d)}" +PNBLACKLIST[python-qt-binding] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on qtbase; pyqt5: depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[qt-dotgraph] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on python-qt-binding which depends on qtbase which requires meta-qt5 to be included; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[qt-gui-app] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on qt-gui which depends on qtbase which requires meta-qt5 to be included; pyqt5: rdepends on qt-gui which depends on python-qt-binding which requires pyqt5', '', d)}" +PNBLACKLIST[qt-gui-core] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5', 'qt-gui-cpp'], 'qt5: depends on qt-gui which depends on qtbase which requires meta-qt5 to be included; pyqt5: depends on python-qt-binding which requires pyqt5; qt-gui-cpp: depends on qt-gui-cpp which fails to compile', '', d)}" +PNBLACKLIST[qt-gui-cpp] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5', 'qt-gui-cpp'], 'qt5: depends on qtbase which requires meta-qt5 to be included; pyqt5: depends on python-qt-binding which requires pyqt5; qt-gui-cpp: pyqt5; qt-gui-cpp: do_compile task fails: requires pyqt5-native for sip', '', d)}" +PNBLACKLIST[qt-gui-py-common] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on python-qt-binding which depends on qtbase which requires meta-qt5 to be included; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[qt-gui] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on qtbase; pyqt5: depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[realsense-examples] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['opengl', 'glfw'], 'opengl: depends on librealsense2 which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; glfw: depends on librealsense2 which depends on glfw which is available only in dunfell and requires x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[realsense-node] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['opengl', 'glfw'], 'opengl: rdepends on realsense-ros which depends on librealsense2 which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; glfw: depends on librealsense2 which depends on glfw which is available only in dunfell and requires x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[realsense-ros] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['opengl', 'glfw'], 'opengl: depends on librealsense2 which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; glfw: depends on librealsense2 which depends on glfw which is available only in dunfell and requires x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rmw-connext-cpp] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds which is not available', '', d)}" +PNBLACKLIST[rmw-connext-shared-cpp] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds which is not available', '', d)}" +PNBLACKLIST[rmw-connextdds-common] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds which is not available', '', d)}" +PNBLACKLIST[rmw-connextdds] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds which is not available', '', d)}" +PNBLACKLIST[rmw-gurumdds-cpp] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gurumdds', 'gurumdds: depends on gurumdds-2.6 which is not available', '', d)}" +PNBLACKLIST[rmw-gurumdds-shared-cpp] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gurumdds', 'gurumdds: depends on gurumdds-2.6 which is not available', '', d)}" +PNBLACKLIST[ros-image-turtlebot3-all] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'turtlebot3', 'turtlebot3: Rdepends on packagegroup-ros-turtlebot3-core, packagegroup-ros-turtlebot3-extended which rdepend turtlebot3-bringup,hls-lfcd-lds-driver,turtlebot3-msgs,ros-base,slam-karto, compressed-image-transport, depthimage-to-laserscan turtlebot3-applications-msgs, turtlebot3-autorace, cartographer-ros, turtlebot3, turtlebot3-applications which were not ported to foxy yet', '', d)}" +PNBLACKLIST[ros-image-turtlebot3-core] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'turtlebot3', 'turtlebot3: Rdepends on packagegroup-ros-turtlebot3-core, packagegroup-ros-turtlebot3-extended which rdepend turtlebot3-bringup,hls-lfcd-lds-driver,turtlebot3-msgs,ros-base,slam-karto, compressed-image-transport, depthimage-to-laserscan turtlebot3-applications-msgs, turtlebot3-autorace, cartographer-ros, turtlebot3, turtlebot3-applications which were not ported to foxy yet', '', d)}" +PNBLACKLIST[ros-testing] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'launch', 'launch: depends on launch-testing-ament-cmake->launch-testing-native->launch-native', '', d)}" +PNBLACKLIST[ros2test-native] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'launch', 'launch: depends on launch-testing-ros-native->launch-testing-native->osrf-pycommon-native->launch-native', '', d)}" +PNBLACKLIST[ros2trace-analysis] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'babeltrace-python', 'babeltrace-python: depends on tracetools-analysis which rdepends on tracetools-read which rdepends on ROS_UNRESOLVED_DEP-python3-babeltrace and python bindings in babeltrace are not enabled as shown in log.do_configure - configure: You may configure with --enable-python-bindings if you want Python bindings.', '', d)}" +PNBLACKLIST[rosbag2-bag-v2-plugins] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'ros1', 'ros1: since https://github.com/ros2/rosbag2_bag_v2/commit/ef48a3ef8a8753b3005862a7c437ff19d70e1745 requires roscpp ROS1 package to be available during do_configure', '', d)}" +PNBLACKLIST[rosidl-typesupport-connext-c] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on (rosidl-typesupport-connext-cpp-native,connext-cmake-module-native)->rti-connext-dds-native which is not available', '', d)}" +PNBLACKLIST[rosidl-typesupport-connext-cpp-native] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds-native which is not available', '', d)}" +PNBLACKLIST[rosidl-typesupport-connext-cpp] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds-native which is not available', '', d)}" +PNBLACKLIST[rqt-action] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui-py which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-bag-plugins] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-bag] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-common-plugins] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-image-view which depends on qt-gui-cpp, rqt-gui, rqt-gui-cpp which depend on qtbase; pyqt5: rdepends on rqt-image-view which depends on qt-gui-cpp, rqt-gui, rqt-gui-cpp which depend on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-console] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-graph] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-gui-cpp] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5', 'qt-gui-cpp'], 'qt5: depends on qt-gui-cpp and qtbase itself which requires meta-qt5 to be included; pyqt5: depends on qt-gui-cpp which depends python-qt-binding which requires pyqt5; qt-gui-cpp: pyqt5; qt-gui-cpp: depends on qt-gui-cpp which fails to compile', '', d)}" +PNBLACKLIST[rqt-gui-py] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on qt-gui which depends on qtbase; pyqt5: depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-gui] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on qt-gui which depends on qtbase; pyqt5: depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-image-view] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on qt-gui-cpp, rqt-gui, rqt-gui-cpp which depend on qtbase; pyqt5: depends on qt-gui-cpp, rqt-gui, rqt-gui-cpp which depend on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-moveit] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-msg] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-plot] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-publisher] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-py-common] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-py-console] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-reconfigure] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding and rqt-gui-py which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-robot-monitor] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui,rqt-gui-py,qt-gui-py-common which depends qt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui,rqt-gui-py,qt-gui-py-common which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-robot-steering] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-service-caller] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on rqt-gui-py which depends on qt-gui which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-shell] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on qt-gui and rqt-gui-py which depends on qtbase which requires meta-qt5 to be included; pyqt5: rdepends on qt-gui which depends on python-qt-binding which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-srv] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on rqt-msg which rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-top] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt-topic] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], 'qt5: rdepends on rqt-gui-py which depends qt-gui which depends on qtbase; pyqt5: rdepends on python-qt-binding and rqt-gui-py which depends on python3-pyqt5 which requires pyqt5', '', d)}" +PNBLACKLIST[rqt] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5', 'qt-gui-cpp'], 'qt5: depends on qt-gui which depends on qtbase which requires meta-qt5 to be included; pyqt5: depends on rqt-gui-cpp which depends on qt-gui-cpp which depends python-qt-binding which requires pyqt5; qt-gui-cpp: pyqt5; qt-gui-cpp: depends on rqt-gui-cpp which depends depends on qt-gui-cpp which fails to compile', '', d)}" +PNBLACKLIST[rti-connext-dds-cmake-module] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'connext: depends on rti-connext-dds which is not available', '', d)}" +PNBLACKLIST[rviz-common] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: depends on qtbase; opengl: depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rviz-default-plugins] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: depends on qtbase; opengl: depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rviz-ogre-vendor] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['opengl', 'x11'], 'opengl: depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rviz-rendering-tests] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: depends on qtbase; opengl: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rviz-rendering] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: depends on qtbase; opengl: depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rviz-visual-testing-framework] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: depends on qtbase; opengl: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[rviz2] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: depends on qtbase; opengl: depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[sdformat-urdf] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'sdformat', 'sdformat: depends on unavailable sdformat" +PNBLACKLIST[spacenav] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'libspnav', 'Depends on unavailable ROS_UNRESOLVED_DEP-libspnav-dev', '', d)}" +PNBLACKLIST[tracetools-analysis] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'babeltrace-python', 'babeltrace-python: rdepends on tracetools-read which rdepends on ROS_UNRESOLVED_DEP-python3-babeltrace and python bindings in babeltrace are not enabled as shown in log.do_configure - configure: You may configure with --enable-python-bindings if you want Python bindings.', '', d)}" +PNBLACKLIST[tracetools-read] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'babeltrace-python', 'babeltrace-python: rdepends on ROS_UNRESOLVED_DEP-python3-babeltrace and python bindings in babeltrace are not enabled as shown in log.do_configure - configure: You may configure with --enable-python-bindings if you want Python bindings.', '', d)}" +PNBLACKLIST[turtlesim] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'qt5-widgets'], 'qt5: depends on qtbase; qt5-widgets: needs widgets enabled in qtbase PACKAGECONFIG', '', d)}" +PNBLACKLIST[webots-ros2-abb] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-core] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-demos] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11', 'webots-python-modules'], 'qt5: rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on qtbase; opengl: rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES; webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-desktop] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11', 'webots-python-modules'], 'qt5: rdepends on webots-ros2 which rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on qtbase; opengl: rdepends on webots-ros2 which rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on webots-ros2 which rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES; webots-python-modules: rdepends on webots-ros2 which rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet and webots-ros2-importer which requires python3-collada-pip, urdf2webots-pip which are not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-epuck] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: rdepends on rviz2 which depends on qtbase; opengl: rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[webots-ros2-examples] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-importer] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: requires python3-collada-pip, urdf2webots-pip which are not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-tesla] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-tiago] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: rdepends on rviz2 which depends on qtbase; opengl: rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[webots-ros2-turtlebot] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-tutorials] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', 'webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet', '', d)}" +PNBLACKLIST[webots-ros2-universal-robot] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11'], 'qt5: rdepends on rviz2 which depends on qtbase; opengl: rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES', '', d)}" +PNBLACKLIST[webots-ros2] ?= "${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'opengl', 'x11', 'webots-python-modules'], 'qt5: rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on qtbase; opengl: rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on mesa which is not available because of missing opengl or vulkan in DISTRO_FEATURES; x11: rdepends on webots-ros2-universal-robot,webots-ros2-tiago which rdepends on rviz2 which depends on rviz-rendering which depends on rviz-ogre-vendor which depends on libx11,libxrandr,libxaw which require x11 in DISTRO_FEATURES; webots-python-modules: rdepends on webots-ros2-core which requires python-transforms3d-pip which is not available in OE yet and webots-ros2-importer which requires python3-collada-pip, urdf2webots-pip which are not available in OE yet', '', d)}" +PNBLACKLIST[wiimote] ?= "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'cwiid', 'Depends on unavailable ROS_UNRESOLVED_DEP-cwiid-dev', '', d)}" diff --git a/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro.inc b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro.inc new file mode 100644 index 00000000000..1f5a8d037e3 --- /dev/null +++ b/meta-ros2-galactic/conf/ros-distro/include/galactic/ros-distro.inc @@ -0,0 +1,118 @@ +# galactic/ros-distro.inc +# General configuration settings that are dependent on ROS_DISTRO. +# +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_DISTRO_CODENAME = "Galactic Geochelone" + +ROS2_DISTRO = "galactic" + +# The platform release that the metadata for this ROS distro targets. This determines the versions of the platform packages that +# OE must provide. It must be one of the values of ROS_DISTRO_RELEASE_PLATFORMS (which is set in +# generated/superflore-ros-distro.inc). +ROS_DISTRO_BASELINE_PLATFORM = "ubuntu-focal" + +require conf/ros-distro/include/galactic/generated/superflore-datetime.inc +require conf/ros-distro/include/galactic/generated/superflore-ros-distro.inc +require conf/ros-distro/include/galactic/ros-distro-recipe-blacklist.inc +require conf/ros-distro/include/galactic/ros-distro-preferred-versions.inc +require conf/ros-distro/include/galactic/ros-distro-preferred-providers.inc + +# Override settings from generated/superflore-ros-distro.inc here. + +# Since superflore doesn't know when it's generating a recipe that it will be for a build tool, it can't know that what's in +# ROS_EXEC_DEPEND are also build tools. Manually add them here. +ROS_SUPERFLORE_GENERATED_BUILDTOOLS += " \ + ament-lint-native \ + cyclonedds-native \ + domain-coordinator-native \ + foonathan-memory-vendor-native \ + iceoryx-binding-c-native \ + iceoryx-posh-native \ + iceoryx-utils-native \ + rcutils-native \ + rcpputils-native \ + rmw-dds-common-native \ + rmw-fastrtps-cpp-native \ + rmw-fastrtps-shared-cpp-native \ + rmw-native \ + rosidl-adapter-native \ + rosidl-cli-native \ + rosidl-default-runtime-native \ + rosidl-parser-native \ + rosidl-typesupport-fastrtps-c-native \ + rpyutils-native \ + uncrustify-vendor-native \ +" + +# this needs google-benchmark-vendor-native but we probably don't need native version +ROS_SUPERFLORE_GENERATED_BUILDTOOLS_remove = "ament-cmake-google-benchmark-native" + +# alternative not yet supported implementation for fastrtps +ROS_WORLD_SKIP_GROUPS += "connext" +# alternative not yet supported implementation for fastrtps +ROS_WORLD_SKIP_GROUPS += "opensplice" +# alternative not yet supported implementation for fastrtps, there is no recipe for gurumdds-2.6 +ROS_WORLD_SKIP_GROUPS += "gurumdds" +# Can't build these until we figure out how to build clang-format, clang-tidy without building all of clang. +ROS_WORLD_SKIP_GROUPS += "clang" +# recipes depending on turtlebot3 specific recipes which weren't ported to eloquent yet +ROS_WORLD_SKIP_GROUPS += "turtlebot3" +# recipes depending on coinor-libipopt +ROS_WORLD_SKIP_GROUPS += "coinor-libipopt" +# Needs work to launch qemu to run tests on image on build machine. +ROS_WORLD_SKIP_GROUPS += "launch" +# recipes depending on ROS_UNRESOLVED_DEP-python3-babeltrace which cannot be just +# set to babeltrace, because python bindings in babeltrace are not enabled as shown in log.do_configure: +# configure: You may configure with --enable-python-bindings if you want Python bindings. +ROS_WORLD_SKIP_GROUPS += "babeltrace-python" +# recipes depends on cwiid +ROS_WORLD_SKIP_GROUPS += "cwiid" +# recipes depends on libspnav +ROS_WORLD_SKIP_GROUPS += "libspnav" + +# recipes depending on 'x11' in DISTRO_FEATURES +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'x11', d)}" +# recipes depending on 'opengl' in DISTRO_FEATURES +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'opengl', d)}" +# recipes depending on 'ffmpeg' which is restricted by 'commercial' LICENSE_FLAG +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains_any('LICENSE_FLAGS_WHITELIST', ['commercial', 'ffmpeg', 'commercial_ffmpeg'], '', 'ffmpeg', d)}" +# recipes depending on 'x264' (ffmpeg does depend on it by default as well) which is restricted by 'commercial' LICENSE_FLAG +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains_any('LICENSE_FLAGS_WHITELIST', ['commercial', 'x264', 'commercial_x264'], '', 'x264', d)}" +# There is recipe for glfw in meta-oe in dunfell, but it still needs x11 in DISTRO_FEATURES +# use that in dunfell and blacklist explicitly in older releases +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'glfw', d)}" + +# webots recipes depending on unavailable python moules like: +# ERROR: Nothing RPROVIDES 'ROS_UNRESOLVED_DEP-python-transforms3d-pip' (but meta-ros2-galactic/generated-recipes/webots-ros2-desktop/webots-ros2-core_0.0.3-1.bb RDEPENDS on or otherwise requires it) +# ERROR: Nothing RPROVIDES 'ROS_UNRESOLVED_DEP-urdf2webots-pip' (but meta-ros2-galactic/generated-recipes/webots-ros2-desktop/webots-ros2-importer_0.0.3-1.bb RDEPENDS on or otherwise requires it) +# ERROR: Nothing RPROVIDES 'ROS_UNRESOLVED_DEP-python3-collada-pip' (but meta-ros2-galactic/generated-recipes/webots-ros2-desktop/webots-ros2-importer_0.0.3-1.bb RDEPENDS on or otherwise requires it) +ROS_WORLD_SKIP_GROUPS += "webots-python-modules" + +# ERROR: Nothing PROVIDES 'ROS_UNRESOLVED_DEP-sdformat' (but /jenkins/mjansa/build/ros/webos-galactic-hardknott/meta-ros/meta-ros2-galactic/generated-recipes/sdformat-urdf/sdformat-urdf_0.1.0-1.bb DEPENDS on or otherwise requires it) +ROS_WORLD_SKIP_GROUPS += "sdformat" + +# recipes depending on gazebo, for which there is no OE recipe +ROS_WORLD_SKIP_GROUPS += "gazebo" + +# recipes depending on ros1 +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'ros1-layer', '', 'ros1', d)}" + +# recipes depending on something from meta-qt5 layer +ROS_WORLD_SKIP_GROUPS += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', '', 'qt5', d)}" + +# do_compile failures +ROS_WORLD_SKIP_GROUPS += " \ + qt-gui-cpp \ +" + +# Must use a _pn- override in this file to override the ROS_BUILD_TYPE of a generated recipe, +# because we need to set this variable before the "inherit" line in the recipe is parsed, +# and having it in a .bbappend sets it too late. +# We want ament_cmake instead of plain cmake for ros-workspace: +# https://raw.github.com/ros2-gbp/ros_workspace-release/release/galactic/ros_workspace/1.0.1-2/package.xml +ROS_BUILD_TYPE_pn-ros-workspace = "ament_cmake" + +# Used by generated-recipes/cyclonedds/cyclonedds_0.6.0-3.bb +ROS_UNRESOLVED_DEP-java-native = "" +ROS_UNRESOLVED_DEP-maven-native = "" diff --git a/meta-ros2-galactic/recipes-bbappends/apriltag/apriltag_%.bbappend b/meta-ros2-galactic/recipes-bbappends/apriltag/apriltag_%.bbappend new file mode 100644 index 00000000000..fbec724e980 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/apriltag/apriltag_%.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/async-web-server-cpp/async-web-server-cpp_2.0.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/async-web-server-cpp/async-web-server-cpp_2.0.0-1.bbappend new file mode 100644 index 00000000000..c004545df44 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/async-web-server-cpp/async-web-server-cpp_2.0.0-1.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# ERROR: async-web-server-cpp-2.0.0-1-r0 do_package_qa: QA Issue: +# non -dev/-dbg/nativesdk- package contains symlink .so: async-web-server-cpp path '/work/raspberrypi4-webos-linux-gnueabi/async-web-server-cpp/2.0.0-1-r0/packages-split/async-web-server-cpp/usr/lib/libasync_web_server_cpp.so' [dev-so] +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/behaviortree-cpp/behaviortree-cpp-v3_3.5.6-1.bbappend b/meta-ros2-galactic/recipes-bbappends/behaviortree-cpp/behaviortree-cpp-v3_3.5.6-1.bbappend new file mode 100644 index 00000000000..9d5f5a70573 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/behaviortree-cpp/behaviortree-cpp-v3_3.5.6-1.bbappend @@ -0,0 +1,8 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + ament-cmake-gtest \ + cppzmq \ +" + +FILES_${PN}-dev += "${libdir}/BehaviorTreeV3/cmake" diff --git a/meta-ros2-galactic/recipes-bbappends/bond-core/bond_3.0.1-3.bbappend b/meta-ros2-galactic/recipes-bbappends/bond-core/bond_3.0.1-3.bbappend new file mode 100644 index 00000000000..25167061464 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/bond-core/bond_3.0.1-3.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/bond-core/test-bond_3.0.1-3.bbappend b/meta-ros2-galactic/recipes-bbappends/bond-core/test-bond_3.0.1-3.bbappend new file mode 100644 index 00000000000..25167061464 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/bond-core/test-bond_3.0.1-3.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer-ros/cartographer-ros-msgs_1.0.9003-3.bbappend b/meta-ros2-galactic/recipes-bbappends/cartographer-ros/cartographer-ros-msgs_1.0.9003-3.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer-ros/cartographer-ros-msgs_1.0.9003-3.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer-ros/cartographer-ros_1.0.9003-3.bbappend b/meta-ros2-galactic/recipes-bbappends/cartographer-ros/cartographer-ros_1.0.9003-3.bbappend new file mode 100644 index 00000000000..17050f90238 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer-ros/cartographer-ros_1.0.9003-3.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2019-2020 LG Electronics, Inc. + +DEPENDS += "eigen3-cmake-module" diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-CMakeLists.txt-link-with-dl.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-CMakeLists.txt-link-with-dl.patch new file mode 100644 index 00000000000..c777c34ee41 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-CMakeLists.txt-link-with-dl.patch @@ -0,0 +1,43 @@ +From 60167d74d788f308ba3c23fa8b72ea7028d840bc Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 15 May 2020 05:55:56 -0700 +Subject: [PATCH] CMakeLists.txt: link with dl + +* fixes: +FAILED: cartographer.mapping.internal.motion_filter_test +: && /jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot-native/usr/bin/arm-webos-linux-gnueabi/arm-webos-linux-gnueabi-g++ -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0=/usr/src/debug/cartographer/1.0.0-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0=/usr/src/debug/cartographer/1.0.0-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot= -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot -fuse-ld=gold -DNDEBUG -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0=/usr/src/debug/cartographer/1.0.0-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0=/usr/src/debug/cartographer/1.0.0-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot= -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot -fuse-ld=gold -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now -rdynamic CMakeFiles/cartographer.mapping.internal.motion_filter_test.dir/cartographer/mapping/internal/motion_filter_test.cc.o -o cartographer.mapping.internal.motion_filter_test libcartographer.a -Wl,-Bstatic -lgmock_main -lgmock -lgtest -Wl,-Bdynamic -lpthread libcartographer_test_library.a libcartographer.a /jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libceres.a /jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libglog.so.0.3.5 -lunwind -lunwind-arm -lspqr -lcholmod -lccolamd -lcamd -lcolamd -lamd -llapack -lblas -lsuitesparseconfig -lrt -lmetis -lcxsparse -llapack -lblas -lsuitesparseconfig -lrt -lmetis -lcxsparse -lgomp -lpthread -Wl,-Bstatic -llua -Wl,-Bdynamic -lm /jenkins/mjansa/build/ros/webos-dashing-gatesgarth/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libboost_iostreams.so.1.72.0 -lglog -lgflags -lcairo -lprotobuf -lpthread && : +loadlib.c:134: error: undefined reference to 'dlsym' +loadlib.c:127: error: undefined reference to 'dlopen' +loadlib.c:135: error: undefined reference to 'dlerror' +loadlib.c:128: error: undefined reference to 'dlerror' +loadlib.c:122: error: undefined reference to 'dlclose' +collect2: error: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 3 ++- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e3a686..cf040c6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -178,6 +178,7 @@ google_binary(cartographer_compute_relations_metrics + SRCS + cartographer/ground_truth/compute_relations_metrics_main.cc + ) ++target_link_libraries(cartographer_compute_relations_metrics PUBLIC -ldl) + + google_binary(cartographer_migrate_serialization_format + SRCS +@@ -263,7 +264,7 @@ foreach(ABS_FIL ${ALL_TESTS}) + if(${BUILD_PROMETHEUS}) + target_link_libraries("${TEST_TARGET_NAME}" PUBLIC prometheus-cpp) + endif() +- target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB}) ++ target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB} -ldl) + endforeach() + + # Add the binary directory first, so that port.h is included after it has diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-FindLuaGoogle.cmake-explicitly-link-with-dl.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-FindLuaGoogle.cmake-explicitly-link-with-dl.patch new file mode 100644 index 00000000000..539b89da918 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-FindLuaGoogle.cmake-explicitly-link-with-dl.patch @@ -0,0 +1,58 @@ +From f6acb17991e6ad7e596306be1e26adaec7297541 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 2 Jul 2020 11:59:34 +0000 +Subject: [PATCH] FindLuaGoogle.cmake explicitly link with dl + +* fixes cartographer-ros build which uses FindLuaGoogle provided by + cartographer and INTERFACE_LINK_LIBRARIES from + /usr/share/cartographer/cmake/CartographerTargets.cmake which + lists static liblua and libm, but didn't include dl now it looks + like this: + INTERFACE_LINK_LIBRARIES "ceres;cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/liblua.a;cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libm.so;dl;cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so;cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so;glog;gflags;cairo;cartographer/1.0.0-1-r0/recipe-sysroot/usr/lib/libprotobuf.so;pthread" + +* in most builds this doesn't happen, because -ldl is also pulled by + openssl which in turn is used by fastrtps when it's enabled (and + detected correctly which doesn't seem to be the case for rolling) + +* otherwise -ldl might be missing and linking fails with: + +DEBUG: Executing shell function do_compile +NOTE: VERBOSE=1 cmake --build cartographer-ros/1.0.9001-1-r0/build --target all -- -j 80 +... +[16/17] : && cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/aarch64-oe-linux-g++ --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -DNDEBUG --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed cartographer_ros/CMakeFiles/occupancy_grid_node.dir/occupancy_grid_node_main.cc.o -o cartographer_ros/occupancy_grid_node libcartographer_ros.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librclcpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw_implementation.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcutils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_logging_spdlog.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcpputils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_yaml_param_parser.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtracetools.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libceres.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libglog.so.0.3.5 cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind-aarch64.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libspqr.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcholmod.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libccolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so -lgomp cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblua.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libm.so -lglog -lgflags -lcairo cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libprotobuf.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so -lpthread && : +FAILED: cartographer_ros/occupancy_grid_node +: && cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/aarch64-oe-linux-g++ --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -DNDEBUG --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed cartographer_ros/CMakeFiles/occupancy_grid_node.dir/occupancy_grid_node_main.cc.o -o cartographer_ros/occupancy_grid_node libcartographer_ros.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librclcpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw_implementation.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcutils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_logging_spdlog.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcpputils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_yaml_param_parser.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtracetools.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libceres.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libglog.so.0.3.5 cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind-aarch64.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libspqr.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcholmod.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libccolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so -lgomp cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblua.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libm.so -lglog -lgflags -lcairo cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libprotobuf.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so -lpthread && : +cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/8.2.0/ld: cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblua.a(loadlib.o): undefined reference to symbol 'dlsym@@GLIBC_2.17' +cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/8.2.0/ld: cartographer-ros/1.0.9001-1-r0/recipe-sysroot/lib/libdl.so.2: error adding symbols: DSO missing from command line +collect2: error: ld returned 1 exit status + +[17/17] : && cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/aarch64-oe-linux-g++ --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -DNDEBUG --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed cartographer_ros/CMakeFiles/cartographer_node.dir/node_main.cc.o -o cartographer_ros/cartographer_node libcartographer_ros.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_ros.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmessage_filters.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librclcpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw_implementation.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcutils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_logging_spdlog.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcpputils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_yaml_param_parser.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtracetools.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libconsole_bridge.so.1.0 cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libceres.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libglog.so.0.3.5 cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind-aarch64.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libspqr.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcholmod.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libccolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so -lgomp cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblua.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libm.so -lglog -lgflags -lcairo cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libprotobuf.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so -lpthread && : +FAILED: cartographer_ros/cartographer_node +: && cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/aarch64-oe-linux-g++ --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -DNDEBUG --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0=/usr/src/debug/cartographer-ros/1.0.9001-1-r0 -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot= -fdebug-prefix-map=cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden --sysroot=cartographer-ros/1.0.9001-1-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed cartographer_ros/CMakeFiles/cartographer_node.dir/node_main.cc.o -o cartographer_ros/cartographer_node libcartographer_ros.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer_ros_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libnav_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsensor_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_ros.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmessage_filters.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librclcpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_interfaces__rosidl_typesupport_introspection_cpp.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw_implementation.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librmw.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcutils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_logging_spdlog.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcpputils.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosgraph_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librcl_yaml_param_parser.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtracetools.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunique_identifier_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libaction_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libconsole_bridge.so.1.0 cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libtf2.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libgeometry_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libbuiltin_interfaces__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libstd_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_generator_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_introspection_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_introspection_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_fastrtps_c.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libvisualization_msgs__rosidl_typesupport_fastrtps_cpp.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcartographer.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libceres.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libglog.so.0.3.5 cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libunwind-aarch64.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libspqr.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcholmod.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libccolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcolamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libamd.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblapack.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libblas.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libsuitesparseconfig.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/librt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libmetis.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libcxsparse.so -lgomp cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblua.a cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libm.so -lglog -lgflags -lcairo cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libprotobuf.so -lpthread cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_system-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_serialization-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libpcl_common.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so -lpthread && : +cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/8.2.0/ld: cartographer-ros/1.0.9001-1-r0/recipe-sysroot/usr/lib/liblua.a(loadlib.o): undefined reference to symbol 'dlsym@@GLIBC_2.17' +cartographer-ros/1.0.9001-1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/8.2.0/ld: cartographer-ros/1.0.9001-1-r0/recipe-sysroot/lib/libdl.so.2: error adding symbols: DSO missing from command line +collect2: error: ld returned 1 exit status +ninja: build stopped: subcommand failed. +WARNING: exit code 1 from a shell command. +ERROR: Function failed: do_compile (log file is located at cartographer-ros/1.0.9001-1-r0/temp/log.do_compile.21940) + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + cmake/modules/FindLuaGoogle.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/modules/FindLuaGoogle.cmake b/cmake/modules/FindLuaGoogle.cmake +index c76b8cc..abcbbfb 100644 +--- a/cmake/modules/FindLuaGoogle.cmake ++++ b/cmake/modules/FindLuaGoogle.cmake +@@ -199,7 +199,7 @@ if (LUA_LIBRARY) + # include the math library for Unix + if (UNIX AND NOT APPLE AND NOT BEOS) + find_library(LUA_MATH_LIBRARY m) +- set(LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}") ++ set(LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY};dl") + # For Windows and Mac, don't need to explicitly include the math library + else () + set(LUA_LIBRARIES "${LUA_LIBRARY}") diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-Fix-build-with-gtest-1.8.1.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-Fix-build-with-gtest-1.8.1.patch new file mode 100644 index 00000000000..ef667cd4696 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0001-Fix-build-with-gtest-1.8.1.patch @@ -0,0 +1,271 @@ +From 84e3f64cfd0ee83d43626d9244cae225b9f925b3 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 9 Jan 2020 13:36:50 -0800 +Subject: [PATCH] Fix build with gtest-1.8.1 + +* taken from: + https://github.com/googlecartographer/cartographer/issues/1611#issuecomment-560236725 + +* linking fails without this: +/usr/include/gmock/gmock-matchers.h:2059: error: undefined reference to 'testing::AssertionSuccess()' +/usr/include/gmock/gmock-matchers.h:2066: error: undefined reference to 'testing::AssertionFailure()' +/usr/include/gmock/gmock-matchers.h:2066: error: undefined reference to 'testing::AssertionResult::AssertionResult(testing::AssertionResult const&)' +/usr/include/gtest/gtest-message.h:247: error: undefined reference to 'testing::Message::GetString[abi:cxx11]() const' +/usr/include/gtest/gtest-printers.h:155: error: undefined reference to 'testing::internal2::PrintBytesInObjectTo(unsigned char const*, unsigned int, std::ostream*)' +/usr/include/gtest/gtest-printers.h:616: error: undefined reference to 'testing::internal::PrintStringTo(std::__cxx11::basic_string, std::allocator > const&, std::ostream*)' +/usr/include/gtest/gtest.h:1435: error: undefined reference to 'testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, bool)' +/usr/include/gtest/gtest.h:1445: error: undefined reference to 'testing::AssertionSuccess()' +/usr/include/gtest/gtest.h:335: error: undefined reference to 'testing::Message::Message()' +/usr/include/gtest/gtest.h:352: error: undefined reference to 'testing::Message::GetString[abi:cxx11]() const' +/usr/include/gtest/internal/gtest-internal.h:664: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/include/gtest/internal/gtest-port.h:1215: error: undefined reference to 'testing::internal::IsTrue(bool)' +/usr/include/gtest/internal/gtest-port.h:2061: error: undefined reference to 'testing::internal::GTestLog::GTestLog(testing::internal::GTestLogSeverity, char const*, int)' +/usr/include/gtest/internal/gtest-port.h:2061: error: undefined reference to 'testing::internal::GTestLog::~GTestLog()' +/usr/include/gtest/internal/gtest-port.h:2061: error: undefined reference to 'testing::internal::g_linked_ptr_mutex' +/usr/include/gtest/internal/gtest-port.h:2073: error: undefined reference to 'testing::internal::GTestLog::GTestLog(testing::internal::GTestLogSeverity, char const*, int)' +/usr/include/gtest/internal/gtest-port.h:2073: error: undefined reference to 'testing::internal::GTestLog::~GTestLog()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:103: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:103: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:103: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:103: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:37: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:37: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:37: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:37: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:88: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:88: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:88: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:88: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:91: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:91: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:91: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:91: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:92: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:92: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:92: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:92: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:93: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:93: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:93: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/collator_test.cc:93: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:29: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:29: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:29: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:29: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:34: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:34: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:34: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:34: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:38: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:38: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:38: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:38: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:43: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:43: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:43: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:43: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:47: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:47: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:47: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:52: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:52: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:52: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/internal/voxel_filter_test.cc:52: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:40: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:40: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:40: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:40: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:54: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:54: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:54: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:54: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:65: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:65: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:65: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:65: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:65: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:73: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:73: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:73: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:73: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:73: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:79: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:79: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:79: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:79: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:82: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:91: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:91: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:91: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:97: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:97: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:97: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:97: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/map_by_time_test.cc:97: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:28: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:28: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:28: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:28: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:40: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:40: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:40: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:40: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:46: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:46: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:46: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:46: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:46: error: undefined reference to 'testing::internal::DoubleNearPredFormat(char const*, char const*, char const*, double, double, double)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:47: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:47: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:47: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:47: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:47: error: undefined reference to 'testing::internal::DoubleNearPredFormat(char const*, char const*, char const*, double, double, double)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:48: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:48: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:48: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:48: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:48: error: undefined reference to 'testing::internal::DoubleNearPredFormat(char const*, char const*, char const*, double, double, double)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:49: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:49: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:49: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:49: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/sensor/point_cloud_test.cc:49: error: undefined reference to 'testing::internal::DoubleNearPredFormat(char const*, char const*, char const*, double, double, double)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:29: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:29: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:80: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:80: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:80: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:80: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:81: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:81: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:81: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:81: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:82: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:82: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:82: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:82: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:84: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:84: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:84: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test.cc:84: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/rigid_transform_test_helpers.h:42: error: undefined reference to 'testing::internal::FormatMatcherDescription(bool, char const*, std::vector, std::allocator >, std::allocator, std::allocator > > > const&)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:29: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:29: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:29: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:29: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:38: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:39: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:40: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:40: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:40: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:40: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:40: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:41: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:41: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:41: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:41: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:41: error: undefined reference to 'testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:42: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:42: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:42: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:42: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:43: error: undefined reference to 'testing::Message::Message()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:43: error: undefined reference to 'testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:43: error: undefined reference to 'testing::internal::AssertHelper::operator=(testing::Message const&) const' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:43: error: undefined reference to 'testing::internal::AssertHelper::~AssertHelper()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:46: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:46: error: undefined reference to 'testing::Test::~Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:46: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:46: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:65: error: undefined reference to 'testing::Test::Test()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:65: error: undefined reference to 'testing::internal::GetTestTypeId()' +/usr/src/debug/cartographer/1.0.0-1-r0/git/cartographer/transform/transform_interpolation_buffer_test.cc:65: error: undefined reference to 'testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)' +/usr/src/debug/gtest/1.8.1-r0/git/googlemock/src/gmock_main.cc:52: error: undefined reference to 'testing::InitGoogleMock(int*, char**)' +/usr/src/debug/gtest/1.8.1-r0/git/googletest/include/gtest/gtest.h:2341: error: undefined reference to 'testing::UnitTest::GetInstance()' +/usr/src/debug/gtest/1.8.1-r0/git/googletest/include/gtest/gtest.h:2341: error: undefined reference to 'testing::UnitTest::Run()' +CMakeFiles/cartographer.sensor.internal.collator_test.dir/cartographer/sensor/internal/collator_test.cc.o:collator_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::Collator_OrderingMultipleTrajectories_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.internal.collator_test.dir/cartographer/sensor/internal/collator_test.cc.o:collator_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::Collator_Ordering_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.internal.collator_test.dir/cartographer/sensor/internal/collator_test.cc.o:collator_test.cc:vtable for cartographer::sensor::(anonymous namespace)::Collator_OrderingMultipleTrajectories_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.internal.collator_test.dir/cartographer/sensor/internal/collator_test.cc.o:collator_test.cc:vtable for cartographer::sensor::(anonymous namespace)::Collator_OrderingMultipleTrajectories_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.internal.collator_test.dir/cartographer/sensor/internal/collator_test.cc.o:collator_test.cc:vtable for cartographer::sensor::(anonymous namespace)::Collator_Ordering_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.internal.collator_test.dir/cartographer/sensor/internal/collator_test.cc.o:collator_test.cc:vtable for cartographer::sensor::(anonymous namespace)::Collator_Ordering_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_HandlesLargeCoordinates_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_IgnoresTime_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_ReturnsTheFirstPointInEachVoxel_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:vtable for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_HandlesLargeCoordinates_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:vtable for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_HandlesLargeCoordinates_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:vtable for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_IgnoresTime_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:vtable for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_IgnoresTime_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:vtable for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_ReturnsTheFirstPointInEachVoxel_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/cartographer/sensor/internal/voxel_filter_test.cc.o:voxel_filter_test.cc:vtable for cartographer::sensor::(anonymous namespace)::VoxelFilterTest_ReturnsTheFirstPointInEachVoxel_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::MapByTimeTest_AppendAndViewTrajectory_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::MapByTimeTest_TrimmingDoesNotCreateTrajectory_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::MapByTimeTest_Trimming_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:vtable for cartographer::sensor::(anonymous namespace)::MapByTimeTest_AppendAndViewTrajectory_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:vtable for cartographer::sensor::(anonymous namespace)::MapByTimeTest_AppendAndViewTrajectory_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:vtable for cartographer::sensor::(anonymous namespace)::MapByTimeTest_TrimmingDoesNotCreateTrajectory_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:vtable for cartographer::sensor::(anonymous namespace)::MapByTimeTest_TrimmingDoesNotCreateTrajectory_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:vtable for cartographer::sensor::(anonymous namespace)::MapByTimeTest_Trimming_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.map_by_time_test.dir/cartographer/sensor/map_by_time_test.cc.o:map_by_time_test.cc:vtable for cartographer::sensor::(anonymous namespace)::MapByTimeTest_Trimming_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.point_cloud_test.dir/cartographer/sensor/point_cloud_test.cc.o:point_cloud_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::PointCloudTest_TransformPointCloud_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.point_cloud_test.dir/cartographer/sensor/point_cloud_test.cc.o:point_cloud_test.cc:typeinfo for cartographer::sensor::(anonymous namespace)::PointCloudTest_TransformTimedPointCloud_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.sensor.point_cloud_test.dir/cartographer/sensor/point_cloud_test.cc.o:point_cloud_test.cc:vtable for cartographer::sensor::(anonymous namespace)::PointCloudTest_TransformPointCloud_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.point_cloud_test.dir/cartographer/sensor/point_cloud_test.cc.o:point_cloud_test.cc:vtable for cartographer::sensor::(anonymous namespace)::PointCloudTest_TransformPointCloud_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.sensor.point_cloud_test.dir/cartographer/sensor/point_cloud_test.cc.o:point_cloud_test.cc:vtable for cartographer::sensor::(anonymous namespace)::PointCloudTest_TransformTimedPointCloud_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.sensor.point_cloud_test.dir/cartographer/sensor/point_cloud_test.cc.o:point_cloud_test.cc:vtable for cartographer::sensor::(anonymous namespace)::PointCloudTest_TransformTimedPointCloud_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:typeinfo for cartographer::transform::(anonymous namespace)::RigidTransformTest: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:typeinfo for cartographer::transform::(anonymous namespace)::RigidTransformTest: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest_Identity2DTest_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest_Identity2DTest_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest_Identity3DTest_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest_Identity3DTest_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest_Inverse2DTest_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.rigid_transform_test.dir/cartographer/transform/rigid_transform_test.cc.o:rigid_transform_test.cc:vtable for cartographer::transform::(anonymous namespace)::RigidTransformTest_Inverse2DTest_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:typeinfo for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testHas_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:typeinfo for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testLookupSingleTransform_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:typeinfo for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testLookup_Test: error: undefined reference to 'typeinfo for testing::Test' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:vtable for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testHas_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:vtable for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testHas_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:vtable for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testLookupSingleTransform_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:vtable for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testLookupSingleTransform_Test: error: undefined reference to 'testing::Test::TearDown()' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:vtable for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testLookup_Test: error: undefined reference to 'testing::Test::SetUp()' +CMakeFiles/cartographer.transform.transform_interpolation_buffer_test.dir/cartographer/transform/transform_interpolation_buffer_test.cc.o:transform_interpolation_buffer_test.cc:vtable for cartographer::transform::(anonymous namespace)::TransformInterpolationBufferTest_testLookup_Test: error: undefined reference to 'testing::Test::TearDown()' +collect2: error: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + cmake/modules/FindGMock.cmake | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/cmake/modules/FindGMock.cmake b/cmake/modules/FindGMock.cmake +index c663e98..9afa068 100644 +--- a/cmake/modules/FindGMock.cmake ++++ b/cmake/modules/FindGMock.cmake +@@ -30,6 +30,14 @@ if(NOT GMock_FOUND) + PATHS + /usr + ) ++ find_library(GTEST_LIBRARIES ++ NAMES gtest ++ PATH_SUFFIXES lib ++ ) ++ find_library(GMOCK_A_LIBRARIES ++ NAMES gmock ++ PATH_SUFFIXES lib ++ ) + + # Find system-wide gtest header. + find_path(GTEST_INCLUDE_DIRS gtest/gtest.h +@@ -65,7 +73,7 @@ if(NOT GMock_FOUND) + + # System-wide installed gmock library might require pthreads. + find_package(Threads REQUIRED) +- list(APPEND GMOCK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) ++ list(APPEND GMOCK_LIBRARIES ${GMOCK_A_LIBRARIES} ${GTEST_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + endif() + + include(FindPackageHandleStandardArgs) diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0002-CmakeLists.txt-set-C-version-to-C-14.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0002-CmakeLists.txt-set-C-version-to-C-14.patch new file mode 100644 index 00000000000..c738553c346 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0002-CmakeLists.txt-set-C-version-to-C-14.patch @@ -0,0 +1,39 @@ +From 12d4c2e941d85a085b98a3e19b68d263ff8a5dd5 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 17 Feb 2021 17:30:59 +0000 +Subject: [PATCH] CmakeLists.txt: set C++ version to C++14 + +* ceres requires a fully C++14-compliant compiler since version 2.0: + https://github.com/ceres-solver/ceres-solver/commit/7ef83e07592ead74eeacc227b642df1959d2a246 + + without it, cartographer build fails with a lot of errors like: + error: 'integer_sequence' is not a member of 'std' + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cf040c6..ce09583 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,6 +29,7 @@ google_initialize_cartographer_project() + google_enable_testing() + + find_package(Boost REQUIRED COMPONENTS iostreams) ++set(CMAKE_CXX_STANDARD 14) + find_package(Ceres REQUIRED COMPONENTS SuiteSparse) + find_package(Eigen3 REQUIRED) + find_package(LuaGoogle REQUIRED) +@@ -235,7 +236,7 @@ if(${BUILD_PROMETHEUS}) + target_compile_definitions(${PROJECT_NAME} PUBLIC USE_PROMETHEUS=1) + endif() + +-set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") ++set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS} ${CERES_CXX_FLAGS}") + set_target_properties(${PROJECT_NAME} PROPERTIES + COMPILE_FLAGS ${TARGET_COMPILE_FLAGS}) + diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0003-proto_stream_deserializer_test.cc-fix-build-with-C-1.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0003-proto_stream_deserializer_test.cc-fix-build-with-C-1.patch new file mode 100644 index 00000000000..3dd04e33b42 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0003-proto_stream_deserializer_test.cc-fix-build-with-C-1.patch @@ -0,0 +1,34 @@ +From 9085619d285f328e1929113e442c9a1b5bdb0f19 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 17 Feb 2021 17:49:35 +0000 +Subject: [PATCH] proto_stream_deserializer_test.cc: fix build with C++14 + +* fixes: + cartographer/1.0.9001-1-r0/git/cartographer/io/proto_stream_deserializer_test.cc: In member function 'void cartographer::io::{anonymous}::ProtoStreamDeserializerTest::InitializeProtoReader(const string&, const std::initializer_list >&)': + cartographer/1.0.9001-1-r0/git/cartographer/io/proto_stream_deserializer_test.cc:72:76: error: call of overloaded 'make_unique(std::remove_reference >&>::type)' is ambiguous + 72 | reader_ = make_unique(std::move(proto_queue)); + | ^ +* it's changed from common to absl in newer cartographer with: + https://github.com/cartographer-project/cartographer/commit/5b44305ea30e6af0d1b1edb50e758881f3330c07 + but before that we can use this simple work around + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + cartographer/io/proto_stream_deserializer_test.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cartographer/io/proto_stream_deserializer_test.cc b/cartographer/io/proto_stream_deserializer_test.cc +index 6ba5c43..b851533 100644 +--- a/cartographer/io/proto_stream_deserializer_test.cc ++++ b/cartographer/io/proto_stream_deserializer_test.cc +@@ -69,7 +69,7 @@ class ProtoStreamDeserializerTest : public ::testing::Test { + proto_queue.emplace(make_unique( + ProtoFromStringOrDie(data_textpb))); + } +- reader_ = make_unique(std::move(proto_queue)); ++ reader_ = common::make_unique(std::move(proto_queue)); + } + + std::unique_ptr reader_; diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0004-CMakeLists.txt-don-t-include-CERES_INCLUDE_DIRS-if-i.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0004-CMakeLists.txt-don-t-include-CERES_INCLUDE_DIRS-if-i.patch new file mode 100644 index 00000000000..1e468009eaa --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/0004-CMakeLists.txt-don-t-include-CERES_INCLUDE_DIRS-if-i.patch @@ -0,0 +1,80 @@ +From e19bf2c9d85c3fb76275a7223a3444f0e79a4c54 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sun, 21 Feb 2021 07:27:40 -0800 +Subject: [PATCH] CMakeLists.txt: don't include CERES_INCLUDE_DIRS if it's + empty or not set + +* possibly partial fix for: + https://github.com/cartographer-project/cartographer/issues/1688 + +* ceres documentation says: + http://ceres-solver.org/installation.html#using-ceres-with-cmake + Note + You do not need to call include_directories(${CERES_INCLUDE_DIRS}) + as the exported Ceres CMake target already contains the definitions + of its public include directories which will be automatically + included by CMake when compiling a target that links against Ceres. + In fact, since v2.0 CERES_INCLUDE_DIRS is not even set. + +* see ceres-solver change: + https://ceres-solver.googlesource.com/ceres-solver/+/2166bad133d279ec28008f1df8b4d90a7023f531 + +* otherwise its source directory ends in INTERFACE_INCLUDE_DIRECTORIES/INTERFACE_SYSTEM_INCLUDE_DIRECTORIES + variables like this: + +set_target_properties(cartographer PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "FIXMESTAGINGDIRTARGET/usr/include/eigen3;/jenkins/mjansa/build/ros/ros1-melodic-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer/1.0.0-r0/git/;FIXMESTAGINGDIRTARGET/usr/include;FIXMESTAGINGDIRTARGET/usr/include;FIXMESTAGINGDIRTARGET/usr/include/cairo;FIXMESTAGINGDIRTARGET/usr/include/glib-2.0;FIXMESTAGINGDIRTARGET/usr/lib/glib-2.0/include;FIXMESTAGINGDIRTARGET/usr/include/pixman-1;FIXMESTAGINGDIRTARGET/usr/include/uuid;FIXMESTAGINGDIRTARGET/usr/include/freetype2;FIXMESTAGINGDIRTARGET/usr/include/libpng16;FIXMESTAGINGDIRTARGET/usr/include;${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "Ceres::ceres;FIXMESTAGINGDIRTARGET/usr/lib/liblua.a;FIXMESTAGINGDIRTARGET/usr/lib/libm.so;Boost::iostreams;glog;gflags;cairo;FIXMESTAGINGDIRTARGET/usr/lib/libprotobuf.so;pthread" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "FIXMESTAGINGDIRTARGET/usr/include/eigen3;/jenkins/mjansa/build/ros/ros1-melodic-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer/1.0.0-r0/git/;FIXMESTAGINGDIRTARGET/usr/include;FIXMESTAGINGDIRTARGET/usr/include;FIXMESTAGINGDIRTARGET/usr/include/cairo;FIXMESTAGINGDIRTARGET/usr/include/glib-2.0;FIXMESTAGINGDIRTARGET/usr/lib/glib-2.0/include;FIXMESTAGINGDIRTARGET/usr/include/pixman-1;FIXMESTAGINGDIRTARGET/usr/include/uuid;FIXMESTAGINGDIRTARGET/usr/include/freetype2;FIXMESTAGINGDIRTARGET/usr/include/libpng16;FIXMESTAGINGDIRTARGET/usr/include" +) + +* otherwise the paths to cartographer WORKDIR end in CartographerTargets.cmake + INTERFACE_INCLUDE_DIRECTORIES, INTERFACE_SYSTEM_INCLUDE_DIRECTORIES variables + and cartographer-ros fails to configure if cartographer WORKDIR was already + removed (e.g. when cartographer used from sstate or cleaned with rm_work) + + ./recipe-sysroot/usr/share/cartographer/cmake/CartographerTargets.cmake: INTERFACE_INCLUDE_DIRECTORIES "/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/eigen3;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer/1.0.0-r0/git/;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/cairo;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/glib-2.0;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/lib/glib-2.0/include;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/pixman-1;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/uuid;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/freetype2;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/libpng16;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include;${_IMPORT_PREFIX}/include" + + ./recipe-sysroot/usr/share/cartographer/cmake/CartographerTargets.cmake: INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/eigen3;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer/1.0.0-r0/git/;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/cairo;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/glib-2.0;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/lib/glib-2.0/include;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/pixman-1;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/uuid;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/freetype2;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include/libpng16;/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer-ros/1.0.0-1-r0/recipe-sysroot/usr/include" + +* fixes cartographer-ros do_configure error: +-- Configuring done +CMake Error in CMakeLists.txt: + Imported target "cartographer" includes non-existent path + + "/jenkins/mjansa/build/ros/ros2-rolling-hardknott/tmp-glibc/work/core2-64-oe-linux/cartographer/1.0.0-r0/git/" + + in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: + + * The path was deleted, renamed, or moved to another location. + + * An install or uninstall procedure did not complete successfully. + + * The installation package was faulty and references files it does not + provide. + +Upstream-Status: Submitted [https://github.com/cartographer-project/cartographer/pull/1808] +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 42f23fc8..db8edfd8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -204,8 +204,12 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC + "${EIGEN3_INCLUDE_DIR}") + target_link_libraries(${PROJECT_NAME} PUBLIC ${EIGEN3_LIBRARIES}) + +-target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC +- "${CERES_INCLUDE_DIRS}") ++if (CERES_INCLUDE_DIRS AND NOT "${CERES_INCLUDE_DIRS}" STREQUAL "") ++ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC ++ "${CERES_INCLUDE_DIRS}") ++else() ++ message(STATUS "Not including CERES_INCLUDE_DIRS, because it's not set or empty, see http://ceres-solver.org/installation.html#using-ceres-with-cmake Ceres: CERES_INCLUDE_DIRS: '${CERES_INCLUDE_DIRS}' CERES_INCLUDE_DIR '${CERES_INCLUDE_DIR}'") ++endif() + target_link_libraries(${PROJECT_NAME} PUBLIC ${CERES_LIBRARIES}) + + target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/cmake.dont.add.Werror.uninitialized.patch b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/cmake.dont.add.Werror.uninitialized.patch new file mode 100644 index 00000000000..d3785dec3ae --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer/cmake.dont.add.Werror.uninitialized.patch @@ -0,0 +1,23 @@ +Otherwise it fails with older Yocto with following error (doesn't fail with 3.2 Gatesgarth): + +| /jenkins/home/workspace/jansa/ros2-dashing-thud/ros2-dashing-thud/tmp-glibc/work/aarch64-oe-linux/cartographer/1.0.0-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/DenseStorage.h: In member function 'virtual void cartographer::sensor::{anonymous}::Collator_Ordering_Test::TestBody()': +| /jenkins/home/workspace/jansa/ros2-dashing-thud/ros2-dashing-thud/tmp-glibc/work/aarch64-oe-linux/cartographer/1.0.0-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/DenseStorage.h: In member function 'virtual void cartographer::sensor::{anonymous}::Collator_OrderingMultipleTrajectories_Test::TestBody()': +| /jenkins/home/workspace/jansa/ros2-dashing-thud/ros2-dashing-thud/tmp-glibc/work/aarch64-oe-linux/cartographer/1.0.0-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/DenseStorage.h:194:66: error: '*((void*)(&)+8).Eigen::DenseStorage::m_data' may be used uninitialized in this function [-Werror=maybe-uninitialized] +| DenseStorage(const DenseStorage& other) : m_data(other.m_data) { +| ^ +.... +| cc1plus: some warnings being treated as errors + +Upstream-Status: Pending + +diff -uNr cartographer-release-release-melodic-cartographer-1.0.0-0/cmake/functions.cmake cartographer-release-release-melodic-cartographer-1.0.0-0.new/cmake/functions.cmake +--- cartographer-release-release-melodic-cartographer-1.0.0-0/cmake/functions.cmake 2018-06-01 12:10:29.000000000 +0000 ++++ cartographer-release-release-melodic-cartographer-1.0.0-0.new/cmake/functions.cmake 2019-09-07 20:28:53.786899683 +0000 +@@ -83,7 +83,6 @@ + google_add_flag(GOOG_CXX_FLAGS "-Werror=reorder") + google_add_flag(GOOG_CXX_FLAGS "-Werror=return-type") + google_add_flag(GOOG_CXX_FLAGS "-Werror=switch") +- google_add_flag(GOOG_CXX_FLAGS "-Werror=uninitialized") + + if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "") + set(CMAKE_BUILD_TYPE Release) diff --git a/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer_1.0.9001-2.bbappend b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer_1.0.9001-2.bbappend new file mode 100644 index 00000000000..8e6de34f5da --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cartographer/cartographer_1.0.9001-2.bbappend @@ -0,0 +1,26 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += " \ + file://0001-CMakeLists.txt-link-with-dl.patch \ + file://0001-FindLuaGoogle.cmake-explicitly-link-with-dl.patch \ + file://cmake.dont.add.Werror.uninitialized.patch \ + file://0001-Fix-build-with-gtest-1.8.1.patch \ + file://0002-CmakeLists.txt-set-C-version-to-C-14.patch \ + file://0003-proto_stream_deserializer_test.cc-fix-build-with-C-1.patch \ + file://0004-CMakeLists.txt-don-t-include-CERES_INCLUDE_DIRS-if-i.patch \ +" + +# This is used only to generate documentation so it should +# be native and needs quite a lot of native python dependencies +ROS_BUILD_DEPENDS_remove = "${PYTHON_PN}-sphinx python-sphinx" + +DEPENDS += " \ + protobuf-native \ +" + +# Otherwise linking with liblua.a fails with undefined references to dlsym, dlopen, dlerror, dlclose +CXXFLAGS += "-fuse-ld=gold" + +# Doesn't need runtime dependency on ceres-solver +ROS_EXEC_DEPENDS_remove = "ceres-solver" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/actionlib-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/actionlib-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/actionlib-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/diagnostic-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/diagnostic-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/diagnostic-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/geometry-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/geometry-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/geometry-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/nav-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/nav-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/nav-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/sensor-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/sensor-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/sensor-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/shape-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/shape-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/shape-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/std-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/std-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/std-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/std-srvs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/std-srvs_2.2.2-1.bbappend new file mode 100644 index 00000000000..7c58570b4cc --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/std-srvs_2.2.2-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/stereo-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/stereo-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/stereo-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/trajectory-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/trajectory-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/trajectory-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/common-interfaces/visualization-msgs_2.2.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/common-interfaces/visualization-msgs_2.2.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/common-interfaces/visualization-msgs_2.2.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/control-msgs/control-msgs_2.5.0-3.bbappend b/meta-ros2-galactic/recipes-bbappends/control-msgs/control-msgs_2.5.0-3.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/control-msgs/control-msgs_2.5.0-3.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/cyclonedds/cyclonedds/0001-ddsconf-install-ddsconf-to-be-used-in-target-cyclone.patch b/meta-ros2-galactic/recipes-bbappends/cyclonedds/cyclonedds/0001-ddsconf-install-ddsconf-to-be-used-in-target-cyclone.patch new file mode 100644 index 00000000000..921d3220c62 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cyclonedds/cyclonedds/0001-ddsconf-install-ddsconf-to-be-used-in-target-cyclone.patch @@ -0,0 +1,33 @@ +From 742fed824fcea547cabb70fa54dd9344d26c5e80 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 16 Apr 2021 05:14:03 -0700 +Subject: [PATCH] ddsconf: install ddsconf to be used in target cyclonedds + build + +* it is built by cyclonedds-native, but not installed so target cyclonedds was still failing with: + -- Found OpenSSL: /jenkins/mjansa/build/ros/webos-rolling-hardknott/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/cyclonedds/0.8.0-3-r0/recipe-sysroot/usr/lib/libcrypto.so (found version "1.1.1k") + -- Building with OpenSSL support + CMake Error at src/tools/ddsconf/CMakeLists.txt:13 (find_program): + Could not find DDSCONF_EXECUTABLE using the following names: ddsconf + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + src/tools/ddsconf/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/tools/ddsconf/CMakeLists.txt b/src/tools/ddsconf/CMakeLists.txt +index b11783a..9be5eb9 100644 +--- a/src/tools/ddsconf/CMakeLists.txt ++++ b/src/tools/ddsconf/CMakeLists.txt +@@ -37,4 +37,9 @@ else() + "${CMAKE_CURRENT_BINARY_DIR}/include" + $> + $) ++ install( ++ TARGETS ddsconf ++ DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ COMPONENT dev ++ ) + endif() diff --git a/meta-ros2-galactic/recipes-bbappends/cyclonedds/cyclonedds_0.8.0-3.bbappend b/meta-ros2-galactic/recipes-bbappends/cyclonedds/cyclonedds_0.8.0-3.bbappend new file mode 100644 index 00000000000..b79ae4cd8fa --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/cyclonedds/cyclonedds_0.8.0-3.bbappend @@ -0,0 +1,13 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +# IDLC depends on maven and we don't want meta-ros to depend on meta-java just for that +EXTRA_OECMAKE += "-DBUILD_IDLC=OFF" + +FILES_${PN}-dev += "${datadir}/CycloneDDS" + +inherit ros_insane_dev_so + +DEPENDS += "cyclonedds-native" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-ddsconf-install-ddsconf-to-be-used-in-target-cyclone.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/demos/action-tutorials-interfaces_0.14.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/demos/action-tutorials-interfaces_0.14.0-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/demos/action-tutorials-interfaces_0.14.0-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/demos/logging-demo_0.14.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/demos/logging-demo_0.14.0-1.bbappend new file mode 100644 index 00000000000..7ac3d61a137 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/demos/logging-demo_0.14.0-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/demos/pendulum-msgs_0.14.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/demos/pendulum-msgs_0.14.0-1.bbappend new file mode 100644 index 00000000000..89a99ade4ea --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/demos/pendulum-msgs_0.14.0-1.bbappend @@ -0,0 +1,20 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-generator-cpp-native \ + rosidl-generator-py-native \ + rosidl-typesupport-cpp-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/example-interfaces/example-interfaces_0.9.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/example-interfaces/example-interfaces_0.9.2-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/example-interfaces/example-interfaces_0.9.2-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/fastcdr/fastcdr_%.bbappend b/meta-ros2-galactic/recipes-bbappends/fastcdr/fastcdr_%.bbappend new file mode 100644 index 00000000000..54e3368e181 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fastcdr/fastcdr_%.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/fastrtps/fastrtps/0001-Add-missing-operators-to-TypeSupport-1912.patch b/meta-ros2-galactic/recipes-bbappends/fastrtps/fastrtps/0001-Add-missing-operators-to-TypeSupport-1912.patch new file mode 100644 index 00000000000..8ea299f25f1 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fastrtps/fastrtps/0001-Add-missing-operators-to-TypeSupport-1912.patch @@ -0,0 +1,66 @@ +From c717fe60e862b81a7aa3ed46e17114c36aafcd10 Mon Sep 17 00:00:00 2001 +From: Miguel Company +Date: Tue, 13 Apr 2021 15:02:54 +0200 +Subject: [PATCH] Add missing operators to TypeSupport (#1912) + +Upstream-Status: Backport [v2.3.01 https://github.com/eProsima/Fast-DDS/commit/d05d0cf2a78b8a1588e9f2d712e200fde62554dd] + +Signed-off-by: Miguel Company +Signed-off-by: Martin Jansa +--- + include/fastdds/dds/topic/TypeSupport.hpp | 32 ++++++++++++++++------- + 1 file changed, 23 insertions(+), 9 deletions(-) + +diff --git a/include/fastdds/dds/topic/TypeSupport.hpp b/include/fastdds/dds/topic/TypeSupport.hpp +index a17c503b..12bfd6cf 100644 +--- a/include/fastdds/dds/topic/TypeSupport.hpp ++++ b/include/fastdds/dds/topic/TypeSupport.hpp +@@ -57,25 +57,39 @@ public: + using Base::operator ->; + using Base::operator *; + using Base::operator bool; +- using Base::operator =; + + /** + * @brief Constructor + */ +- RTPS_DllAPI TypeSupport() +- : std::shared_ptr(nullptr) +- { +- } ++ RTPS_DllAPI TypeSupport() noexcept = default; + + /** + * @brief Copy Constructor + * @param type Another instance of TypeSupport + */ + RTPS_DllAPI TypeSupport( +- const TypeSupport& type) +- : std::shared_ptr(type) +- { +- } ++ const TypeSupport& type) noexcept = default; ++ ++ /** ++ * @brief Move Constructor ++ * @param type Another instance of TypeSupport ++ */ ++ RTPS_DllAPI TypeSupport( ++ TypeSupport&& type) noexcept = default; ++ ++ /** ++ * @brief Copy Assignment ++ * @param type Another instance of TypeSupport ++ */ ++ RTPS_DllAPI TypeSupport& operator = ( ++ const TypeSupport& type) noexcept = default; ++ ++ /** ++ * @brief Move Assignment ++ * @param type Another instance of TypeSupport ++ */ ++ RTPS_DllAPI TypeSupport& operator = ( ++ TypeSupport&& type) noexcept = default; + + /*! + * \brief TypeSupport constructor that receives a TopicDataType pointer. diff --git a/meta-ros2-galactic/recipes-bbappends/fastrtps/fastrtps_%.bbappend b/meta-ros2-galactic/recipes-bbappends/fastrtps/fastrtps_%.bbappend new file mode 100644 index 00000000000..bc6894add8d --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fastrtps/fastrtps_%.bbappend @@ -0,0 +1,18 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +inherit ros_insane_dev_so + +FILES_${PN} += "${prefix}/tools" + +# rosidl-typesupport-fastrtps-cpp/1.0.2-1-r0/recipe-sysroot/usr/share/fastrtps/cmake/fast-discovery-server-targets.cmake:70 +# expects the binary to exist: +# The imported target "fastdds::fast-discovery-server" references the file +# "TOPDIR/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/rosidl-typesupport-fastrtps-cpp/1.0.2-1-r0/recipe-sysroot/usr/bin/fast-discovery-server-1.0.0" +# OE doesn't stage ${bindir} for target recipes, but in this case the fastdds::fast-discovery-server isn't +# being called during the cross-build, so we can include it just to keep CMake happy +sysroot_stage_all_append() { + sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} +} + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-Add-missing-operators-to-TypeSupport-1912.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/filters/filters/0001-filter_base.hpp-use-unsigned-long-instead-of-size_t-.patch b/meta-ros2-galactic/recipes-bbappends/filters/filters/0001-filter_base.hpp-use-unsigned-long-instead-of-size_t-.patch new file mode 100644 index 00000000000..51ab036cd36 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/filters/filters/0001-filter_base.hpp-use-unsigned-long-instead-of-size_t-.patch @@ -0,0 +1,43 @@ +From b5ec49990f0063748284987bfbf87b7cdeec0d33 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 2 Jul 2020 14:21:01 +0000 +Subject: [PATCH] filter_base.hpp: use unsigned long instead of size_t in + getParam 2nd parameter + +* it was added in: + https://github.com/ros/filters/commit/25c7d309576d049e95e2087608bfd8138b7f36d8 + but unfortunately on 32bit systems size_t could be the same as unsigned int already + defined above and then the build fails with: + +| filters/2.0.0-1-r0/git/include/filters/filter_base.hpp:219:8: error: 'bool filters::FilterBase::getParam(const string&, size_t&)' cannot be overloaded with 'bool filters::FilterBase::getParam(const string&, unsigned int&)' +| 219 | bool getParam(const std::string & name, size_t & value) +| | ^~~~~~~~ +| filters/2.0.0-1-r0/git/include/filters/filter_base.hpp:201:8: note: previous declaration 'bool filters::FilterBase::getParam(const string&, unsigned int&)' +| 201 | bool getParam(const std::string & name, unsigned int & value) +| | ^~~~~~ + +Upstream-Status: Submitted [https://github.com/ros/filters/pull/39] + +Signed-off-by: Martin Jansa +--- + include/filters/filter_base.hpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/filters/filter_base.hpp b/include/filters/filter_base.hpp +index a31739d..a2b0827 100644 +--- a/include/filters/filter_base.hpp ++++ b/include/filters/filter_base.hpp +@@ -212,11 +212,11 @@ protected: + } + + /** +- * \brief Get a filter parameter as a size_t ++ * \brief Get a filter parameter as an unsigned long + * \param name The name of the parameter + * \param value The int to set with the value + * \return Whether or not the parameter of name/type was set */ +- bool getParam(const std::string & name, size_t & value) ++ bool getParam(const std::string & name, unsigned long & value) + { + int signed_value; + if (!getParam(name, signed_value)) { diff --git a/meta-ros2-galactic/recipes-bbappends/filters/filters_2.0.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/filters/filters_2.0.0-2.bbappend new file mode 100644 index 00000000000..ca7d88444ab --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/filters/filters_2.0.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += " \ + file://0001-filter_base.hpp-use-unsigned-long-instead-of-size_t-.patch \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/fmi-adapter/fmi-adapter-examples_2.1.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/fmi-adapter/fmi-adapter-examples_2.1.0-1.bbappend new file mode 100644 index 00000000000..946a1e5ab87 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fmi-adapter/fmi-adapter-examples_2.1.0-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# backport equivalent of following changes: +# dashing: https://github.com/ros/rosdistro/commit/e27c2fdadc560e6ecf653d73d01d3cff10bda49e +# foxy: https://github.com/ros/rosdistro/commit/ef8ab3a3d8ca3b9de81807050f22ec4a300fb6f2 +SRC_URI = "git://github.com/ros2-gbp/fmi_adapter-release;${ROS_BRANCH};protocol=https" diff --git a/meta-ros2-galactic/recipes-bbappends/fmi-adapter/fmi-adapter_2.1.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/fmi-adapter/fmi-adapter_2.1.0-1.bbappend new file mode 100644 index 00000000000..946a1e5ab87 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fmi-adapter/fmi-adapter_2.1.0-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# backport equivalent of following changes: +# dashing: https://github.com/ros/rosdistro/commit/e27c2fdadc560e6ecf653d73d01d3cff10bda49e +# foxy: https://github.com/ros/rosdistro/commit/ef8ab3a3d8ca3b9de81807050f22ec4a300fb6f2 +SRC_URI = "git://github.com/ros2-gbp/fmi_adapter-release;${ROS_BRANCH};protocol=https" diff --git a/meta-ros2-galactic/recipes-bbappends/fmilibrary-vendor/fmilibrary-vendor/0001-CMakeLists.txt-just-depend-on-system-fmilibrary-with.patch b/meta-ros2-galactic/recipes-bbappends/fmilibrary-vendor/fmilibrary-vendor/0001-CMakeLists.txt-just-depend-on-system-fmilibrary-with.patch new file mode 100644 index 00000000000..3f4a6b9a7a6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fmilibrary-vendor/fmilibrary-vendor/0001-CMakeLists.txt-just-depend-on-system-fmilibrary-with.patch @@ -0,0 +1,50 @@ +From 33e51b8740b71de2f2d0b773b28fb7b771938558 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 29 Nov 2019 19:03:46 -0800 +Subject: [PATCH] CMakeLists.txt: just depend on system fmilibrary without + trying to build it + +* -DFMILIB_BUILD_TESTS=OFF is also needed when cross-compiling + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 23 +++++++---------------- + 1 file changed, 7 insertions(+), 16 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index df8d628..cc59cde 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,23 +3,14 @@ project(fmilibrary_vendor) + + find_package(ament_cmake REQUIRED) + +-include(ExternalProject) +-set(fmilibrary_version 2.2.3) +-externalproject_add(FMILibraryProject-${fmilibrary_version} +- GIT_REPOSITORY https://github.com/modelon-community/fmi-library.git +- GIT_TAG ${fmilibrary_version} +- GIT_CONFIG advice.detachedHead=false +- # Suppress git update due to https://gitlab.kitware.com/cmake/cmake/-/issues/16419 +- UPDATE_COMMAND "" +- TIMEOUT 60 +-) +-externalproject_get_property(FMILibraryProject-${fmilibrary_version} INSTALL_DIR) +-set(FMILibraryProject_INCLUDE_DIR "${INSTALL_DIR}/src/install/include") +-set(FMILibraryProject_LIB_DIR "${INSTALL_DIR}/src/install/lib") ++#find_package(PkgConfig REQUIRED) ++#pkg_check_modules(FMILIBRARY REQUIRED fmilibrary) + +-install(DIRECTORY ${FMILibraryProject_INCLUDE_DIR}/ DESTINATION include) +-install(FILES ${FMILibraryProject_LIB_DIR}/libfmilib.a DESTINATION lib) +-install(FILES ${FMILibraryProject_LIB_DIR}/libfmilib_shared.so DESTINATION lib) ++#if(FMILIBRARY_FOUND) ++# message(STATUS "Found fmilibrary ${FMILIBRARY_VERSION}") ++#else() ++# message(FATAL_ERROR "fmilibrary not found -- missing from DEPENDS?") ++#endif() + + ament_export_include_directories(include) + ament_export_libraries(libfmilib.a libfmilib_shared.so) diff --git a/meta-ros2-galactic/recipes-bbappends/fmilibrary-vendor/fmilibrary-vendor_1.0.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/fmilibrary-vendor/fmilibrary-vendor_1.0.1-1.bbappend new file mode 100644 index 00000000000..e130042df5a --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/fmilibrary-vendor/fmilibrary-vendor_1.0.1-1.bbappend @@ -0,0 +1,13 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + fmilibrary \ +" + +# backport equivalent of following changes: +# foxy: https://github.com/ros/rosdistro/commit/d6f5a0ca09f6d15c4e1ae4beb85b25447355c120 +# dashing: https://github.com/ros/rosdistro/commit/2617ae2b86d9eacee6f7b6a66472255047da87ba +SRC_URI = "git://github.com/ros2-gbp/fmilibrary_vendor-release;${ROS_BRANCH};protocol=https" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-just-depend-on-system-fmilibrary-with.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/foonathan-memory-vendor/foonathan-memory-vendor_1.0.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/foonathan-memory-vendor/foonathan-memory-vendor_1.0.0-2.bbappend new file mode 100644 index 00000000000..36787377af6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/foonathan-memory-vendor/foonathan-memory-vendor_1.0.0-2.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + foonathan-memory \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/gazebo-ros-pkgs/gazebo-msgs_3.5.2-4.bbappend b/meta-ros2-galactic/recipes-bbappends/gazebo-ros-pkgs/gazebo-msgs_3.5.2-4.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/gazebo-ros-pkgs/gazebo-msgs_3.5.2-4.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/geographic-info/geodesy_1.0.4-4.bbappend b/meta-ros2-galactic/recipes-bbappends/geographic-info/geodesy_1.0.4-4.bbappend new file mode 100644 index 00000000000..09de87cd754 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/geographic-info/geodesy_1.0.4-4.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# ROS2 is python3-only and python2 is blacklisted here +ROS_BUILD_DEPENDS_remove = "python-catkin-pkg" +ROS_BUILD_DEPENDS_append = " python3-catkin-pkg" diff --git a/meta-ros2-galactic/recipes-bbappends/geographic-info/geographic-msgs_1.0.4-4.bbappend b/meta-ros2-galactic/recipes-bbappends/geographic-info/geographic-msgs_1.0.4-4.bbappend new file mode 100644 index 00000000000..e198e444ab9 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/geographic-info/geographic-msgs_1.0.4-4.bbappend @@ -0,0 +1,15 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + python-cmake-module-native \ + python3-empy-native \ + python3-lark-parser-native \ + python3-numpy-native \ + rosidl-adapter-native \ + rosidl-generator-cpp-native \ + rosidl-generator-py-native \ + rosidl-parser-native \ + rosidl-typesupport-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/geometry2/tf2-msgs_0.17.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/geometry2/tf2-msgs_0.17.1-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/geometry2/tf2-msgs_0.17.1-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/geometry2/tf2_0.17.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/geometry2/tf2_0.17.1-1.bbappend new file mode 100644 index 00000000000..2b822cd1a5d --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/geometry2/tf2_0.17.1-1.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +DEPENDS += "rosidl-cmake" diff --git a/meta-ros2-galactic/recipes-bbappends/google-benchmark-vendor/google-benchmark-vendor/0001-CMakeLists.txt-prevent-building-google-benchmark-wit.patch b/meta-ros2-galactic/recipes-bbappends/google-benchmark-vendor/google-benchmark-vendor/0001-CMakeLists.txt-prevent-building-google-benchmark-wit.patch new file mode 100644 index 00000000000..15ac7bac6e0 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/google-benchmark-vendor/google-benchmark-vendor/0001-CMakeLists.txt-prevent-building-google-benchmark-wit.patch @@ -0,0 +1,39 @@ +From b734018ba25b272fc9e0526f599e8f76e5f4a1bd Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 30 Jul 2020 14:37:02 -0700 +Subject: [PATCH] CMakeLists.txt: prevent building google benchmark with + ExternalProject + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3b89edc..fbd8918 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,15 +73,16 @@ macro(build_benchmark) + endmacro() + + if(NOT benchmark_FOUND OR "${benchmark_VERSION}" VERSION_LESS 1.5.0) +- build_benchmark() ++ message(FATAL_ERROR "benchmark not found, missing dependency on google-benchmark or version less than 1.5.0, found ${benchmark_VERSION}") + elseif(benchmark_FOUND) + # Ubuntu Focal has a packaging bug where libbenchmark_main has no symbols, + # causing linker failures. I'm pretty sure it shouldn't be a static library. + # Details: https://bugs.launchpad.net/ubuntu/+source/benchmark/+bug/1887872 +- get_target_property(_benchmark_main_type benchmark::benchmark_main TYPE) +- if(NOT "${_benchmark_main_type}" STREQUAL "SHARED_LIBRARY") +- build_benchmark() +- endif() ++ # both libraries are static in OE build ++ # get_target_property(_benchmark_main_type benchmark::benchmark_main TYPE) ++ # if(NOT "${_benchmark_main_type}" STREQUAL "SHARED_LIBRARY") ++ # message(FATAL_ERROR "libbenchmark_main has no symbols, causing linker failures. Details: https://bugs.launchpad.net/ubuntu/+source/benchmark/+bug/1887872") ++ # endif() + endif() + + install( diff --git a/meta-ros2-galactic/recipes-bbappends/google-benchmark-vendor/google-benchmark-vendor_0.0.6-1.bbappend b/meta-ros2-galactic/recipes-bbappends/google-benchmark-vendor/google-benchmark-vendor_0.0.6-1.bbappend new file mode 100644 index 00000000000..26a6c49b522 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/google-benchmark-vendor/google-benchmark-vendor_0.0.6-1.bbappend @@ -0,0 +1,4 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-prevent-building-google-benchmark-wit.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/googletest/gmock-vendor_%.bbappend b/meta-ros2-galactic/recipes-bbappends/googletest/gmock-vendor_%.bbappend new file mode 100644 index 00000000000..38ff16b8114 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/googletest/gmock-vendor_%.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +do_install_append() { + rm -rf ${D}${prefix}/src +} diff --git a/meta-ros2-galactic/recipes-bbappends/googletest/gtest-vendor_%.bbappend b/meta-ros2-galactic/recipes-bbappends/googletest/gtest-vendor_%.bbappend new file mode 100644 index 00000000000..38ff16b8114 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/googletest/gtest-vendor_%.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +do_install_append() { + rm -rf ${D}${prefix}/src +} diff --git a/meta-ros2-galactic/recipes-bbappends/gps-umd/gps-msgs_1.0.4-1.bbappend b/meta-ros2-galactic/recipes-bbappends/gps-umd/gps-msgs_1.0.4-1.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/gps-umd/gps-msgs_1.0.4-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/grbl-msgs/grbl-msgs_0.0.2-4.bbappend b/meta-ros2-galactic/recipes-bbappends/grbl-msgs/grbl-msgs_0.0.2-4.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/grbl-msgs/grbl-msgs_0.0.2-4.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh/0001-Fix-build-with-gcc-11.patch b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh/0001-Fix-build-with-gcc-11.patch new file mode 100644 index 00000000000..95b16f09ff0 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh/0001-Fix-build-with-gcc-11.patch @@ -0,0 +1,43 @@ +From b946306384520f98d35b407f3735261770beff90 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 4 May 2021 23:59:17 -0700 +Subject: [PATCH] Fix build with gcc-11 + +* fixes: +| [1/9] Building CXX object examples/CMakeFiles/cpptoml-conversions.dir/conversions.cpp.o +| FAILED: examples/CMakeFiles/cpptoml-conversions.dir/conversions.cpp.o +| /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/recipe-sysroot-native/usr/bin/i686-webos-linux/i686-webos-linux-g++ -I/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/include -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0=/usr/src/debug/iceoryx-posh/0.99.7-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0=/usr/src/debug/iceoryx-posh/0.99.7-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/recipe-sysroot= -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/recipe-sysroot -Wall -pedantic -std=c++11 -MD -MT examples/CMakeFiles/cpptoml-conversions.dir/conversions.cpp.o -MF examples/CMakeFiles/cpptoml-conversions.dir/conversions.cpp.o.d -o examples/CMakeFiles/cpptoml-conversions.dir/conversions.cpp.o -c /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/examples/conversions.cpp +| In file included from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/examples/conversions.cpp:4: +| /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/include/cpptoml.h: In static member function 'static cpptoml::value_traits::value) && (! std::is_floating_point::type>::value)) && std::is_signed::type>::value)>::type>::value_type cpptoml::value_traits::value) && (! std::is_floating_point::type>::value)) && std::is_signed::type>::value)>::type>::construct(T&&)': +| /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/include/cpptoml.h:344:25: error: 'numeric_limits' is not a member of 'std' +| 344 | if (val < (std::numeric_limits::min)()) +| | ^~~~~~~~~~~~~~ +| /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/include/cpptoml.h:344:47: error: expected primary-expression before '>' token +| 344 | if (val < (std::numeric_limits::min)()) +| | ^ +| /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-posh/0.99.7-1-r0/build/dependencies/cpptoml/src/include/cpptoml.h:344:50: error: '::min' has not been declared; did you mean 'std::min'? +| 344 | if (val < (std::numeric_limits::min)()) +| | ^~~ +| | std::min + +Upstream-Status: Pending +Signed-off-by: Martin Jansa +--- + include/cpptoml.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/cpptoml.h b/include/cpptoml.h +index 5a00da3..9ed2314 100644 +--- a/include/cpptoml.h ++++ b/include/cpptoml.h +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + #if __cplusplus > 201103L + #define CPPTOML_DEPRECATED(reason) [[deprecated(reason)]] +-- +2.17.1 + diff --git a/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh/0001-cpptoml-fetch-with-bitbake-fetcher-instead-of-Extern.patch b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh/0001-cpptoml-fetch-with-bitbake-fetcher-instead-of-Extern.patch new file mode 100644 index 00000000000..dd096dc1ec3 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh/0001-cpptoml-fetch-with-bitbake-fetcher-instead-of-Extern.patch @@ -0,0 +1,42 @@ +From b89195dac989ad0df780e6d40411323360fa8cf7 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 4 May 2021 23:57:52 -0700 +Subject: [PATCH] cpptoml: fetch with bitbake fetcher instead of + ExternalProject_add + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + cmake/cpptoml/CMakeLists.txt | 2 +- + cmake/cpptoml/cpptoml.cmake.in | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/cmake/cpptoml/CMakeLists.txt b/cmake/cpptoml/CMakeLists.txt +index 2e950a8..91ed378 100644 +--- a/cmake/cpptoml/CMakeLists.txt ++++ b/cmake/cpptoml/CMakeLists.txt +@@ -41,7 +41,7 @@ endif() + + # set download config, source and build paths + set(DOWNLOAD_CONFIG_DIR ${CMAKE_BINARY_DIR}/dependencies/cpptoml/download) +-set(SOURCE_DIR ${CMAKE_BINARY_DIR}/dependencies/cpptoml/src) ++set(SOURCE_DIR ${CMAKE_SOURCE_DIR}/cpptoml-upstream) + set(BUILD_DIR ${CMAKE_BINARY_DIR}/dependencies/cpptoml/build) + set(INSTALL_DIR ${CMAKE_BINARY_DIR}/dependencies/install) + +diff --git a/cmake/cpptoml/cpptoml.cmake.in b/cmake/cpptoml/cpptoml.cmake.in +index be4fdf1..8bcfa11 100644 +--- a/cmake/cpptoml/cpptoml.cmake.in ++++ b/cmake/cpptoml/cpptoml.cmake.in +@@ -20,9 +20,7 @@ project(cpptoml-download NONE) + + include(ExternalProject) + ExternalProject_Add(ext_cpptoml +- GIT_REPOSITORY https://github.com/skystrife/cpptoml.git +- GIT_TAG v0.1.1 +- SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/cpptoml/src" ++ SOURCE_DIR "${CMAKE_SOURCE_DIR}/cpptoml-upstream" + BINARY_DIR "${CMAKE_BINARY_DIR}/dependencies/cpptoml/build" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" diff --git a/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh_0.99.7-1.bbappend b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh_0.99.7-1.bbappend new file mode 100644 index 00000000000..0a54936215e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-posh_0.99.7-1.bbappend @@ -0,0 +1,30 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# ERROR: iceoryx-posh-0.99.7-1-r0 do_package: QA Issue: iceoryx-posh: Files/directories were installed but not shipped in any package: +# /usr/etc +# /usr/etc/roudi_config_example.toml +# Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. +# iceoryx-posh: 2 installed and not shipped files. [installed-vs-shipped] +do_install_append () { + if [ -d ${D}${prefix}${sysconfdir} ] ; then + mv ${D}${prefix}${sysconfdir} ${D}${sysconfdir} + fi +} + +# iceoryx-binding-c/0.99.7-1-r0/recipe-sysroot/usr/lib/cmake/iceoryx_posh/iceoryx_poshTargets.cmake:109 (message): +# expects the binary to exist: +# The imported target "iceoryx_posh::iox-roudi" references the file +# "TOPDIR/tmp-glibc/work/qemux86-webos-linux/iceoryx-binding-c/0.99.7-1-r0/recipe-sysroot/usr/bin/iox-roudi" +# OE doesn't stage ${bindir} for target recipes, but in this case the iceoryx_posh::iox-roudi isn't +# being called during the cross-build, so we can include it just to keep CMake happy +sysroot_stage_all_append() { + sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} +} + +# v0.1.1 tag +SRCREV_cpptoml = "0bfa56fc8361e1715de05709b349bc44d910c7db" +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "git://github.com/skystrife/cpptoml.git;name=cpptoml;destsuffix=git/cpptoml-upstream \ + file://0001-Fix-build-with-gcc-11.patch;patchdir=cpptoml-upstream \ + file://0001-cpptoml-fetch-with-bitbake-fetcher-instead-of-Extern.patch \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils/0001-Fix-build-with-gcc-11.patch b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils/0001-Fix-build-with-gcc-11.patch new file mode 100644 index 00000000000..8bd7207fbc3 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils/0001-Fix-build-with-gcc-11.patch @@ -0,0 +1,75 @@ +From 626d6886671e1eac636e27f31c5f5207c9ff524d Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 4 May 2021 23:34:48 -0700 +Subject: [PATCH] Fix build with gcc-11 + +* fixes: +FAILED: CMakeFiles/iceoryx_utils.dir/source/relocatable_pointer/base_relative_pointer.cpp.o +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot-native/usr/bin/i686-webos-linux/i686-webos-linux-g++ -Diceoryx_utils_EXPORTS -I/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include -I/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/platform/linux/include -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0=/usr/src/debug/iceoryx-utils/0.99.7-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0=/usr/src/debug/iceoryx-utils/0.99.7-1-r0 -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot= -fdebug-prefix-map=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot -fPIC -W -Wall -Wextra -Wuninitialized -Wpedantic -Wstrict-aliasing -Wcast-align -Wno-noexcept-type -Wconversion -std=gnu++14 -MD -MT CMakeFiles/iceoryx_utils.dir/source/relocatable_pointer/base_relative_pointer.cpp.o -MF CMakeFiles/iceoryx_utils.dir/source/relocatable_pointer/base_relative_pointer.cpp.o.d -o CMakeFiles/iceoryx_utils.dir/source/relocatable_pointer/base_relative_pointer.cpp.o -c /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/source/relocatable_pointer/base_relative_pointer.cpp +In file included from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp:21, + from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/source/relocatable_pointer/base_relative_pointer.cpp:18: +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp:52:45: error: 'numeric_limits' is not a member of 'std' + 52 | static constexpr id_t INVALID_ID = std::numeric_limits::max(); + | ^~~~~~~~~~~~~~ +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp:52:64: error: expected primary-expression before '>' token + 52 | static constexpr id_t INVALID_ID = std::numeric_limits::max(); + | ^ +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp:52:67: error: '::max' has not been declared; did you mean 'std::max'? + 52 | static constexpr id_t INVALID_ID = std::numeric_limits::max(); + | ^~~ + | std::max +In file included from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot/usr/include/c++/11.1.0/algorithm:62, + from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/cxx/vector.hpp:20, + from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp:21, + from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp:21, + from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/source/relocatable_pointer/base_relative_pointer.cpp:18: +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/recipe-sysroot/usr/include/c++/11.1.0/bits/stl_algo.h:3467:5: note: 'std::max' declared here + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +In file included from /jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/source/relocatable_pointer/base_relative_pointer.cpp:18: +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp:173:50: error: 'numeric_limits' is not a member of 'std' + 173 | static constexpr id_t NULL_POINTER_ID = std::numeric_limits::max(); + | ^~~~~~~~~~~~~~ +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp:173:69: error: expected primary-expression before '>' token + 173 | static constexpr id_t NULL_POINTER_ID = std::numeric_limits::max(); + | ^ +/jenkins/mjansa/build/ros/webos-rolling-honister/tmp-glibc/work/qemux86-webos-linux/iceoryx-utils/0.99.7-1-r0/git/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp:173:72: error: '::max' has not been declared; did you mean 'std::max'? + 173 | static constexpr id_t NULL_POINTER_ID = std::numeric_limits::max(); + | ^~~ + | std::max + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + .../internal/relocatable_pointer/base_relative_pointer.hpp | 1 + + .../internal/relocatable_pointer/pointer_repository.hpp | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp b/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp +index 9ad88e5..dd6711b 100644 +--- a/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp ++++ b/include/iceoryx_utils/internal/relocatable_pointer/base_relative_pointer.hpp +@@ -20,6 +20,7 @@ + + #include "pointer_repository.hpp" + ++#include + #include + + namespace iox +diff --git a/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp b/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp +index 1f9f57d..927af4e 100644 +--- a/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp ++++ b/include/iceoryx_utils/internal/relocatable_pointer/pointer_repository.hpp +@@ -20,6 +20,7 @@ + + #include "iceoryx_utils/cxx/vector.hpp" + #include ++#include + + #include + +-- +2.17.1 + diff --git a/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils/0001-IceoryxPackageHelper.cmake-change-DESTINATION_CONFIG.patch b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils/0001-IceoryxPackageHelper.cmake-change-DESTINATION_CONFIG.patch new file mode 100644 index 00000000000..4a66b6f0035 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils/0001-IceoryxPackageHelper.cmake-change-DESTINATION_CONFIG.patch @@ -0,0 +1,89 @@ +From 4f53e1beb966c46cc4140348aaea5c0694b98a38 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 16 Apr 2021 08:50:47 +0000 +Subject: [PATCH] IceoryxPackageHelper.cmake: change DESTINATION_CONFIGDIR to + share/cmake/Modules + +* use separate variable DESTINATION_CONFIGDIR for: + image/usr/lib/cmake/iceoryx_utils/iceoryx_utilsConfig.cmake + image/usr/lib/cmake/iceoryx_utils/iceoryx_utilsConfigVersion.cmake + image/usr/lib/cmake/iceoryx_utils/iceoryx_utilsTargets.cmake + image/usr/lib/cmake/iceoryx_utils/iceoryx_utilsTargets-noconfig.cmake + and DESTINATION_MODULEDIR for: + image/usr/share/cmake/Modules/IceoryxPlatform.cmake + image/usr/share/cmake/Modules/IceoryxVersion.cmake + image/usr/share/cmake/Modules/IceoryxPackageHelper.cmake + +* this way it will be included in the default CMAKE_MODULE_PATH + "${STAGING_DATADIR}/cmake/Modules/" set by cmake.bbclass: + https://github.com/openembedded/openembedded-core/blob/e9180c9575f0723b51915a0da58452511b6b03bf/meta/classes/cmake.bbclass#L136 + +* fixes iceoryx-posh failure: +CMake Error at CMakeLists.txt:38 (include): + include could not find load file: + + IceoryxPackageHelper + +CMake Error at CMakeLists.txt:39 (include): + include could not find load file: + + IceoryxPlatform + +-- [i] <<<<<<<<<<<<< Start iceoryx_posh configuration: >>>>>>>>>>>>> +-- [i] Using m:n communication only! +-- [i] IOX_MAX_PUBLISHERS:512 +-- [i] IOX_MAX_SUBSCRIBERS:1024 +-- [i] IOX_MAX_INTERFACE_NUMBER:4 +-- [i] IOX_MAX_SUBSCRIBERS_PER_PUBLISHER:256 +-- [i] IOX_MAX_CHUNKS_ALLOCATED_PER_PUBLISHER_SIMULTANEOUSLY:8 +-- [i] IOX_MAX_PUBLISHER_HISTORY:16 +-- [i] IOX_MAX_CHUNKS_HELD_PER_SUBSCRIBER_SIMULTANEOUSLY:256 +-- [i] <<<<<<<<<<<<<< End iceoryx_posh configuration: >>>>>>>>>>>>>> +CMake Error at CMakeLists.txt:64 (setup_package_name_and_create_files): + Unknown CMake command "setup_package_name_and_create_files". + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 2 +- + cmake/Config.cmake.in | 2 +- + cmake/IceoryxPackageHelper.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d8b56dd..c4f21bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -283,7 +283,7 @@ install( + cmake/IceoryxPackageHelper.cmake + cmake/IceoryxPlatform.cmake + cmake/IceoryxVersion.cmake +- DESTINATION ${DESTINATION_CONFIGDIR} ++ DESTINATION ${DESTINATION_MODULEDIR} + ) + + if(BUILD_TEST) +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index c03b3b5..6b6fd86 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -19,5 +19,5 @@ + include(CMakeFindDependencyMacro) + + include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") +-list(APPEND CMAKE_MODULE_PATH "@CMAKE_INSTALL_PREFIX@/@DESTINATION_CONFIGDIR@") ++list(APPEND CMAKE_MODULE_PATH "@CMAKE_INSTALL_PREFIX@/@DESTINATION_MODULEDIR@") + check_required_components("@PROJECT_NAME@") +diff --git a/cmake/IceoryxPackageHelper.cmake b/cmake/IceoryxPackageHelper.cmake +index f3aabf5..f222b13 100644 +--- a/cmake/IceoryxPackageHelper.cmake ++++ b/cmake/IceoryxPackageHelper.cmake +@@ -34,6 +34,7 @@ Macro(setup_package_name_and_create_files) + set(DESTINATION_LIBDIR lib ) + set(DESTINATION_INCLUDEDIR include/${PARAMS_PROJECT_PREFIX}) + set(DESTINATION_CONFIGDIR lib/cmake/${PARAMS_NAME} ) ++ set(DESTINATION_MODULEDIR share/cmake/Modules ) + + # create package files + include(CMakePackageConfigHelpers) diff --git a/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils_0.99.7-1.bbappend b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils_0.99.7-1.bbappend new file mode 100644 index 00000000000..69a6f6670e9 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/iceoryx/iceoryx-utils_0.99.7-1.bbappend @@ -0,0 +1,19 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# libatomic is just one of the packages provided by gcc-runtime recipe +# but gcc-runtime recipe doesn't have libatomic in PROVIDES, so we cannot map +# libatomic in rosdep to libatomic (without adding libatomic to PROVIDES in gcc-runtime +# bbappend). And we cannot leave gcc-runtime in ROS_EXEC_DEPENDS, because +# gcc-runtime recipe doesn't have PN in PACKAGES (and we would still depend +# on do_package shlibs handling to add runtime dependency on actual package +# with libatomic library) +ROS_EXEC_DEPENDS_remove = "gcc-runtime" +# there is no native support for gcc-runtime, so also no libatomic, add it only for target builds +ROS_EXEC_DEPENDS_append-class-target = " libatomic" +# and also remove it from build time depends when buiding native rc-utils +DEPENDS_remove_class-native = "gcc-runtime-native gcc-runtime" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-IceoryxPackageHelper.cmake-change-DESTINATION_CONFIG.patch \ + file://0001-Fix-build-with-gcc-11.patch \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core/0001-CMakeLists.txt-enable-C-language-to-fix-try_compile-.patch b/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core/0001-CMakeLists.txt-enable-C-language-to-fix-try_compile-.patch new file mode 100644 index 00000000000..e1fd153bc8d --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core/0001-CMakeLists.txt-enable-C-language-to-fix-try_compile-.patch @@ -0,0 +1,112 @@ +From c1bc512b3b024b160d73516f84450a4fc271e2ea Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 26 Jun 2020 15:21:04 +0000 +Subject: [PATCH] CMakeLists.txt: enable C language to fix try_compile test + during cross-compile + +* works around unwind detection: + +-- The CXX compiler identification is GNU 9.3.0 +-- Check for working CXX compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ +-- Check for working CXX compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Looking for libunwind.h +CMake Error at /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot-native/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake:93 (try_compile): + Unknown extension ".c" for file + + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c + + try_compile() works only for enabled languages. Currently these are: + + CXX + + See project() command to enable other languages. +Call Stack (most recent call first): + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/cmake/glog/FindLibunwind.cmake:9 (check_include_file) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot-native/usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/cmake/glog/glog-config.cmake:32 (find_dependency) + modules/camera/src/libifm3d_camera/CMakeLists.txt:13 (find_package) + +-- Looking for libunwind.h - not found +-- Looking for unwind.h +CMake Error at /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot-native/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake:93 (try_compile): + Unknown extension ".c" for file + + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c + + try_compile() works only for enabled languages. Currently these are: + + CXX + + See project() command to enable other languages. +Call Stack (most recent call first): + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/cmake/glog/FindLibunwind.cmake:10 (check_include_file) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot-native/usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/cmake/glog/glog-config.cmake:32 (find_dependency) + modules/camera/src/libifm3d_camera/CMakeLists.txt:13 (find_package) + +-- Looking for unwind.h - not found +Can't find libunwind library +CMake Warning at modules/camera/CMakeLists.txt:20 (message): + Skipping libifm3d-camera unit tests! + +-- Looking for C++ include pthread.h +-- Looking for C++ include pthread.h - found +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed +-- Looking for pthread_create in pthreads +-- Looking for pthread_create in pthreads - not found +-- Looking for pthread_create in pthread +-- Looking for pthread_create in pthread - found +-- Found Threads: TRUE +-- Found Boost: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0") found components: system +Can't find libunwind library +CMake Warning at modules/framegrabber/CMakeLists.txt:15 (message): + Skipping libifm3d-framegrabber unit tests! + +Can't find libunwind library +-- Found CURL: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libcurl.so (found version "7.69.1") +CMake Warning at modules/swupdater/CMakeLists.txt:16 (message): + Skipping libifm3d-swupdater unit tests! + +-- Found OpenCV: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr (found version "4.1.0") found components: core +-- Checking for module 'eigen3' +-- Found eigen3, version 3.3.7 +-- Found eigen: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/include/eigen3 +-- Found Boost: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/include (found suitable version "1.72.0", minimum required is "1.40.0") found components: system filesystem thread date_time iostreams chrono atomic regex +-- looking for PCL_COMMON +-- Found PCL_COMMON: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libpcl_common.so +-- Found PCL: optimized;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_system.so.1.72.0;debug;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_system-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so;-lpthread;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so;optimized;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libpcl_common.so;debug;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libpcl_common.so;optimized;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_system.so.1.72.0;debug;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_system-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_filesystem-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_thread-mt.so;-lpthread;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_date_time-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_iostreams-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_chrono-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_atomic-mt.so;/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/libboost_regex-mt.so (Required is at least version "1.7") +Can't find libunwind library +CMake Warning at modules/image/CMakeLists.txt:23 (message): + Skipping libifm3d-image unit tests! + +Can't find libunwind library +-- Found Boost: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/recipe-sysroot/usr/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0") found components: program_options +-- Configuring incomplete, errors occurred! +See also "/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/build/CMakeFiles/CMakeOutput.log". +See also "/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/ifm3d-core/0.18.0-4-r0/build/CMakeFiles/CMakeError.log". + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 246afa7..3dcc19b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.5) + cmake_policy(SET CMP0048 NEW) + # Manage version number here: Major.Minor.Patch (we don't use "tweak") +-project(IFM3D VERSION 0.18.0 LANGUAGES CXX) ++project(IFM3D VERSION 0.18.0 LANGUAGES C CXX) + set(GIT_PROJECT_NAME "ifm3d") + + # Make our cmake functions accessible diff --git a/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core/0002-CMakeLists.txt-drop-s.patch b/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core/0002-CMakeLists.txt-drop-s.patch new file mode 100644 index 00000000000..74dfdfc0416 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core/0002-CMakeLists.txt-drop-s.patch @@ -0,0 +1,24 @@ +From 94e52058335f9fee132214fa9121fb4a78279e82 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 26 Jun 2020 08:26:32 -0700 +Subject: [PATCH] CMakeLists.txt: drop -s + +Upstream-Status: Pending + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 246afa7..dbc9fd1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,7 +50,7 @@ if(WIN32) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + add_definitions(-DBOOST_ALL_NO_LIB) + else(WIN32) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-literal-suffix -s") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-literal-suffix") + endif(WIN32) + + # create the cmake-package files diff --git a/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core_0.18.0-5.bbappend b/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core_0.18.0-5.bbappend new file mode 100644 index 00000000000..8418d5454db --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ifm3d-core/ifm3d-core_0.18.0-5.bbappend @@ -0,0 +1,8 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-enable-C-language-to-fix-try_compile-.patch \ + file://0002-CMakeLists.txt-drop-s.patch \ +" + +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/image-pipeline/depth-image-proc_2.2.1-2.bbappend b/meta-ros2-galactic/recipes-bbappends/image-pipeline/depth-image-proc_2.2.1-2.bbappend new file mode 100644 index 00000000000..8d83be207f7 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/image-pipeline/depth-image-proc_2.2.1-2.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + eigen3-cmake-module \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/image-transport-plugins/theora-image-transport_2.3.0-4.bbappend b/meta-ros2-galactic/recipes-bbappends/image-transport-plugins/theora-image-transport_2.3.0-4.bbappend new file mode 100644 index 00000000000..7ac3d61a137 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/image-transport-plugins/theora-image-transport_2.3.0-4.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/joystick-drivers/joy/0001-CMakeLists.txt-use-pkg-config-to-find-sdl2.patch b/meta-ros2-galactic/recipes-bbappends/joystick-drivers/joy/0001-CMakeLists.txt-use-pkg-config-to-find-sdl2.patch new file mode 100644 index 00000000000..877243c8081 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/joystick-drivers/joy/0001-CMakeLists.txt-use-pkg-config-to-find-sdl2.patch @@ -0,0 +1,296 @@ +From 34429522dda7f695e14853a709ec3d2692ecbaee Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 26 Jun 2020 15:05:27 +0000 +Subject: [PATCH] CMakeLists.txt: use pkg-config to find sdl2 + +* fixes missing sysroot prefix: + +DEBUG: Executing shell function do_configure +-- The C compiler identification is GNU 9.3.0 +-- The CXX compiler identification is GNU 9.3.0 +-- Check for working C compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gcc +-- Check for working C compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gcc -- works +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Detecting C compile features +-- Detecting C compile features - done +-- Check for working CXX compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ +-- Check for working CXX compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Found ament_cmake_ros: 0.9.0 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/share/ament_cmake_ros/cmake) +-- Found PythonInterp: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/python3-native/python3 (found suitable version "3.8.2", minimum required is "3") +-- Using PYTHON_EXECUTABLE: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/python3-native/python3 +-- Found rclcpp: 2.0.0 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp/cmake) +-- Using all available rosidl_typesupport_c: rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c +CMake Warning at /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_cmake/cmake/rosidl_cmake-extras.cmake:30 (find_package): + By not providing "Findrosidl_adapter.cmake" in CMAKE_MODULE_PATH this + project has asked CMake to find a package configuration file provided by + "rosidl_adapter", but CMake did not find one. + + Could not find a package configuration file provided by "rosidl_adapter" + with any of the following names: + + rosidl_adapterConfig.cmake + rosidl_adapter-config.cmake + + Add the installation prefix of "rosidl_adapter" to CMAKE_PREFIX_PATH or set + "rosidl_adapter_DIR" to a directory containing one of the above files. If + "rosidl_adapter" provides a separate development package or SDK, be sure it + has been installed. +Call Stack (most recent call first): + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_cmake/cmake/rosidl_cmakeConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_generator_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_generator_c/cmake/rosidl_generator_cConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:11 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_default_runtime/cmake/rosidl_default_runtime-extras.cmake:12 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_default_runtime/cmake/rosidl_default_runtimeConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl/cmake/rclConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/libstatistics_collector/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/libstatistics_collector/cmake/libstatistics_collectorConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp/cmake/rclcppConfig.cmake:41 (include) + CMakeLists.txt:14 (find_package) + +-- Found OpenSSL: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/lib/libcrypto.so (found version "1.1.1g") +-- Found FastRTPS: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/include +-- Using all available rosidl_typesupport_cpp: rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp +-- Found rmw_implementation_cmake: 1.0.1 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rmw_implementation_cmake/cmake) +-- Using RMW implementation 'rmw_fastrtps_cpp' as default +-- Looking for pthread.h +-- Looking for pthread.h - found +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed +-- Looking for pthread_create in pthreads +-- Looking for pthread_create in pthreads - not found +-- Looking for pthread_create in pthread +-- Looking for pthread_create in pthread - found +-- Found Threads: TRUE +-- Found rclcpp_components: 2.0.0 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp_components/cmake) +-- Found sdl2_vendor: 2.4.1 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/sdl2_vendor/cmake) +-- Found sensor_msgs: 2.0.1 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/sensor_msgs/cmake) +-- Configuring done +CMake Error in CMakeLists.txt: + Imported target "SDL2::SDL2" includes non-existent path + + "/usr/include/SDL2" + + in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: + + * The path was deleted, renamed, or moved to another location. + + * An install or uninstall procedure did not complete successfully. + + * The installation package was faulty and references files it does not + provide. + +CMake Error in CMakeLists.txt: + Imported target "SDL2::SDL2" includes non-existent path + + "/usr/include/SDL2" + + in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: + + * The path was deleted, renamed, or moved to another location. + + * An install or uninstall procedure did not complete successfully. + + * The installation package was faulty and references files it does not + provide. + +-- Generating done +CMake Warning: + Manually-specified variables were not used by the project: + + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_DATAROOTDIR + CMAKE_INSTALL_INCLUDEDIR + CMAKE_INSTALL_LIBDIR + CMAKE_INSTALL_LIBEXECDIR + CMAKE_INSTALL_LOCALSTATEDIR + CMAKE_INSTALL_SBINDIR + CMAKE_INSTALL_SHAREDSTATEDIR + CMAKE_INSTALL_SYSCONFDIR + LIB_SUFFIX + PYTHON_SOABI + Python3_EXECUTABLE + Python_EXECUTABLE + +CMake Generate step failed. Build files cannot be regenerated correctly. +WARNING: exit code 1 from a shell command. +ERROR: Execution of '/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/temp/run.do_configure.63504' failed with exit code 1: +-- The C compiler identification is GNU 9.3.0 +-- The CXX compiler identification is GNU 9.3.0 +-- Check for working C compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gcc +-- Check for working C compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gcc -- works +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Detecting C compile features +-- Detecting C compile features - done +-- Check for working CXX compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ +-- Check for working CXX compiler: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Found ament_cmake_ros: 0.9.0 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/share/ament_cmake_ros/cmake) +-- Found PythonInterp: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/python3-native/python3 (found suitable version "3.8.2", minimum required is "3") +-- Using PYTHON_EXECUTABLE: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot-native/usr/bin/python3-native/python3 +-- Found rclcpp: 2.0.0 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp/cmake) +-- Using all available rosidl_typesupport_c: rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c +CMake Warning at /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_cmake/cmake/rosidl_cmake-extras.cmake:30 (find_package): + By not providing "Findrosidl_adapter.cmake" in CMAKE_MODULE_PATH this + project has asked CMake to find a package configuration file provided by + "rosidl_adapter", but CMake did not find one. + + Could not find a package configuration file provided by "rosidl_adapter" + with any of the following names: + + rosidl_adapterConfig.cmake + rosidl_adapter-config.cmake + + Add the installation prefix of "rosidl_adapter" to CMAKE_PREFIX_PATH or set + "rosidl_adapter_DIR" to a directory containing one of the above files. If + "rosidl_adapter" provides a separate development package or SDK, be sure it + has been installed. +Call Stack (most recent call first): + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_cmake/cmake/rosidl_cmakeConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_generator_c/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_generator_c/cmake/rosidl_generator_cConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_typesupport_c/cmake/rosidl_typesupport_c-extras.cmake:11 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_typesupport_c/cmake/rosidl_typesupport_cConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_default_runtime/cmake/rosidl_default_runtime-extras.cmake:12 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rosidl_default_runtime/cmake/rosidl_default_runtimeConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/builtin_interfaces/cmake/builtin_interfacesConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl_interfaces/cmake/rcl_interfacesConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rcl/cmake/rclConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/libstatistics_collector/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/libstatistics_collector/cmake/libstatistics_collectorConfig.cmake:41 (include) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package) + /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp/cmake/rclcppConfig.cmake:41 (include) + CMakeLists.txt:14 (find_package) + +-- Found OpenSSL: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/lib/libcrypto.so (found version "1.1.1g") +-- Found FastRTPS: /jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/include +-- Using all available rosidl_typesupport_cpp: rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp +-- Found rmw_implementation_cmake: 1.0.1 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rmw_implementation_cmake/cmake) +-- Using RMW implementation 'rmw_fastrtps_cpp' as default +-- Looking for pthread.h +-- Looking for pthread.h - found +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed +-- Looking for pthread_create in pthreads +-- Looking for pthread_create in pthreads - not found +-- Looking for pthread_create in pthread +-- Looking for pthread_create in pthread - found +-- Found Threads: TRUE +-- Found rclcpp_components: 2.0.0 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/rclcpp_components/cmake) +-- Found sdl2_vendor: 2.4.1 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/sdl2_vendor/cmake) +-- Found sensor_msgs: 2.0.1 (/jenkins/mjansa/build/ros/ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/joy/2.4.1-1-r0/recipe-sysroot/usr/share/sensor_msgs/cmake) +-- Configuring done +CMake Error in CMakeLists.txt: + Imported target "SDL2::SDL2" includes non-existent path + + "/usr/include/SDL2" + + in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: + + * The path was deleted, renamed, or moved to another location. + + * An install or uninstall procedure did not complete successfully. + + * The installation package was faulty and references files it does not + provide. + +CMake Error in CMakeLists.txt: + Imported target "SDL2::SDL2" includes non-existent path + + "/usr/include/SDL2" + + in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include: + + * The path was deleted, renamed, or moved to another location. + + * An install or uninstall procedure did not complete successfully. + + * The installation package was faulty and references files it does not + provide. + +-- Generating done +CMake Warning: + Manually-specified variables were not used by the project: + + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_DATAROOTDIR + CMAKE_INSTALL_INCLUDEDIR + CMAKE_INSTALL_LIBDIR + CMAKE_INSTALL_LIBEXECDIR + CMAKE_INSTALL_LOCALSTATEDIR + CMAKE_INSTALL_SBINDIR + CMAKE_INSTALL_SHAREDSTATEDIR + CMAKE_INSTALL_SYSCONFDIR + LIB_SUFFIX + PYTHON_SOABI + Python3_EXECUTABLE + Python_EXECUTABLE + +CMake Generate step failed. Build files cannot be regenerated correctly. +WARNING: exit code 1 from a shell command. + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 946a5ba..56e7bf0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,8 +13,10 @@ endif() + find_package(ament_cmake_ros REQUIRED) + find_package(rclcpp REQUIRED) + find_package(rclcpp_components REQUIRED) +-find_package(sdl2_vendor REQUIRED) +-find_package(sdl2_custom REQUIRED) ++#find_package(sdl2 REQUIRED) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(SDL2 REQUIRED sdl2) ++ + find_package(sensor_msgs REQUIRED) + + include_directories(include) +@@ -26,7 +28,9 @@ ament_target_dependencies(joy + # Need this since sdl2 doesn't properly export its + # libraries so ament_target_dependencies can find them + target_link_libraries(joy +- SDL2::SDL2) ++ ${SDL2_LIBRARIES}) ++target_include_directories(joy SYSTEM PUBLIC ++ ${SDL2_INCLUDE_DIRS}) + + install(TARGETS joy + LIBRARY DESTINATION lib +@@ -41,7 +45,9 @@ rclcpp_components_register_node(joy + add_executable(joy_enumerate_devices + src/joy_enumerate_devices.cpp) + target_link_libraries(joy_enumerate_devices +- SDL2::SDL2) ++ ${SDL2_LIBRARIES}) ++target_include_directories(joy_enumerate_devices SYSTEM PUBLIC ++ ${SDL2_INCLUDE_DIRS}) + + install(TARGETS joy_enumerate_devices + DESTINATION lib/${PROJECT_NAME}) diff --git a/meta-ros2-galactic/recipes-bbappends/joystick-drivers/joy_3.0.0-4.bbappend b/meta-ros2-galactic/recipes-bbappends/joystick-drivers/joy_3.0.0-4.bbappend new file mode 100644 index 00000000000..181fc4eb90f --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/joystick-drivers/joy_3.0.0-4.bbappend @@ -0,0 +1,8 @@ +# Copyright (c) 2020-2021 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-adapter \ +" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-use-pkg-config-to-find-sdl2.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/joystick-drivers/wiimote-msgs_3.0.0-4.bbappend b/meta-ros2-galactic/recipes-bbappends/joystick-drivers/wiimote-msgs_3.0.0-4.bbappend new file mode 100644 index 00000000000..ce1e54c6d87 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/joystick-drivers/wiimote-msgs_3.0.0-4.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/launch/launch-testing_0.17.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/launch/launch-testing_0.17.0-1.bbappend new file mode 100644 index 00000000000..30164ddc695 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/launch/launch-testing_0.17.0-1.bbappend @@ -0,0 +1,7 @@ +# Copyright (c) 2019-2020 LG Electronics, Inc. + +# This component puts *_proc files under libdir. +FILES_${PN}_prepend = " \ + ${datadir}/lib/${ROS_BPN} \ +" + diff --git a/meta-ros2-galactic/recipes-bbappends/lgsvl-msgs/lgsvl-msgs_0.0.4-1.bbappend b/meta-ros2-galactic/recipes-bbappends/lgsvl-msgs/lgsvl-msgs_0.0.4-1.bbappend new file mode 100644 index 00000000000..eede2c7a056 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/lgsvl-msgs/lgsvl-msgs_0.0.4-1.bbappend @@ -0,0 +1,31 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + ament-cmake \ + ament-cmake-export-definitions \ + ament-cmake-export-include-directories \ + ament-cmake-export-interfaces \ + ament-cmake-export-libraries \ + ament-cmake-export-link-flags \ + ament-cmake-export-targets \ + ament-cmake-gmock \ + ament-cmake-gtest \ + ament-cmake-include-directories \ + ament-cmake-libraries \ + ament-cmake-python \ + ament-cmake-pytest \ + ament-cmake-ros \ + ament-cmake-target-dependencies \ + ament-cmake-test \ + ament-cmake-version \ + ament-package-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-generator-py-native \ + rosidl-adapter-native \ + rosidl-typesupport-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/libg2o/libg2o_2020.5.29-2.bbappend b/meta-ros2-galactic/recipes-bbappends/libg2o/libg2o_2020.5.29-2.bbappend new file mode 100644 index 00000000000..0b45bb7e6f6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/libg2o/libg2o_2020.5.29-2.bbappend @@ -0,0 +1,13 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +DEPENDS += "libglu" + +# Don't try to read /proc/cpuinfo as we're cross-compling +EXTRA_OECMAKE += " \ + -DDO_SSE_AUTODETECT=OFF \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse2", "", "-DDISABLE_SSE2=ON", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "", "-DDISABLE_SSE3=ON", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "", "-DDISABLE_SSE4_1=ON", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "", "-DDISABLE_SSE4_2=ON", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.A", "", "-DDISABLE_SSE4_A=ON", d)} \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor/0001-CMakeLists.txt-fetch-libyaml-with-bitbake-fetcher.patch b/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor/0001-CMakeLists.txt-fetch-libyaml-with-bitbake-fetcher.patch new file mode 100644 index 00000000000..daf8aa92ab1 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor/0001-CMakeLists.txt-fetch-libyaml-with-bitbake-fetcher.patch @@ -0,0 +1,27 @@ +From 13504e4674150cd305e2a7368fe315654f88c8e0 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 23 Apr 2020 09:29:33 -0700 +Subject: [PATCH] CMakeLists.txt: fetch libyaml with bitbake fetcher + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 54dae7b..86446c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,9 +61,7 @@ macro(build_libyaml) + endif() + include(ExternalProject) + externalproject_add(libyaml-0.2.5 +- URL https://github.com/yaml/libyaml/archive/refs/tags/0.2.5.zip +- URL_MD5 2464078985a73f9d298689d36061143f +- TIMEOUT 60 ++ SOURCE_DIR ${CMAKE_SOURCE_DIR}/libyaml-upstream + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/libyaml_install + ${extra_cmake_args} diff --git a/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor/0002-CMakeLists.txt-use-platform-libyaml-when-available-i.patch b/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor/0002-CMakeLists.txt-use-platform-libyaml-when-available-i.patch new file mode 100644 index 00000000000..459c2f54b71 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor/0002-CMakeLists.txt-use-platform-libyaml-when-available-i.patch @@ -0,0 +1,39 @@ +From cb4604bb0cbc3eb2c9b65fbe451213ebf624f7e3 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 9 Jul 2020 01:34:26 -0700 +Subject: [PATCH] CMakeLists.txt: use platform libyaml when available instead + of ExternalProject + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86446c1..c4d5ec9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,11 +82,18 @@ macro(build_libyaml) + set(yaml_LIBRARIES yaml) + endmacro() + +-build_libyaml() +-set(extra_test_dependencies libyaml-0.2.5) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(YAML REQUIRED yaml-0.1) ++ ++if(YAML_FOUND) ++ message(STATUS "Found yaml ${YAML_VERSION}") ++else() ++ message(FATAL_ERROR "yaml not found -- missing from DEPENDS?") ++ # eventually we can build one with ExternalProjectAdd ++ # build_libyaml() ++endif() + + ament_export_libraries(yaml) +-ament_export_dependencies(yaml) + + if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) diff --git a/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor_%.bbappend b/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor_%.bbappend new file mode 100644 index 00000000000..00eeb5acc53 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/libyaml-vendor/libyaml-vendor_%.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +DEPENDS += "libyaml" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-fetch-libyaml-with-bitbake-fetcher.patch \ + file://0002-CMakeLists.txt-use-platform-libyaml-when-available-i.patch \ +" + +# Instead of fetching +# https://github.com/yaml/libyaml/archive/refs/tags/0.2.5.zip +# during do_compile +# git://github.com/yaml/libyaml.git;protocol=https;branch=release-0.2.5;name=libyaml;destsuffix=git/libyaml-upstream \ +# SRCREV_libyaml = "65d19898a301b817261003b00d1dcef00895a7b4" +# oe-core/hardknott already has the right version: +# openembedded-core/meta/recipes-support/libyaml/libyaml_0.2.5.bb diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-can-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-can-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-can-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-common-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-common-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-common-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-dbw-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-dbw-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-dbw-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-nav-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-nav-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-nav-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-perception-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-perception-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-perception-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-sensor-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-sensor-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-sensor-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-status-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-status-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-status-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-visualization-msgs_1.1.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-visualization-msgs_1.1.0-2.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/marti-messages/marti-visualization-msgs_1.1.0-2.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor/0001-CMakeLists.txt-install-only-specified-mimick-files-n.patch b/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor/0001-CMakeLists.txt-install-only-specified-mimick-files-n.patch new file mode 100644 index 00000000000..07ec200131c --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor/0001-CMakeLists.txt-install-only-specified-mimick-files-n.patch @@ -0,0 +1,71 @@ +From c75fb6117f274386cb6286875fa3ffe282124536 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Nov 2020 16:51:40 -0800 +Subject: [PATCH] CMakeLists.txt: install only specified mimick files, not + whole directory + +* otherwise the whole long path to build directory is persisted in destination, causing: +ERROR: mimick-vendor-0.2.2-1-r0 do_package: QA Issue: mimick-vendor: Files/directories were installed but not shipped in any package: + /jenkins + /jenkins/mjansa + /jenkins/mjansa/build + /jenkins/mjansa/build/ros + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0 + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib/libmimick.a + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib/cmake + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib/cmake/mimick + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib/cmake/mimick/mimick-targets.cmake + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib/cmake/mimick/mimickConfig.cmake + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/lib/cmake/mimick/mimick-targets-noconfig.cmake + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/va.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/mock.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/string.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/preprocess.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/mimick.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/when.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/alloc.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/assert.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/unmocked.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/matcher.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/verify.h + /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/build/mimick_vendor_install/include/mimick/literal.h +Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. +mimick-vendor: 33 installed and not shipped files. [installed-vs-shipped] +ERROR: mimick-vendor-0.2.2-1-r0 do_package: Fatal QA errors found, failing task. +ERROR: Logfile of failure stored in: /jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/tmp-glibc/work/core2-64-oe-linux/mimick-vendor/0.2.2-1-r0/temp/log.do_package.58250 +ERROR: Task (/jenkins/mjansa/build/ros/ros2-rolling-gatesgarth/meta-ros/meta-ros2-rolling/generated-recipes/mimick-vendor/mimick-vendor_0.2.2-1.bb:do_package) failed with exit code '1' + +This behavior seem to change between CMake 3.16.5 (in dunfell) and 3.18.2 (in gatesgarth). +Using absolute path in destination is discouraged, e.g. in: +https://github.com/Kitware/CMake/commit/79e1d86d2c5662ff5fad50b9fd54e074e4d00d12 + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4cf591..e317b57 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,7 +76,7 @@ macro(build_mimick) + DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_install/ + DESTINATION +- ${CMAKE_INSTALL_PREFIX} ++ . + USE_SOURCE_PERMISSIONS + ) + diff --git a/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor/0002-CMakeLists.txt-fetch-mimick-with-bitbake-fetcher.patch b/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor/0002-CMakeLists.txt-fetch-mimick-with-bitbake-fetcher.patch new file mode 100644 index 00000000000..9358492afa8 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor/0002-CMakeLists.txt-fetch-mimick-with-bitbake-fetcher.patch @@ -0,0 +1,32 @@ +From 8a77c5d1e028525f17ec8c2ec82dd19c7779d1e5 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Nov 2020 16:54:32 -0800 +Subject: [PATCH] CMakeLists.txt: fetch mimick with bitbake fetcher + +Upstream-Status: Pending +--- + CMakeLists.txt | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e317b57..a74da9b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,15 +60,10 @@ macro(build_mimick) + include(ExternalProject) + set(mimick_version "f171450b5ebaa3d2538c762a059dfc6ab7a01039") + externalproject_add(mimick-${mimick_version} +- GIT_REPOSITORY https://github.com/ros2/Mimick.git +- GIT_TAG ${mimick_version} +- GIT_CONFIG advice.detachedHead=false +- # Suppress git update due to https://gitlab.kitware.com/cmake/cmake/-/issues/16419 +- UPDATE_COMMAND "" +- TIMEOUT 6000 ++ SOURCE_DIR ${CMAKE_SOURCE_DIR}/mimick-upstream + ${cmake_commands} + CMAKE_ARGS +- ${cmake_configure_args} ++ ${cmake_configure_args} -DCMAKE_TOOLCHAIN_FILE=${PROJECT_SOURCE_DIR}/../toolchain.cmake + ) + + # The external project will install to the build folder, but we'll install that on make install. diff --git a/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor_0.2.6-1.bbappend b/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor_0.2.6-1.bbappend new file mode 100644 index 00000000000..f1eb32b5276 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/mimick-vendor/mimick-vendor_0.2.6-1.bbappend @@ -0,0 +1,14 @@ +# Copyright (c) 2020-2021 LG Electronics, Inc. + +# Instead of fetching +# https://github.com/ros2/Mimick.git revision f171450b5ebaa3d2538c762a059dfc6ab7a01039 +# during do_compile +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-install-only-specified-mimick-files-n.patch \ + file://0002-CMakeLists.txt-fetch-mimick-with-bitbake-fetcher.patch \ + git://github.com/ros2/Mimick.git;protocol=https;name=mimick;branch=ros2;destsuffix=git/mimick-upstream \ +" +SRCREV_mimick = "f171450b5ebaa3d2538c762a059dfc6ab7a01039" + +# mimick-vendor/0.2.2-1-r0/recipe-sysroot/usr/include/features.h:397:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] +lcl_maybe_fortify = "" diff --git a/meta-ros2-galactic/recipes-bbappends/navigation-msgs/map-msgs_2.1.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/navigation-msgs/map-msgs_2.1.0-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/navigation-msgs/map-msgs_2.1.0-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/nmea-msgs/nmea-msgs_2.0.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/nmea-msgs/nmea-msgs_2.0.0-2.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/nmea-msgs/nmea-msgs_2.0.0-2.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/orocos-kinematics-dynamics/orocos-kdl_%.bbappend b/meta-ros2-galactic/recipes-bbappends/orocos-kinematics-dynamics/orocos-kdl_%.bbappend new file mode 100644 index 00000000000..9a49099f8ae --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/orocos-kinematics-dynamics/orocos-kdl_%.bbappend @@ -0,0 +1,4 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# ERROR: orocos-kdl-3.3.1-1-r0 do_package_qa: QA Issue: non -dev/-dbg/nativesdk- package contains symlink .so: orocos-kdl path '/work/aarch64-oe-linux/orocos-kdl/3.3.1-1-r0/packages-split/orocos-kdl/usr/lib/liborocos-kdl.so' [dev-so] +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/orocos-kinematics-dynamics/orocos-kdl_3.3.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/orocos-kinematics-dynamics/orocos-kdl_3.3.3-1.bbappend new file mode 100644 index 00000000000..45593210bd6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/orocos-kinematics-dynamics/orocos-kdl_3.3.3-1.bbappend @@ -0,0 +1,10 @@ +# Copyright (c) 2019-2020 LG Electronics, Inc. + +# Missing license version in package.xml +# https://github.com/ros2-gbp/orocos_kinematics_dynamics-release/issues/2 +LICENSE = "LGPL-2.1" + +# there is eigen3-cmake-module-native in ROS_BUILDTOOL_EXPORT_DEPENDS +# but we need target dependency for orocos-kdl users like kdl-parser +# to find it +DEPENDS += "eigen3-cmake-module" diff --git a/meta-ros2-galactic/recipes-bbappends/osrf-testing-tools-cpp/test-osrf-testing-tools-cpp_1.3.2-2.bbappend b/meta-ros2-galactic/recipes-bbappends/osrf-testing-tools-cpp/test-osrf-testing-tools-cpp_1.3.2-2.bbappend new file mode 100644 index 00000000000..c2f800fef1b --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/osrf-testing-tools-cpp/test-osrf-testing-tools-cpp_1.3.2-2.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +DEPENDS += " \ + osrf-testing-tools-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/pcl-msgs/pcl-msgs_1.0.0-5.bbappend b/meta-ros2-galactic/recipes-bbappends/pcl-msgs/pcl-msgs_1.0.0-5.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/pcl-msgs/pcl-msgs_1.0.0-5.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/performance-test-fixture/performance-test-fixture_0.0.7-1.bbappend b/meta-ros2-galactic/recipes-bbappends/performance-test-fixture/performance-test-fixture_0.0.7-1.bbappend new file mode 100644 index 00000000000..6479f279937 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/performance-test-fixture/performance-test-fixture_0.0.7-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# This doesn't seem to be needed and would require google-benchmark and google-benchmark-vendor to have native BBCLASSEXTEND as well +ROS_BUILDTOOL_EXPORT_DEPENDS_remove = " \ + ament-cmake-google-benchmark-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/libphidget22/0001-Use-libphidget22-from-libphidget22-upstream-and-norm.patch b/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/libphidget22/0001-Use-libphidget22-from-libphidget22-upstream-and-norm.patch new file mode 100644 index 00000000000..696530933aa --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/libphidget22/0001-Use-libphidget22-from-libphidget22-upstream-and-norm.patch @@ -0,0 +1,338 @@ +From a623afc37b16918e971803978f4c049b3fa4d072 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 18 Dec 2019 11:11:30 -0800 +Subject: [PATCH] Use libphidget22 from libphidget22-upstream and normal prefix + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 37 +-- + cmake/libphidget22-extras.cmake.in | 4 +- + ...phidgets22-1.6.20200417-fix-warnings.patch | 260 ------------------ + 3 files changed, 3 insertions(+), 298 deletions(-) + delete mode 100644 patch/libphidgets22-1.6.20200417-fix-warnings.patch + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 462ee7f..706e59a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,41 +3,6 @@ project(libphidget22) + + find_package(ament_cmake REQUIRED) + +-set(extra_c_flags "-g -O2 -Wno-incompatible-pointer-types -Wno-deprecated-declarations -Wno-format-truncation -fPIC") +- +-include(ExternalProject) +-ExternalProject_Add(EP_${PROJECT_NAME} +- URL https://www.phidgets.com/downloads/phidget22/libraries/linux/libphidget22/libphidget22-1.6.20200417.tar.gz +- URL_MD5 f8c85f8348ddc0fb46146c0d9d8f884e +- +- PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/patch/libphidgets22-1.6.20200417-fix-warnings.patch +- SOURCE_DIR ${PROJECT_BINARY_DIR}/${PROJECT_NAME}-src +- CONFIGURE_COMMAND +- /configure +- CFLAGS=${extra_c_flags} +- --prefix=${CMAKE_CURRENT_BINARY_DIR}/libphidget22_install +- --disable-ldconfig +- BUILD_COMMAND $(MAKE) +- INSTALL_COMMAND $(MAKE) install +-) +- +-# The external project will install to the build folder, but we'll install that on make install. +-# Note that we install lib and include separately so we can add the extra level of indirection +-# to the include directory. +-install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/libphidget22_install/lib/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/opt/libphidget22/lib/ +-) +- +-install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/libphidget22_install/include/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/opt/libphidget22/include/libphidget22/ +-) +- +-ament_environment_hooks(env_hook/libphidget22_library_path.sh) ++find_package(libphidget22) + + ament_package(CONFIG_EXTRAS "cmake/libphidget22-extras.cmake.in") +diff --git a/cmake/libphidget22-extras.cmake.in b/cmake/libphidget22-extras.cmake.in +index 7a386fa..ccf3d59 100644 +--- a/cmake/libphidget22-extras.cmake.in ++++ b/cmake/libphidget22-extras.cmake.in +@@ -1,3 +1,3 @@ + # TODO(clalancette): Does this work in general? +-list(APPEND @PROJECT_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/../../../opt/libphidget22/include") +-list(APPEND @PROJECT_NAME@_LIBRARIES "${@PROJECT_NAME@_DIR}/../../../opt/libphidget22/lib/libphidget22.so") ++list(APPEND @PROJECT_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/../../../../usr/include") ++list(APPEND @PROJECT_NAME@_LIBRARIES "${@PROJECT_NAME@_DIR}/../../../../usr/lib/libphidget22.so") +diff --git a/patch/libphidgets22-1.6.20200417-fix-warnings.patch b/patch/libphidgets22-1.6.20200417-fix-warnings.patch +deleted file mode 100644 +index f197d1a..0000000 +--- a/patch/libphidgets22-1.6.20200417-fix-warnings.patch ++++ /dev/null +@@ -1,260 +0,0 @@ +-diff -urp libphidget22-1.6.20200417.orig/configure libphidget22-1.6.20200417/configure +---- libphidget22-1.6.20200417.orig/configure 2020-04-17 21:51:11.000000000 +0000 +-+++ libphidget22-1.6.20200417/configure 2020-06-02 13:31:26.487312313 +0000 +-@@ -5678,7 +5678,7 @@ esac +- fi +- +- : ${AR=ar} +--: ${AR_FLAGS=cru} +-+: ${AR_FLAGS=cr} +- +- +- +-diff -urp libphidget22-1.6.20200417.orig/src/class/dataadapter.gen.c libphidget22-1.6.20200417/src/class/dataadapter.gen.c +---- libphidget22-1.6.20200417.orig/src/class/dataadapter.gen.c 2020-04-17 21:50:42.000000000 +0000 +-+++ libphidget22-1.6.20200417/src/class/dataadapter.gen.c 2020-06-02 13:26:36.101638546 +0000 +-@@ -46,137 +46,6 @@ struct _PhidgetDataAdapter { +- }; +- +- static PhidgetReturnCode CCONV +--_setStatus(PhidgetChannelHandle phid, BridgePacket *bp) { +-- PhidgetDataAdapterHandle ch; +-- int version; +-- +-- ch = (PhidgetDataAdapterHandle)phid; +-- +-- version = getBridgePacketUInt32ByName(bp, "_class_version_"); +-- if (version != 3) { +-- loginfo("%"PRIphid": server/client class version mismatch: %d != 3 - functionality may be limited.", phid, version); +-- } +-- +-- if(version >= 3) +-- ch->responseReceived = getBridgePacketInt32ByName(bp, "responseReceived"); +-- if(version >= 3) +-- memcpy(&ch->lastData, getBridgePacketUInt8ArrayByName(bp, "lastData"), sizeof (uint8_t) * 8192); +-- if(version >= 3) +-- ch->lastDataIndex = getBridgePacketUInt32ByName(bp, "lastDataIndex"); +-- if(version >= 3) +-- memcpy(&ch->eventData, getBridgePacketUInt8ArrayByName(bp, "eventData"), sizeof (uint8_t) * 8192); +-- if(version >= 3) +-- ch->lastDataLen = getBridgePacketUInt32ByName(bp, "lastDataLen"); +-- if(version >= 3) +-- ch->lastDataError = getBridgePacketUInt32ByName(bp, "lastDataError"); +-- if(version >= 3) +-- memcpy(&ch->I2CFormat, getBridgePacketUInt8ArrayByName(bp, "I2CFormat"), sizeof (char) * 2049); +-- if(version >= 3) +-- ch->lastDataRead = getBridgePacketInt32ByName(bp, "lastDataRead"); +-- if(version >= 3) +-- ch->baudRate = getBridgePacketUInt32ByName(bp, "baudRate"); +-- if(version >= 3) +-- ch->minBaudRate = getBridgePacketUInt32ByName(bp, "minBaudRate"); +-- if(version >= 3) +-- ch->maxBaudRate = getBridgePacketUInt32ByName(bp, "maxBaudRate"); +-- if(version >= 3) +-- ch->dataBits = getBridgePacketUInt32ByName(bp, "dataBits"); +-- if(version >= 3) +-- ch->minDataBits = getBridgePacketUInt32ByName(bp, "minDataBits"); +-- if(version >= 3) +-- ch->maxDataBits = getBridgePacketUInt32ByName(bp, "maxDataBits"); +-- if(version >= 3) +-- ch->deviceAddress = getBridgePacketUInt32ByName(bp, "deviceAddress"); +-- if(version >= 3) +-- ch->handshakeMode = getBridgePacketInt32ByName(bp, "handshakeMode"); +-- if(version >= 3) +-- ch->endianness = getBridgePacketInt32ByName(bp, "endianness"); +-- if(version >= 3) +-- ch->IOVoltage = getBridgePacketInt32ByName(bp, "IOVoltage"); +-- if(version >= 3) +-- ch->maxPacketLength = getBridgePacketUInt32ByName(bp, "maxPacketLength"); +-- if(version >= 3) +-- ch->parity = getBridgePacketInt32ByName(bp, "parity"); +-- if(version >= 3) +-- ch->protocol = getBridgePacketInt32ByName(bp, "protocol"); +-- if(version >= 3) +-- ch->SPIMode = getBridgePacketInt32ByName(bp, "SPIMode"); +-- if(version >= 3) +-- ch->stopBits = getBridgePacketInt32ByName(bp, "stopBits"); +-- if(version >= 3) +-- ch->timeout = getBridgePacketUInt32ByName(bp, "timeout"); +-- if(version >= 3) +-- ch->minTimeout = getBridgePacketUInt32ByName(bp, "minTimeout"); +-- if(version >= 3) +-- ch->maxTimeout = getBridgePacketUInt32ByName(bp, "maxTimeout"); +-- +-- return (EPHIDGET_OK); +--} +-- +--static PhidgetReturnCode CCONV +--_getStatus(PhidgetChannelHandle phid, BridgePacket **bp) { +-- PhidgetDataAdapterHandle ch; +-- +-- ch = (PhidgetDataAdapterHandle)phid; +-- +-- return (createBridgePacket(bp, 0, "_class_version_=%u" +-- ",responseReceived=%d" +-- ",lastData=%8192R" +-- ",lastDataIndex=%u" +-- ",eventData=%8192R" +-- ",lastDataLen=%u" +-- ",lastDataError=%u" +-- ",I2CFormat=%2049R" +-- ",lastDataRead=%d" +-- ",baudRate=%u" +-- ",minBaudRate=%u" +-- ",maxBaudRate=%u" +-- ",dataBits=%u" +-- ",minDataBits=%u" +-- ",maxDataBits=%u" +-- ",deviceAddress=%u" +-- ",handshakeMode=%d" +-- ",endianness=%d" +-- ",IOVoltage=%d" +-- ",maxPacketLength=%u" +-- ",parity=%d" +-- ",protocol=%d" +-- ",SPIMode=%d" +-- ",stopBits=%d" +-- ",timeout=%u" +-- ",minTimeout=%u" +-- ",maxTimeout=%u" +-- ,3 /* class version */ +-- ,ch->responseReceived +-- ,ch->lastData +-- ,ch->lastDataIndex +-- ,ch->eventData +-- ,ch->lastDataLen +-- ,ch->lastDataError +-- ,ch->I2CFormat +-- ,ch->lastDataRead +-- ,ch->baudRate +-- ,ch->minBaudRate +-- ,ch->maxBaudRate +-- ,ch->dataBits +-- ,ch->minDataBits +-- ,ch->maxDataBits +-- ,ch->deviceAddress +-- ,ch->handshakeMode +-- ,ch->endianness +-- ,ch->IOVoltage +-- ,ch->maxPacketLength +-- ,ch->parity +-- ,ch->protocol +-- ,ch->SPIMode +-- ,ch->stopBits +-- ,ch->timeout +-- ,ch->minTimeout +-- ,ch->maxTimeout +-- )); +--} +-- +--static PhidgetReturnCode CCONV +- _bridgeInput(PhidgetChannelHandle phid, BridgePacket *bp) { +- PhidgetDataAdapterHandle ch; +- PhidgetReturnCode res; +-diff -urp libphidget22-1.6.20200417.orig/src/class/distancesensor.gen.c libphidget22-1.6.20200417/src/class/distancesensor.gen.c +---- libphidget22-1.6.20200417.orig/src/class/distancesensor.gen.c 2020-04-17 21:50:46.000000000 +0000 +-+++ libphidget22-1.6.20200417/src/class/distancesensor.gen.c 2020-06-02 13:27:20.497435784 +0000 +-@@ -228,8 +228,8 @@ _initAfterOpen(PhidgetChannelHandle phid +- MOS_PANIC("Unsupported Channel"); +- } +- +-- memset(ch->amplitudes, '\0', 8); +-- memset(ch->distances, '\0', 8); +-+ memset(ch->amplitudes, '\0', sizeof(uint32_t) * 8); +-+ memset(ch->distances, '\0', sizeof(uint32_t) * 8); +- ch->count = 0; +- +- return (ret); +-diff -urp libphidget22-1.6.20200417.orig/src/device/dataadapterdevice.c libphidget22-1.6.20200417/src/device/dataadapterdevice.c +---- libphidget22-1.6.20200417.orig/src/device/dataadapterdevice.c 2020-04-17 21:50:41.000000000 +0000 +-+++ libphidget22-1.6.20200417/src/device/dataadapterdevice.c 2020-06-02 13:28:12.385198805 +0000 +-@@ -699,25 +699,3 @@ PhidgetReturnCode sendDataBuffer(Phidget +- } +- return ret; +- } +-- +-- +--//CRC16 function found from https://ctlsys.com/support/how_to_compute_the_modbus_rtu_message_crc/ +--// Compute the MODBUS RTU CRC +--uint16_t ModRTU_CRC(uint8_t *buf, uint16_t len) +--{ +-- uint16_t crc = 0xFFFF; +-- +-- for (uint16_t pos = 0; pos < len; pos++) { +-- crc ^= (uint16_t)buf[pos]; // XOR byte into least sig. byte of crc +-- +-- for (int i = 8; i != 0; i--) { // Loop over each bit +-- if ((crc & 0x0001) != 0) { // If the LSB is set +-- crc >>= 1; // Shift right and XOR 0xA001 +-- crc ^= 0xA001; +-- } else // Else LSB is not set +-- crc >>= 1; // Just shift right +-- } +-- } +-- // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes) +-- return crc; +--} +-diff -urp libphidget22-1.6.20200417.orig/src/device/genericdevice.c libphidget22-1.6.20200417/src/device/genericdevice.c +---- libphidget22-1.6.20200417.orig/src/device/genericdevice.c 2020-04-17 21:50:41.000000000 +0000 +-+++ libphidget22-1.6.20200417/src/device/genericdevice.c 2020-06-02 13:28:50.317025565 +0000 +-@@ -104,7 +104,7 @@ PhidgetGenericDevice_bridgeInput(Phidget +- case PHIDUID_GENERIC_PHIDUSB: +- len = getBridgePacketArrayLen(bp, 2); +- +-- if (len > (int)phid->OUTPacketLength[0]) +-+ if (len > (size_t)phid->OUTPacketLength[0]) +- return (EPHIDGET_INVALIDARG); +- +- return (PhidgetDevice_transferpacket(bp->iop, (PhidgetDeviceHandle)phid, PHIDGETUSB_REQ_CHANNEL_WRITE, +-@@ -120,7 +120,7 @@ PhidgetGenericDevice_bridgeInput(Phidget +- case PHIDUID_GENERIC_PHIDUSB: +- len = getBridgePacketArrayLen(bp, 1); +- +-- if (len > (int)phid->OUTPacketLength[0]) +-+ if (len > (size_t)phid->OUTPacketLength[0]) +- return (EPHIDGET_INVALIDARG); +- +- return (PhidgetDevice_transferpacket(bp->iop, (PhidgetDeviceHandle)phid, PHIDGETUSB_REQ_DEVICE_WRITE, +-@@ -136,8 +136,8 @@ PhidgetGenericDevice_bridgeInput(Phidget +- case PHIDUID_GENERIC_PHIDUSB: +- len = getBridgePacketInt32(bp, 2); +- +-- if (len > (int)phid->OUTPacketLength[0]) +-- len = (int)phid->OUTPacketLength[0]; +-+ if (len > (size_t)phid->OUTPacketLength[0]) +-+ len = (size_t)phid->OUTPacketLength[0]; +- +- ret = PhidgetDevice_transferpacket(bp->iop, (PhidgetDeviceHandle)phid, PHIDGETUSB_REQ_CHANNEL_READ, +- getBridgePacketInt32(bp, 0), getBridgePacketInt32(bp, 1), +-@@ -170,8 +170,8 @@ PhidgetGenericDevice_bridgeInput(Phidget +- case PHIDUID_GENERIC_PHIDUSB: +- len = getBridgePacketInt32(bp, 1); +- +-- if (len > (int)phid->OUTPacketLength[0]) +-- len = (int)phid->OUTPacketLength[0]; +-+ if (len > (size_t)phid->OUTPacketLength[0]) +-+ len = (size_t)phid->OUTPacketLength[0]; +- +- ret = PhidgetDevice_transferpacket(bp->iop, (PhidgetDeviceHandle)phid, PHIDGETUSB_REQ_DEVICE_READ, +- getBridgePacketInt32(bp, 0), 0, +-diff -urp libphidget22-1.6.20200417.orig/src/phidget.c libphidget22-1.6.20200417/src/phidget.c +---- libphidget22-1.6.20200417.orig/src/phidget.c 2020-04-17 21:50:39.000000000 +0000 +-+++ libphidget22-1.6.20200417/src/phidget.c 2020-06-02 13:30:49.607480749 +0000 +-@@ -2317,7 +2317,7 @@ createPhidgetHIDUSBDevice(const PhidgetU +- #ifdef _WINDOWS +- wcsncpy(conn->DevicePath, (const wchar_t *)devpath, MAX_PATH); +- #elif defined(_LINUX) || defined(_FREEBSD) && !defined(_ANDROID) +-- strncpy(conn->uniqueName, (const char *)devpath, 20); +-+ strncpy(conn->uniqueName, (const char *)devpath, 19); +- #endif +- #if defined(_ANDROID) +- mos_strncpy(conn->dev, (const char *)devpath, sizeof(conn->dev)); +-@@ -2348,7 +2348,7 @@ createPhidgetPHIDUSBDevice(const Phidget +- #ifdef _WINDOWS +- wcsncpy(conn->DevicePath, (const wchar_t *)devpath, MAX_PATH); +- #elif defined(_LINUX) || defined(_FREEBSD) && !defined(_ANDROID) +-- strncpy(conn->uniqueName, (const char *)devpath, 20); +-+ strncpy(conn->uniqueName, (const char *)devpath, 19); +- #endif +- #if defined(_ANDROID) +- mos_strncpy(conn->dev, (const char *)devpath, sizeof(conn->dev)); diff --git a/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/libphidget22_2.1.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/libphidget22_2.1.0-1.bbappend new file mode 100644 index 00000000000..a0eacb05cba --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/libphidget22_2.1.0-1.bbappend @@ -0,0 +1,11 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# WARNING: libphidget22-2.0.1-1-r0 do_populate_lic: libphidget22: No generic license file exists for: LGPL-2 in any provider +# COPYING and COPYING.LESSER in libphidget22-1.4.20190605.tar.gz say GPL-3.0+ and LGPL-3.0+, source files have LGPL-3.0+ +# headers only autotools files are GPL-3.0+ +LICENSE = "LGPL-3.0+" + +DEPENDS += "${PN}-upstream" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-Use-libphidget22-from-libphidget22-upstream-and-norm.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/phidgets-msgs_2.1.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/phidgets-msgs_2.1.0-1.bbappend new file mode 100644 index 00000000000..e198e444ab9 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/phidgets-drivers/phidgets-msgs_2.1.0-1.bbappend @@ -0,0 +1,15 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + python-cmake-module-native \ + python3-empy-native \ + python3-lark-parser-native \ + python3-numpy-native \ + rosidl-adapter-native \ + rosidl-generator-cpp-native \ + rosidl-generator-py-native \ + rosidl-parser-native \ + rosidl-typesupport-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/pybind11-vendor/pybind11-vendor/0001-rolling-pybind11-vendor-don-t-build-pybind11-use-pla.patch b/meta-ros2-galactic/recipes-bbappends/pybind11-vendor/pybind11-vendor/0001-rolling-pybind11-vendor-don-t-build-pybind11-use-pla.patch new file mode 100644 index 00000000000..714e101d283 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/pybind11-vendor/pybind11-vendor/0001-rolling-pybind11-vendor-don-t-build-pybind11-use-pla.patch @@ -0,0 +1,88 @@ +From 224e197b2dff3467e381d69473614721e5a71c43 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 5 Nov 2020 12:32:28 -0800 +Subject: [PATCH] {rolling} pybind11-vendor: don't build pybind11, use platform + recipe python3-pybind11 + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 69 ++------------------------------------------------ + 1 file changed, 2 insertions(+), 67 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9b79b46..5c3fc18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,70 +4,5 @@ project(pybind11_vendor) + + find_package(ament_cmake REQUIRED) + +-macro(build_pybind11) +- set(extra_cmake_args) +- +- # CMAKE_BUILD_TYPE was removed in ros2:pybind11_vendor#3 to eliminate warning +- # on Windows about unused variable. It is only used for tests, which we are +- # not building, and in pybind11Tools.cmake for Linux and Mac. In any case, +- # pybind11 is a headers-only class and does not require building at the time +- # of this vendor package, thus does not require passing in the variable here. +- # It will use the variable value in packages that depend on it for compiling. +- +- if(DEFINED CMAKE_TOOLCHAIN_FILE) +- list(APPEND extra_cmake_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +- if(ANDROID) +- if(DEFINED ANDROID_ABI) +- list(APPEND extra_cmake_args "-DANDROID_ABI=${ANDROID_ABI}") +- endif() +- if(DEFINED ANDROID_CPP_FEATURES) +- list(APPEND extra_cmake_args "-DANDROID_CPP_FEATURES=${ANDROID_CPP_FEATURES}") +- endif() +- if(DEFINED ANDROID_FUNCTION_LEVEL_LINKING) +- list(APPEND extra_cmake_args "-DANDROID_FUNCTION_LEVEL_LINKING=${ANDROID_FUNCTION_LEVEL_LINKING}") +- endif() +- if(DEFINED ANDROID_NATIVE_API_LEVEL) +- list(APPEND extra_cmake_args "-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}") +- endif() +- if(DEFINED ANDROID_NDK) +- list(APPEND extra_cmake_args "-DANDROID_NDK=${ANDROID_NDK}") +- endif() +- if(DEFINED ANDROID_STL) +- list(APPEND extra_cmake_args "-DANDROID_STL=${ANDROID_STL}") +- endif() +- if(DEFINED ANDROID_TOOLCHAIN_NAME) +- list(APPEND extra_cmake_args "-DANDROID_TOOLCHAIN_NAME=${ANDROID_TOOLCHAIN_NAME}") +- endif() +- endif() +- else() +- list(APPEND extra_cmake_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") +- endif() +- list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}") +- +- +- include(ExternalProject) +- ExternalProject_Add(pybind11-2.5.0 +- URL https://github.com/pybind/pybind11/archive/v2.5.0.tar.gz +- URL_MD5 1ad2c611378fb440e8550a7eb6b31b89 +- TIMEOUT 600 +- CMAKE_ARGS +- -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_install +- -DPYBIND11_TEST=OFF +- ${extra_cmake_args} +- ) +- +- # The external project will install to the build folder, but we'll install that on make install. +- install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_install/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX} +- USE_SOURCE_PERMISSIONS +- ) +-endmacro() +- +-# Currently, always build. +-# This could be improved with logic to use installed platform packages. +-build_pybind11() + + ament_package() diff --git a/meta-ros2-galactic/recipes-bbappends/pybind11-vendor/pybind11-vendor_2.2.6-1.bbappend b/meta-ros2-galactic/recipes-bbappends/pybind11-vendor/pybind11-vendor_2.2.6-1.bbappend new file mode 100644 index 00000000000..7ef9a94f83d --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/pybind11-vendor/pybind11-vendor_2.2.6-1.bbappend @@ -0,0 +1,8 @@ +# Copyright (c) 2020-2021 LG Electronics, Inc. + +DEPENDS += "python3-pybind11" +RDEPENDS_${PN} += "python3-pybind11" +ALLOW_EMPTY_${PN} = "1" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-rolling-pybind11-vendor-don-t-build-pybind11-use-pla.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/qt-gui-core/qt-gui-cpp_2.0.0-4.bbappend b/meta-ros2-galactic/recipes-bbappends/qt-gui-core/qt-gui-cpp_2.0.0-4.bbappend new file mode 100644 index 00000000000..e149654a191 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/qt-gui-core/qt-gui-cpp_2.0.0-4.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# This is needed to set OE_QMAKE_PATH_EXTERNAL_HOST_BINS to resolve: +# | -- Found PythonLibs: ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/qt-gui-cpp/1.0.8-1-r0/recipe-sysroot/usr/lib/libpython3.8.so (found suitable version "3.8.2", minimum required is "3.8") +# | CMake Warning at ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/qt-gui-cpp/1.0.8-1-r0/recipe-sysroot/usr/lib/cmake/Qt5/Qt5Config.cmake:7 (message): +# | SkippingbecauseOE_QMAKE_PATH_EXTERNAL_HOST_BINSisnotdefined +# | Call Stack (most recent call first): +# | src/qt_gui_cpp/CMakeLists.txt:3 (find_package) +# | +# | +# | CMake Error at src/qt_gui_cpp/CMakeLists.txt:35 (qt5_wrap_cpp): +# | Unknown CMake command "qt5_wrap_cpp". +inherit ${@bb.utils.contains_any('ROS_WORLD_SKIP_GROUPS', ['qt5', 'pyqt5'], '', 'cmake_qt5', d)} + +# | CMake Warning at ros2-foxy-dunfell/tmp-glibc/work/core2-64-oe-linux/qt-gui-cpp/1.0.8-1-r0/recipe-sysroot/usr/share/python_qt_binding/cmake/sip_helper.cmake:27 (message): +# | SIP binding generator NOT available. +DEPENDS += "sip3-native" diff --git a/meta-ros2-galactic/recipes-bbappends/rc-common-msgs/rc-common-msgs_0.5.3-2.bbappend b/meta-ros2-galactic/recipes-bbappends/rc-common-msgs/rc-common-msgs_0.5.3-2.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rc-common-msgs/rc-common-msgs_0.5.3-2.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rc-dynamics-api/rc-dynamics-api_0.10.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rc-dynamics-api/rc-dynamics-api_0.10.3-1.bbappend new file mode 100644 index 00000000000..4e2caf1f9f1 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rc-dynamics-api/rc-dynamics-api_0.10.3-1.bbappend @@ -0,0 +1,10 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# it tries to run js_embed and fails with: +# /bin/sh: js_embed: command not found +# because it does depend only on target protobuf, not protobuf-native: +DEPENDS += "protobuf-native" + +# ERROR: rc-dynamics-api-0.10.3-1-r0 do_package_qa: QA Issue: +# non -dev/-dbg/nativesdk- package contains symlink .so: rc-dynamics-api path '/work/core2-64-oe-linux/rc-dynamics-api/0.10.3-1-r0/packages-split/rc-dynamics-api/usr/lib/librc_dynamics_api.so' [dev-so] +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/rc-genicam-api/rc-genicam-api/0001-GenicamConfig.cmake-detect-ARCHITECTURE-only-when-no.patch b/meta-ros2-galactic/recipes-bbappends/rc-genicam-api/rc-genicam-api/0001-GenicamConfig.cmake-detect-ARCHITECTURE-only-when-no.patch new file mode 100644 index 00000000000..210307d1b44 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rc-genicam-api/rc-genicam-api/0001-GenicamConfig.cmake-detect-ARCHITECTURE-only-when-no.patch @@ -0,0 +1,93 @@ +From 64ef104e0ba5f7238899742fd3a3264735a6d72c Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 12 May 2020 05:05:43 -0700 +Subject: [PATCH] GenicamConfig.cmake: detect ARCHITECTURE only when not set + already + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + baumer/CMakeLists.txt | 2 ++ + cmake/PROJECTConfig.cmake.in | 2 ++ + genicam/CMakeLists.txt | 2 ++ + genicam/GenicamConfig.cmake | 2 ++ + 4 files changed, 8 insertions(+) + +diff --git a/baumer/CMakeLists.txt b/baumer/CMakeLists.txt +index aa9be06..4aece19 100644 +--- a/baumer/CMakeLists.txt ++++ b/baumer/CMakeLists.txt +@@ -1,4 +1,5 @@ + ++if(NOT DEFINED ARCHITECTURE) + if (UNIX) + # try to get architecture from compiler + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE CXX_MACHINE) +@@ -10,6 +11,7 @@ elseif (WIN32) + set(ARCHITECTURE WIN64_x64) + endif () + endif () ++endif () + + message(STATUS "Detected architecture ${ARCHITECTURE}") + +diff --git a/cmake/PROJECTConfig.cmake.in b/cmake/PROJECTConfig.cmake.in +index 0634f61..1dfbd19 100644 +--- a/cmake/PROJECTConfig.cmake.in ++++ b/cmake/PROJECTConfig.cmake.in +@@ -18,6 +18,7 @@ function(resolve_genicam) + list(APPEND @PROJECT_NAME_UPPER@_INCLUDE_DIRS "${GENICAM_INCLUDE_DIR}") + set(@PROJECT_NAME_UPPER@_INCLUDE_DIRS "${@PROJECT_NAME_UPPER@_INCLUDE_DIRS}" PARENT_SCOPE) + ++ if(NOT DEFINED ARCHITECTURE) + if (UNIX) + # try to get architecture from compiler + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE CXX_MACHINE) +@@ -29,6 +30,7 @@ function(resolve_genicam) + set(ARCHITECTURE WIN64_x64) + endif () + endif () ++ endif () + + message(STATUS "Detected architecture ${ARCHITECTURE}") + +diff --git a/genicam/CMakeLists.txt b/genicam/CMakeLists.txt +index 6ec8aa8..7fd9f4d 100644 +--- a/genicam/CMakeLists.txt ++++ b/genicam/CMakeLists.txt +@@ -1,5 +1,6 @@ + project(genicam CXX) + ++if(NOT DEFINED ARCHITECTURE) + if (UNIX) + # try to get architecture from compiler + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE CXX_MACHINE) +@@ -11,6 +12,7 @@ elseif (WIN32) + set(ARCHITECTURE WIN64_x64) + endif () + endif () ++endif () + + message(STATUS "Detected architecture ${ARCHITECTURE}") + +diff --git a/genicam/GenicamConfig.cmake b/genicam/GenicamConfig.cmake +index 66545e4..4fc4413 100644 +--- a/genicam/GenicamConfig.cmake ++++ b/genicam/GenicamConfig.cmake +@@ -6,6 +6,7 @@ + + get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/" ABSOLUTE) + ++if(NOT DEFINED ARCHITECTURE) + if (UNIX) + # try to get architecture from compiler + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE CXX_MACHINE) +@@ -17,6 +18,7 @@ elseif (WIN32) + set(ARCHITECTURE WIN64_x64) + endif () + endif () ++endif () + + message(STATUS "Detected architecture ${ARCHITECTURE}") + diff --git a/meta-ros2-galactic/recipes-bbappends/rc-genicam-api/rc-genicam-api_2.5.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rc-genicam-api/rc-genicam-api_2.5.0-1.bbappend new file mode 100644 index 00000000000..9efd0f81292 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rc-genicam-api/rc-genicam-api_2.5.0-1.bbappend @@ -0,0 +1,84 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# find_package(Genicam REQUIRED NO_CMAKE_PATH PATHS ${CMAKE_CURRENT_SOURCE_DIR}/genicam CONFIG NO_DEFAULT_PATH) +# doesn't work for some reason, help it by setting Genicam_DIR +EXTRA_OECMAKE += "-DGenicam_DIR=${S}/genicam" + +# These are prebuilt binaries +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/libGenApi_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/libGCBase_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/libNodeMapData_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/libXmlParser_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/liblog4cpp_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/libLog_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package: QA Issue: File '/usr/lib/libMathParser_gcc46_v3_1.so' from rc-genicam-api was already stripped, this will prevent future debugging! [already-stripped] +INSANE_SKIP_${PN} += "already-stripped" + +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package_qa: QA Issue: non -dev/-dbg/nativesdk- package contains symlink .so: rc-genicam-api path '/work/raspberrypi4-webos-linux-gnueabi/rc-genicam-api/2.3.3-1-r0/packages-split/rc-genicam-api/usr/lib/librc_genicam_api.so' [dev-so] +inherit ros_insane_dev_so + +# ERROR: rc-genicam-api-2.3.3-1-r0 do_package_qa: QA Issue: /usr/share/rc_genicam_api/net_perf_check.sh contained in package rc-genicam-api requires /bin/bash, but no providers found in RDEPENDS_rc-genicam-api? [file-rdeps] +RDEPENDS_${PN} += "bash" + +# This is needed only for webOS OSE and it's not in meta-ros-webos, because +# then meta-ros-webos would need to include this .bbappend just when +# meta-ros1-melodic layer is included +VIRTUAL-RUNTIME_bash ?= "bash" +RDEPENDS_${PN}_append_class-target_webos = " ${VIRTUAL-RUNTIME_bash}" +RDEPENDS_${PN}_remove_class-target_webos = "${@oe.utils.conditional('WEBOS_PREFERRED_PROVIDER_FOR_BASH', 'busybox', 'bash', '', d)}" + +# Uses cxx -dumpmachine to check the target architecture and fails for qemux86 +# because it detects i586 and supports only i686 (and arm, aarch64, x86_64) +# EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE CXX_MACHINE) +# string(REGEX REPLACE "([a-zA-Z_0-9]+).*" "\\1" ARCHITECTURE ${CXX_MACHINE}) +# +# Restrict this recipe with COMPATIBLE_MACHINE and then just force +# ARCHITECTURE with EXTRA_OECMAKE + +COMPATIBLE_MACHINE = "(^$)" +COMPATIBLE_MACHINE_x86-64 = "(.*)" +COMPATIBLE_MACHINE_x86 = "(.*)" +COMPATIBLE_MACHINE_aarch64 = "(.*)" +COMPATIBLE_MACHINE_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '(^$)', '(.*)', d)}" +COMPATIBLE_MACHINE_armv7ve = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '(^$)', '(.*)', d)}" + +RC_GENICAM_API_ARCHITECTURE_x86-64 = "x86_64" +RC_GENICAM_API_ARCHITECTURE_x86 = "i686" +RC_GENICAM_API_ARCHITECTURE_aarch64 = "aarch64" +RC_GENICAM_API_ARCHITECTURE_armv7a = "arm" +RC_GENICAM_API_ARCHITECTURE_armv7ve = "arm" + +# RC_PROJECT_VERSION is set in cmake/project_version.cmake by git describe checking for 'v?([0-9.]+).*' tag +# but in roboception-gbp/rc_genicam_api-release repo there are no suitable tags: +# 2.5.0-1-r0/git$ git describe --all +# tags/release/rolling/rc_genicam_api/2.5.0-1 +# so it ends 0.0.0 triggering an warning: +# CMake Warning at cmake/project_version.cmake:124 (message): +# Version from package.xml (2.5.0) doesn't match RC_PROJECT_VERSION (0.0.0) +# and then more importantly rc-genicam-driver error: +# CMake Error at CMakeLists.txt:29 (find_package): +# Could not find a configuration file for package "RC_GENICAM_API" that is +# compatible with requested version "2.4.4". +# +# The following configuration files were considered but not accepted: +# +# TOPDIR/tmp-glibc/work/qemux86-webos-linux/rc-genicam-driver/0.1.3-1-r0/recipe-sysroot/usr/lib/rc_genicam_api/RC_GENICAM_APIConfig.cmake, version: 0.0.0 +RC_PROJECT_VERSION = "${@'${PV}'.split('-')[0]}" + +EXTRA_OECMAKE += "-DARCHITECTURE=${RC_GENICAM_API_ARCHITECTURE} -DRC_PROJECT_VERSION=${RC_PROJECT_VERSION}" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-GenicamConfig.cmake-detect-ARCHITECTURE-only-when-no.patch" + +# in version 2.4.1-1 only aarch64 prebuilt binaries ware missing GNU_HASH, but in 2.5.0-1 it's missing for all 4 supported architectures (32_ARMhf, 32_i86, 64_ARM, 64_x64) +INSANE_SKIP_${PN} += " ldflags" + +# rc-genicam-driver/0.1.3-1-r0/recipe-sysroot/usr/lib/rc_genicam_api/RC_GENICAM_APITargets.cmake:110 (message): +# expects the binary to exist: +# The imported target "rc_genicam_api::gc_info" references the file +# "TOPDIR/tmp-glibc/work/core2-64-oe-linux/rc-genicam-driver/0.1.3-1-r0/recipe-sysroot/usr/bin/gc_info" +# OE doesn't stage ${bindir} for target recipes, but in this case the rc_genicam_api::gc_info isn't +# being called during the cross-build, so we can include it just to keep CMake happy +sysroot_stage_all_append() { + sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir} +} diff --git a/meta-ros2-galactic/recipes-bbappends/rc-genicam-driver/rc-genicam-driver_0.1.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rc-genicam-driver/rc-genicam-driver_0.1.3-1.bbappend new file mode 100644 index 00000000000..167e9cc2b75 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rc-genicam-driver/rc-genicam-driver_0.1.3-1.bbappend @@ -0,0 +1,21 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# depends on rc-genicam-api, use the same restriction +COMPATIBLE_MACHINE = "(^$)" +COMPATIBLE_MACHINE_x86-64 = "(.*)" +COMPATIBLE_MACHINE_x86 = "(.*)" +COMPATIBLE_MACHINE_aarch64 = "(.*)" +COMPATIBLE_MACHINE_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '(^$)', '(.*)', d)}" +COMPATIBLE_MACHINE_armv7ve = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '(^$)', '(.*)', d)}" + +# RC_PROJECT_VERSION is set in cmake/project_version.cmake by git describe checking for 'v?([0-9.]+).*' tag +# but in roboception-gbp/rc_genicam_api-release repo there are no suitable tags: +# rc-genicam-driver/0.1.3-1-r0/git$ git describe --all +# tags/release/rolling/rc_genicam_driver/0.1.3-1 +# so it ends 0.0.0 triggering an warning: +# -- PACKAGE_XML_VERSION: 0.1.3 +# CMake Warning at cmake/project_version.cmake:137 (message): +# Version from package.xml (0.1.3) doesn't match RC_PROJECT_VERSION (0.0.0) +RC_PROJECT_VERSION = "${@'${PV}'.split('-')[0]}" + +EXTRA_OECMAKE += "-DRC_PROJECT_VERSION=${RC_PROJECT_VERSION}" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/action-msgs_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/action-msgs_1.0.3-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/action-msgs_1.0.3-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/builtin-interfaces_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/builtin-interfaces_1.0.3-1.bbappend new file mode 100644 index 00000000000..086e114dde1 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/builtin-interfaces_1.0.3-1.bbappend @@ -0,0 +1,40 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + fastcdr \ + fastrtps \ +" + +# usr/share/builtin_interfaces/cmake/ament_cmake_export_dependencies-extras.cmake contains: +# +# set(_exported_dependencies "rosidl_default_runtime") + +ROS_EXPORT_DEPENDS += "rosidl-default-runtime" + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c \ + rosidl-typesupport-fastrtps-cpp \ + rosidl-runtime-c \ + rosidl-runtime-cpp \ + fastrtps-cmake-module \ + python-cmake-module \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-generator-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/composition-interfaces_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/composition-interfaces_1.0.3-1.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/composition-interfaces_1.0.3-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/lifecycle-msgs_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/lifecycle-msgs_1.0.3-1.bbappend new file mode 100644 index 00000000000..7c58570b4cc --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/lifecycle-msgs_1.0.3-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/rcl-interfaces_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/rcl-interfaces_1.0.3-1.bbappend new file mode 100644 index 00000000000..e30b87073b8 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/rcl-interfaces_1.0.3-1.bbappend @@ -0,0 +1,27 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ + fastrtps-cmake-module \ + rmw-fastrtps-cpp \ + rmw-fastrtps-shared-cpp \ + rmw-implementation \ + rmw-implementation-cmake \ + rosidl-generator-cpp \ + rosidl-typesupport-fastrtps-c \ + rosidl-typesupport-fastrtps-cpp \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rmw-fastrtps-cpp-native \ + rmw-fastrtps-shared-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/rosgraph-msgs_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/rosgraph-msgs_1.0.3-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/rosgraph-msgs_1.0.3-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/statistics-msgs_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/statistics-msgs_1.0.3-1.bbappend new file mode 100644 index 00000000000..dd0f563ce0e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/statistics-msgs_1.0.3-1.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/test-msgs_1.0.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/test-msgs_1.0.3-1.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl-interfaces/test-msgs_1.0.3-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rcl/rcl-yaml-param-parser/0001-CMakeLists.txt-use-pkg-config-to-find-yaml.patch b/meta-ros2-galactic/recipes-bbappends/rcl/rcl-yaml-param-parser/0001-CMakeLists.txt-use-pkg-config-to-find-yaml.patch new file mode 100644 index 00000000000..df173150d87 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl/rcl-yaml-param-parser/0001-CMakeLists.txt-use-pkg-config-to-find-yaml.patch @@ -0,0 +1,64 @@ +From 1eb7cb44355b3bbc39a14570d3dc81bd69825c39 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 9 Jul 2020 01:44:31 -0700 +Subject: [PATCH] CMakeLists.txt: use pkg-config to find yaml + +* yaml-0.1.8 built with CMake in libyaml-vendor ExternalProject_add call + provides yamlConfig, but platform yaml-0.2* from oe-core built with + autotools provides only pkg-config file yaml-1.0.pc, I've tried to change + oe-core recipe from autotools to cmake, but it seems to be broken in + upstream libyaml as shown bellow, we should continue to use upstream preferred autotools + https://github.com/yaml/libyaml/issues/141 + https://github.com/yaml/libyaml/issues/138 + +| CMake Error: File /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/yaml-0.2.5/cmake/config.h.in does not exist. +| CMake Error at CMakeLists.txt:51 (configure_file): +| configure_file Problem configuring file +| +| +| CMake Error at CMakeLists.txt:103 (add_subdirectory): +| The source directory +| +| /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/yaml-0.2.5/tests +| +| does not contain a CMakeLists.txt file. +| +| +| CMake Error: File /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/yaml-0.2.5/yamlConfig.cmake.in does not exist. +| CMake Error at /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/recipe-sysroot-native/usr/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake:330 (configure_file): +| configure_file Problem configuring file +| Call Stack (most recent call first): +| CMakeLists.txt:114 (configure_package_config_file) +| +| +| CMake Error: File /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/yaml-0.2.5/yamlConfig.cmake.in does not exist. +| CMake Error at /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/recipe-sysroot-native/usr/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake:330 (configure_file): +| configure_file Problem configuring file +| Call Stack (most recent call first): +| CMakeLists.txt:130 (configure_package_config_file) +| +| +| -- Configuring incomplete, errors occurred! +| See also "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/libyaml/0.2.5-r0/build/CMakeFiles/CMakeOutput.log". +| WARNING: exit code 1 from a shell command. + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 397f662..341aeaf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,8 @@ find_package(ament_cmake_ros REQUIRED) + find_package(rcutils REQUIRED) + find_package(rmw REQUIRED) + find_package(libyaml_vendor REQUIRED) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(yaml REQUIRED yaml-0.1) + + # Default to C++14 + if(NOT CMAKE_CXX_STANDARD) diff --git a/meta-ros2-galactic/recipes-bbappends/rcl/rcl-yaml-param-parser_3.1.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcl/rcl-yaml-param-parser_3.1.1-1.bbappend new file mode 100644 index 00000000000..42db3a33625 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcl/rcl-yaml-param-parser_3.1.1-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +DEPENDS += "libyaml" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-use-pkg-config-to-find-yaml.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/rclc/rclc_1.0.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rclc/rclc_1.0.1-1.bbappend new file mode 100644 index 00000000000..4355d159425 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rclc/rclc_1.0.1-1.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + std-msgs \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rclcpp/rclcpp_9.0.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rclcpp/rclcpp_9.0.1-1.bbappend new file mode 100644 index 00000000000..6179ad09bd5 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rclcpp/rclcpp_9.0.1-1.bbappend @@ -0,0 +1,7 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + python3-empy-native \ + rcutils-native \ +" + diff --git a/meta-ros2-galactic/recipes-bbappends/rcutils/rcutils_4.0.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rcutils/rcutils_4.0.2-1.bbappend new file mode 100644 index 00000000000..4d35cfe58e9 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rcutils/rcutils_4.0.2-1.bbappend @@ -0,0 +1,14 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +# libatomic is just one of the packages provided by gcc-runtime recipe +# but gcc-runtime recipe doesn't have libatomic in PROVIDES, so we cannot map +# libatomic in rosdep to libatomic (without adding libatomic to PROVIDES in gcc-runtime +# bbappend). And we cannot leave gcc-runtime in ROS_EXEC_DEPENDS, because +# gcc-runtime recipe doesn't have PN in PACKAGES (and we would still depend +# on do_package shlibs handling to add runtime dependency on actual package +# with libatomic library) +ROS_EXEC_DEPENDS_remove = "gcc-runtime" +# there is no native support for gcc-runtime, so also no libatomic, add it only for target builds +ROS_EXEC_DEPENDS_append-class-target = " libatomic" +# and also remove it from build time depends when buiding native rc-utils +DEPENDS_remove_class-native = "gcc-runtime-native gcc-runtime" diff --git a/meta-ros2-galactic/recipes-bbappends/rmw-cyclonedds/rmw-cyclonedds-cpp_0.22.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rmw-cyclonedds/rmw-cyclonedds-cpp_0.22.1-1.bbappend new file mode 100644 index 00000000000..e89d86b83e6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rmw-cyclonedds/rmw-cyclonedds-cpp_0.22.1-1.bbappend @@ -0,0 +1,10 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-cmake-native \ + rosidl-generator-cpp-native \ + rosidl-default-runtime \ +" + +# for rmw-implementation +BBCLASSEXTEND = "native" diff --git a/meta-ros2-galactic/recipes-bbappends/rmw-dds-common/rmw-dds-common_1.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rmw-dds-common/rmw-dds-common_1.2.1-1.bbappend new file mode 100644 index 00000000000..54934fd9248 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rmw-dds-common/rmw-dds-common_1.2.1-1.bbappend @@ -0,0 +1,27 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + fastcdr \ + fastrtps \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ + rosidl-typesupport-fastrtps-c \ + rosidl-typesupport-fastrtps-cpp \ + rosidl-runtime-c \ + rosidl-runtime-cpp \ + fastrtps-cmake-module \ + python-cmake-module \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ +" + +#inherit python3native diff --git a/meta-ros2-galactic/recipes-bbappends/rmw-fastrtps/rmw-fastrtps-shared-cpp_5.0.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rmw-fastrtps/rmw-fastrtps-shared-cpp_5.0.0-1.bbappend new file mode 100644 index 00000000000..c01154ebd3f --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rmw-fastrtps/rmw-fastrtps-shared-cpp_5.0.0-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-cmake \ + rosidl-default-runtime \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rmw-implementation/rmw-implementation_%.bbappend b/meta-ros2-galactic/recipes-bbappends/rmw-implementation/rmw-implementation_%.bbappend new file mode 100644 index 00000000000..d53be2402fe --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rmw-implementation/rmw-implementation_%.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020-2021 LG Electronics, Inc. + +ROS_BUILD_DEPENDS_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'rmw-connext-cpp rmw-connextdds', '', d)}" + +ROS_BUILD_DEPENDS_append = "rosidl-adapter-native" +ROS_EXEC_DEPENDS_append = "rmw-fastrtps-cpp" diff --git a/meta-ros2-galactic/recipes-bbappends/ros-canopen/can-msgs_2.0.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/ros-canopen/can-msgs_2.0.0-2.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros-canopen/can-msgs_2.0.0-2.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace/0001-Don-t-use-CMAKE_INSTALL_PREFIX-as-sysroot-for-cross-.patch b/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace/0001-Don-t-use-CMAKE_INSTALL_PREFIX-as-sysroot-for-cross-.patch new file mode 100644 index 00000000000..f7493976f7a --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace/0001-Don-t-use-CMAKE_INSTALL_PREFIX-as-sysroot-for-cross-.patch @@ -0,0 +1,24 @@ +From a1e3a61864ad7e81653c4adcc0360231b7a6238f Mon Sep 17 00:00:00 2001 +From: JeongBong Seo +Date: Fri, 5 Apr 2019 14:54:08 +0900 +Subject: [PATCH] Don't use CMAKE_INSTALL_PREFIX as sysroot for cross-compile + +Upstream-Status: Pending + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 880d8ea..544785c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,7 +14,7 @@ else() + set(PYTHON_INSTALL_DIR "lib/python${PYTHON_MAJOR_MINOR}/site-packages") + set(SHELL_EXT "sh") + endif() +-set(AMENT_PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}/ament_package") ++set(AMENT_PACKAGE_DIR "$ENV{STAGING_DIR_NATIVE}/usr/${PYTHON_INSTALL_DIR}/ament_package") + if(NOT EXISTS "${AMENT_PACKAGE_DIR}") + # Check for an .egg-link file and use the listed directory if it exists + get_filename_component(AMENT_PACKAGE_EGG_LINK "${AMENT_PACKAGE_DIR}" DIRECTORY) diff --git a/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace_%.bbappend b/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace_%.bbappend new file mode 100644 index 00000000000..40e3deeee5d --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace_%.bbappend @@ -0,0 +1,58 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +# ASSERT( == /usr) +# ros-workspace installs its setup scripts under , which is an unnatural location when is /usr. Move them to be +# under /profile.d/ros and create "ros_" prefixed symlinks to them under . +# +# Create a ros.sh that sources ros/setup.sh, thereby setting up the ROS workspace for every login. Place it in a separate package +# which will be added to images when IMAGE_FEATURES contains "ros-implicit-workspace" +do_install_append() { + profile_dir=${sysconfdir}/profile.d/ros + mkdir -p ${D}$profile_dir + cd ${D}$profile_dir + + mv ${D}${prefix}/*setup.bash . + mv ${D}${prefix}/*setup.zsh . + mv ${D}${prefix}/*setup.sh . + mv ${D}${prefix}/_local_setup_util.py . + + for f in *setup.bash *setup.zsh; do + # Hardcode AMENT_CURRENT_PREFIX and the directory where these files reside. + sed -i -e '/AMENT_CURRENT_PREFIX=/ s@=.*@=${prefix}@' \ + -e '/\$AMENT_CURRENT_PREFIX/ s@\$AMENT_CURRENT_PREFIX@'$profile_dir'@' $f + done + + # Add special case handling for AMENT_CURRENT_PREFIX == /usr + sed -i -e '/for _path.*_UNIQUE_PREFIX_PATH.*do/ s@do.*@do [ $_path = ${prefix} ] \&\& _path='$profile_dir'@' \ + -e '/AMENT_CURRENT_PREFIX=.*_path/ s@_path.*@_path; [ $_path = '$profile_dir' ] \&\& AMENT_CURRENT_PREFIX=${prefix}@' \ + setup.sh + + # Don't attempt to use the build-time Python executable on the target and hardcode the directory where _order_packages.py + # resides. + sed -i -e '/^_ament_python_executable=/ s@=.*@=${bindir}/${PYTHON_PN}@' \ + -e '/_local_setup_util\.py/ s@\$_ament_prefix_sh_AMENT_CURRENT_PREFIX/@'$profile_dir'/@' \ + local_setup.sh + + # This script assumes, that it's installed in root of ROS distro instalation (e.g. /opt/ros/eloquent/_local_setup_util.py + # in our setup it's installed in /etc/profile.d/ros/_local_setup_util.py) and uses it's path to search for ament packages: + # https://github.com/ament/ament_package/commit/0a41c282b36902cee6b64f7c80138b93c729fb7b#diff-f837dfb214b29ba2075cb54047ffa159R54 + # and then also passes it's path in get_commands() call as a prefix: + # https://github.com/ament/ament_package/commit/0a41c282b36902cee6b64f7c80138b93c729fb7b#diff-f837dfb214b29ba2075cb54047ffa159R62 + # so it wasn't finding anything in our setup, change it to ${prefix} and drop all this when we switch ROS2 to use ros_opt_prefix.bbclass + sed -i -e "s#__file__#'${libdir}'#g" _local_setup_util.py + + mkdir -p ${D}${bindir} + for f in *setup.bash *setup.zsh *setup.sh; do + ln -s $profile_dir/$f ${D}${bindir}/ros_$f + done + + echo ". $profile_dir/setup.sh" > ../ros.sh + + cd - > /dev/null +} + +PACKAGES =+ "${PN}-implicitworkspace" + +FILES_${PN}-implicitworkspace = " \ + ${sysconfdir}/profile.d/ros.sh \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace_1.0.2-1.bbappend b/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace_1.0.2-1.bbappend new file mode 100644 index 00000000000..c0365550cb2 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros-workspace/ros-workspace_1.0.2-1.bbappend @@ -0,0 +1,14 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILD_DEPENDS_remove = "ament-cmake-core" +ROS_BUILD_DEPENDS_remove = "ament-package" +ROS_BUILDTOOL_DEPENDS += " \ + ament-cmake-core-native \ + ament-package-native \ +" + +# The package find files from CMAKE_INSTALL_PREFIX that is just absolute "/usr". +# Need to pass the native sysroot folder path. +export STAGING_DIR_NATIVE +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI_append = " file://0001-Don-t-use-CMAKE_INSTALL_PREFIX-as-sysroot-for-cross-.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ouster-msgs_0.2.0-4.bbappend b/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ouster-msgs_0.2.0-4.bbappend new file mode 100644 index 00000000000..072127df354 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ouster-msgs_0.2.0-4.bbappend @@ -0,0 +1,17 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + ament-cmake-gmock \ + ament-cmake-gtest \ + ament-cmake-pytest \ + ament-cmake-ros \ + python3-numpy-native \ + rosidl-adapter-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-generator-py-native \ + rosidl-typesupport-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ros2-ouster/0001-CMakeLists.txt-use-pkg-config-to-find-jsoncpp.patch b/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ros2-ouster/0001-CMakeLists.txt-use-pkg-config-to-find-jsoncpp.patch new file mode 100644 index 00000000000..29c1d4094d6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ros2-ouster/0001-CMakeLists.txt-use-pkg-config-to-find-jsoncpp.patch @@ -0,0 +1,59 @@ +From f354089ad28ba13fd623e0815d66d9409bfec668 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 4 Feb 2020 16:36:22 +0000 +Subject: [PATCH] CMakeLists.txt: use pkg-config to find jsoncpp + +* the jsoncpp-1.8.4 in meta-oe/warrior doesn't have the cmake support + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 6 ++++-- + include/ros2_ouster/OS1/OS1.hpp | 2 +- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 87351e5..2194304 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,11 +16,13 @@ find_package(pcl_conversions REQUIRED) + find_package(ouster_msgs REQUIRED) + find_package(PCL REQUIRED COMPONENTS common) + +-find_package(jsoncpp REQUIRED) ++pkg_check_modules(JSONCPP jsoncpp REQUIRED) ++# find_package(jsoncpp REQUIRED) + + include_directories( + include + ${PCL_INCLUDE_DIRS} ++ ${JSONCPP_INCLUDE_DIRS} + ) + + set(executable_name ouster_driver) +@@ -52,7 +54,7 @@ ament_target_dependencies(${library_name} + ) + + target_link_libraries(${library_name} +- jsoncpp ++ ${JSONCPP_LIBRARIES} + ${PCL_LIBRARIES} + ) + +diff --git a/include/ros2_ouster/OS1/OS1.hpp b/include/ros2_ouster/OS1/OS1.hpp +index 1b7039f..3a9eb4c 100644 +--- a/include/ros2_ouster/OS1/OS1.hpp ++++ b/include/ros2_ouster/OS1/OS1.hpp +@@ -37,7 +37,7 @@ + #include "sys/socket.h" + #include "sys/types.h" + +-#include "jsoncpp/json/json.h" ++#include "json/json.h" + #include "ros2_ouster/OS1/OS1_packet.hpp" + #include "ros2_ouster/interfaces/metadata.hpp" + +-- +2.17.1 + diff --git a/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ros2-ouster_0.2.0-4.bbappend b/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ros2-ouster_0.2.0-4.bbappend new file mode 100644 index 00000000000..c3c3a14d6d4 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros2-ouster-drivers/ros2-ouster_0.2.0-4.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +DEPENDS += "jsoncpp" +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-use-pkg-config-to-find-jsoncpp.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2cli-test-interfaces_0.13.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2cli-test-interfaces_0.13.0-1.bbappend new file mode 100644 index 00000000000..a749832cfb6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2cli-test-interfaces_0.13.0-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +DEPENDS += "\ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2cli_0.13.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2cli_0.13.0-1.bbappend new file mode 100644 index 00000000000..9901bdf07da --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2cli_0.13.0-1.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Needed to run ros2 commands on the target. +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-netifaces \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-pyparsing \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-xmlrpc \ + ${PYTHON_PN}-typing \ + rosidl-generator-py \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2doctor_0.13.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2doctor_0.13.0-1.bbappend new file mode 100644 index 00000000000..8bcfcc968f0 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ros2cli/ros2doctor_0.13.0-1.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_EXEC_DEPENDS += "python3-packaging" diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-compression-zstd/0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-compression-zstd/0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch new file mode 100644 index 00000000000..0addd31b2c5 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-compression-zstd/0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch @@ -0,0 +1,69 @@ +From a8d6d068fbb098ed6f9bbae66c6724abb39af36a Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 26 Jun 2020 07:30:46 -0700 +Subject: [PATCH] CMakeLists.txt: drop dependency on zstd_vendor + +* zstd should be good enough + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 30 +++++++++++++++++++++++------- + 1 file changed, 23 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d985c201..352970e3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,8 +24,8 @@ find_package(ament_cmake REQUIRED) + find_package(pluginlib REQUIRED) + find_package(rcpputils REQUIRED) + find_package(rosbag2_compression REQUIRED) +-find_package(zstd_vendor REQUIRED) +-find_package(zstd REQUIRED) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(ZSTD libzstd REQUIRED) + + add_library(${PROJECT_NAME} SHARED + src/rosbag2_compression_zstd/compression_utils.cpp +@@ -37,8 +37,7 @@ target_include_directories(${PROJECT_NAME} + $) + ament_target_dependencies(${PROJECT_NAME} + rcpputils +- rosbag2_compression +- zstd) ++ rosbag2_compression) + target_compile_definitions(${PROJECT_NAME} PRIVATE ROSBAG2_COMPRESSION_ZSTD_BUILDING_DLL) + pluginlib_export_plugin_description_file(rosbag2_compression plugin_description.xml) + +@@ -56,9 +55,26 @@ install( + ament_export_include_directories(include) + ament_export_libraries(${PROJECT_NAME}) + ament_export_targets(export_${PROJECT_NAME}) +-# order matters here, first vendor, then zstd +-ament_export_dependencies(rcpputils rosbag2_compression zstd_vendor zstd) +- ++# don't export zstd as we don't provide zstd from zstd-vendor and rosbag2-{py,transport} would fail with: ++# CMake Error at TOPDIR/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/rosbag2-py/0.6.0-1-r0/recipe-sysroot/usr/share/rosbag2_compression/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package): ++# By not providing "Findzstd.cmake" in CMAKE_MODULE_PATH this project has ++# asked CMake to find a package configuration file provided by "zstd", but ++# CMake did not find one. ++# ++# Could not find a package configuration file provided by "zstd" with any of ++# the following names: ++# ++# zstdConfig.cmake ++# zstd-config.cmake ++# ++# Add the installation prefix of "zstd" to CMAKE_PREFIX_PATH or set ++# "zstd_DIR" to a directory containing one of the above files. If "zstd" ++# provides a separate development package or SDK, be sure it has been ++# installed. ++# Call Stack (most recent call first): ++# TOPDIR/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/rosbag2-py/0.6.0-1-r0/recipe-sysroot/usr/share/rosbag2_compression/cmake/rosbag2_compressionConfig.cmake:41 (include) ++# CMakeLists.txt:21 (find_package) ++ament_export_dependencies(pluginlib rcpputils rcutils rosbag2_cpp rosbag2_storage) + + if(BUILD_TESTING) + find_package(ament_cmake_gmock REQUIRED) diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-compression-zstd_0.7.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-compression-zstd_0.7.0-1.bbappend new file mode 100644 index 00000000000..5ba67f8e1ea --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-compression-zstd_0.7.0-1.bbappend @@ -0,0 +1,7 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-drop-dependency-on-zstd_vendor.patch" + +# PN package in zstd-vendor is empty and not created, remove runtime dependency on it +ROS_EXEC_DEPENDS_remove = "zstd-vendor" diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-cpp_0.7.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-cpp_0.7.0-1.bbappend new file mode 100644 index 00000000000..2d9dba09150 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-cpp_0.7.0-1.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += "rosidl-cmake" diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-py_0.7.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-py_0.7.0-1.bbappend new file mode 100644 index 00000000000..0b3a23d34b6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-py_0.7.0-1.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-adapter \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-transport_0.7.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-transport_0.7.0-1.bbappend new file mode 100644 index 00000000000..0b3a23d34b6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/rosbag2-transport_0.7.0-1.bbappend @@ -0,0 +1,5 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-adapter \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/shared-queues-vendor/0001-CMakeLists.txt-fetch-readerwriterqueue-and-concurren.patch b/meta-ros2-galactic/recipes-bbappends/rosbag2/shared-queues-vendor/0001-CMakeLists.txt-fetch-readerwriterqueue-and-concurren.patch new file mode 100644 index 00000000000..5254ae444b4 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/shared-queues-vendor/0001-CMakeLists.txt-fetch-readerwriterqueue-and-concurren.patch @@ -0,0 +1,58 @@ +From 10a0f06654b5db1dca9521a97128d3f375a4b283 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 27 Nov 2020 09:12:58 -0800 +Subject: [PATCH] CMakeLists.txt: fetch readerwriterqueue and concurrentqueue + with bitbake fetcher + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 20 ++++++-------------- + 1 file changed, 6 insertions(+), 14 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0daf4672..465367f2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,11 +6,7 @@ find_package(ament_cmake REQUIRED) + include(ExternalProject) + # Single producer single consumer queue by moodycamel - header only, don't build, install + ExternalProject_Add(ext-singleproducerconsumer +- PREFIX singleproducerconsumer +- DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download +- URL https://github.com/cameron314/readerwriterqueue/archive/ef7dfbf553288064347d51b8ac335f1ca489032a.zip +- URL_MD5 64c673dd381b8fae9254053ad7b2be4d +- TIMEOUT 60 ++ SOURCE_DIR ${PROJECT_SOURCE_DIR}/singleproducerconsumer-upstream + INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" +@@ -19,11 +15,7 @@ ExternalProject_Add(ext-singleproducerconsumer + + # Concurrent and blocking concurrent queue by moodycamel - header only, don't build, install + ExternalProject_Add(ext-concurrentqueue +- PREFIX concurrentqueue +- DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/download +- URL https://github.com/cameron314/concurrentqueue/archive/8f65a8734d77c3cc00d74c0532efca872931d3ce.zip +- URL_MD5 71a0d932cc89150c2ade85f0d9cac9dc +- TIMEOUT 60 ++ SOURCE_DIR ${PROJECT_SOURCE_DIR}/concurrentqueue-upstream + INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" +@@ -45,10 +37,10 @@ install( + # Install headers + install( + FILES +- "${CMAKE_CURRENT_BINARY_DIR}/singleproducerconsumer/src/ext-singleproducerconsumer/atomicops.h" +- "${CMAKE_CURRENT_BINARY_DIR}/singleproducerconsumer/src/ext-singleproducerconsumer/readerwriterqueue.h" +- "${CMAKE_CURRENT_BINARY_DIR}/concurrentqueue/src/ext-concurrentqueue/concurrentqueue.h" +- "${CMAKE_CURRENT_BINARY_DIR}/concurrentqueue/src/ext-concurrentqueue/blockingconcurrentqueue.h" ++ "${PROJECT_SOURCE_DIR}/singleproducerconsumer-upstream/atomicops.h" ++ "${PROJECT_SOURCE_DIR}/singleproducerconsumer-upstream/readerwriterqueue.h" ++ "${PROJECT_SOURCE_DIR}/concurrentqueue-upstream/concurrentqueue.h" ++ "${PROJECT_SOURCE_DIR}/concurrentqueue-upstream/blockingconcurrentqueue.h" + DESTINATION ${CMAKE_INSTALL_PREFIX}/include/moodycamel + ) + diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/shared-queues-vendor_0.7.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosbag2/shared-queues-vendor_0.7.0-1.bbappend new file mode 100644 index 00000000000..035a8a4f6d3 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/shared-queues-vendor_0.7.0-1.bbappend @@ -0,0 +1,13 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Instead of fetching +# https://github.com/cameron314/readerwriterqueue/archive/ef7dfbf553288064347d51b8ac335f1ca489032a.zip +# https://github.com/cameron314/concurrentqueue/archive/8f65a8734d77c3cc00d74c0532efca872931d3ce.zip +# with curl during do_compile use bitbake git fetcher +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-fetch-readerwriterqueue-and-concurren.patch \ + git://github.com/cameron314/readerwriterqueue.git;protocol=https;name=singleproducerconsumer-upstream;destsuffix=git/singleproducerconsumer-upstream \ + git://github.com/cameron314/concurrentqueue.git;protocol=https;name=concurrentqueue-upstream;destsuffix=git/concurrentqueue-upstream \ +" +SRCREV_singleproducerconsumer-upstream = "ef7dfbf553288064347d51b8ac335f1ca489032a" +SRCREV_concurrentqueue-upstream = "8f65a8734d77c3cc00d74c0532efca872931d3ce" diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/zstd-vendor/0001-CMakeLists.txt-prevent-building-zstd-with-ExternalPr.patch b/meta-ros2-galactic/recipes-bbappends/rosbag2/zstd-vendor/0001-CMakeLists.txt-prevent-building-zstd-with-ExternalPr.patch new file mode 100644 index 00000000000..7dc11d9bb93 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/zstd-vendor/0001-CMakeLists.txt-prevent-building-zstd-with-ExternalPr.patch @@ -0,0 +1,78 @@ +From cb89d94b75fad2710b60ada8eb4fb9cc3550b359 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 5 Jun 2020 11:35:25 -0700 +Subject: [PATCH] CMakeLists.txt: prevent building zstd with ExternalProject + +* use pkg-config, because zstd doesn't provide cmake find + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 49 ++++--------------------------------------------- + 1 file changed, 4 insertions(+), 45 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 108f63c4..78efbc22 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,55 +9,14 @@ option(FORCE_BUILD_VENDOR_PKG + OFF) + + if(NOT FORCE_BUILD_VENDOR_PKG) +- find_package(zstd QUIET) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(ZSTD REQUIRED libzstd>=1.4.4) + endif() + +-macro(build_zstd) +- set(extra_cmake_args) +- +- if(DEFINED CMAKE_BUILD_TYPE) +- list(APPEND extra_cmake_args -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) +- endif() +- +- if(DEFINED CMAKE_TOOLCHAIN_FILE) +- list(APPEND extra_cmake_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +- else() +- list(APPEND extra_cmake_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") +- endif() +- list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}") +- +- include(ExternalProject) +- # The CMakeLists.txt file for zstd is in a subdirectory. +- # We need to configure the CMake command to build from there instead. +- ExternalProject_Add(zstd-1.4.4 +- URL https://github.com/facebook/zstd/archive/v1.4.4.zip +- URL_MD5 3a5c3a535280b7f4dfdbd739fcc7173f +- TIMEOUT 60 +- SOURCE_SUBDIR build/cmake +- CMAKE_ARGS +- -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_install +- -DZSTD_BUILD_STATIC=OFF +- -DZSTD_BUILD_SHARED=ON +- -DZSTD_BUILD_PROGRAMS=OFF +- ${extra_cmake_args} +- # Note: zstd v1.4.6 will include the following fix. When that is released, upgrade and remove this patch. +- PATCH_COMMAND +- patch -p1 -d . < ${CMAKE_CURRENT_SOURCE_DIR}/cmake_minimum_required_2.8.12.patch && +- patch -p1 -d . < ${CMAKE_CURRENT_SOURCE_DIR}/no_internal_headers.patch +- ) +- +- install( +- DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_install/ +- DESTINATION ${CMAKE_INSTALL_PREFIX} +- USE_SOURCE_PERMISSIONS) +-endmacro() +- +-if (NOT zstd_FOUND OR "${zstd_VERSION}" VERSION_LESS 1.4.4) +- build_zstd() ++if (NOT ZSTD_FOUND OR "${ZSTD_VERSION}" VERSION_LESS 1.4.4) ++ message(STATUS "Zstd not found, missing dependency or version less than 1.4.4, found ${ZSTD_VERSION}") + else() + message(STATUS "Found Zstd, skipping build.") + endif() + + install(DIRECTORY cmake DESTINATION share/${PROJECT_NAME}) +- +-ament_package(CONFIG_EXTRAS zstd_vendor-extras.cmake) diff --git a/meta-ros2-galactic/recipes-bbappends/rosbag2/zstd-vendor_0.7.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosbag2/zstd-vendor_0.7.0-1.bbappend new file mode 100644 index 00000000000..8da7e06dc9b --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosbag2/zstd-vendor_0.7.0-1.bbappend @@ -0,0 +1,4 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-prevent-building-zstd-with-ExternalPr.patch" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl-defaults/rosidl-default-runtime_1.1.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl-defaults/rosidl-default-runtime_1.1.1-1.bbappend new file mode 100644 index 00000000000..a2eb9300f35 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl-defaults/rosidl-default-runtime_1.1.1-1.bbappend @@ -0,0 +1,23 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-parser-native \ + rosidl-adapter-native \ + python3-numpy-native \ + python3-lark-parser-native \ +" + +# inherit python3native + +# Without the target rosidl-typesupport-{c,cpp}, ament finds the native packages and then fails to link (error: incompatible +# target). +ROS_BUILD_DEPENDS += " \ + python3 \ + rosidl-typesupport-c \ + rosidl-typesupport-cpp \ + rosidl-runtime-c \ + rosidl-runtime-cpp \ + rosidl-typesupport-introspection-c \ + rosidl-typesupport-introspection-cpp \ + rmw \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl-python/rosidl-generator-py_0.11.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl-python/rosidl-generator-py_0.11.0-1.bbappend new file mode 100644 index 00000000000..1dfdb99fceb --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl-python/rosidl-generator-py_0.11.0-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_EXPORT_DEPENDS += " \ + rosidl-generator-c \ + rosidl-typesupport-c \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport-fastrtps/rosidl-typesupport-fastrtps-c_1.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport-fastrtps/rosidl-typesupport-fastrtps-c_1.2.1-1.bbappend new file mode 100644 index 00000000000..98b4b8ea636 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport-fastrtps/rosidl-typesupport-fastrtps-c_1.2.1-1.bbappend @@ -0,0 +1,9 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +# Without the target rosidl-typesupport-fastrtps-cpp, ament finds the native packages and then fails to link +# (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + fastcdr \ + fastrtps \ + rosidl-typesupport-fastrtps-cpp \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport-fastrtps/rosidl-typesupport-fastrtps-cpp_1.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport-fastrtps/rosidl-typesupport-fastrtps-cpp_1.2.1-1.bbappend new file mode 100644 index 00000000000..5a88e8aab85 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport-fastrtps/rosidl-typesupport-fastrtps-cpp_1.2.1-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + fastcdr \ + fastrtps \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport/rosidl-typesupport-c_%.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport/rosidl-typesupport-c_%.bbappend new file mode 100644 index 00000000000..98377bc794a --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport/rosidl-typesupport-c_%.bbappend @@ -0,0 +1,4 @@ +# Copyright (c) 2019-2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'rosidl-typesupport-connext-c', '', d)}" +ROS_BUILD_DEPENDS_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'opensplice', 'rosidl-typesupport-opensplice-c', '', d)}" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport/rosidl-typesupport-cpp_%.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport/rosidl-typesupport-cpp_%.bbappend new file mode 100644 index 00000000000..f66ff7d655c --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl-typesupport/rosidl-typesupport-cpp_%.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +ROS_BUILD_DEPENDS_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', 'rosidl-typesupport-connext-cpp', '', d)}" +ROS_BUILD_DEPENDS_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'opensplice', 'rosidl-typesupport-opensplice-cpp', '', d)}" + +DEPENDS += "rosidl-cmake" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl/rosidl-adapter_2.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl/rosidl-adapter_2.2.1-1.bbappend new file mode 100644 index 00000000000..8b9e2cf44e1 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl/rosidl-adapter_2.2.1-1.bbappend @@ -0,0 +1,4 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +ROS_BUILD_DEPENDS_remove = "ament-cmake" +ROS_BUILDTOOL_DEPENDS += "ament-cmake-native" diff --git a/meta-ros2-galactic/recipes-bbappends/rosidl/rosidl-generator-c_2.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/rosidl/rosidl-generator-c_2.2.1-1.bbappend new file mode 100644 index 00000000000..93f0a418dd5 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rosidl/rosidl-generator-c_2.2.1-1.bbappend @@ -0,0 +1,8 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# it's already in ROS_TEST_DEPENDS, but do_configure fails without +# it even when testing isn't enabled +DEPENDS += "rosidl-runtime-c" + +# exported in rosidl_generator_c/cmake/ament_cmake_export_dependencies-extras.cmake +DEPENDS += "rosidl-cmake" diff --git a/meta-ros2-galactic/recipes-bbappends/rviz/rviz-ogre-vendor/0001-CMakeLists-remove-all-ExternalProject_Add-calls-and-.patch b/meta-ros2-galactic/recipes-bbappends/rviz/rviz-ogre-vendor/0001-CMakeLists-remove-all-ExternalProject_Add-calls-and-.patch new file mode 100644 index 00000000000..6e79c1084fb --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rviz/rviz-ogre-vendor/0001-CMakeLists-remove-all-ExternalProject_Add-calls-and-.patch @@ -0,0 +1,247 @@ +From 98aa8e22c455cfd5896257def2c1d6ea110feeb6 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Thu, 28 May 2020 14:55:35 -0700 +Subject: [PATCH] CMakeLists: remove all ExternalProject_Add calls and use ogre + from platform recipe + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 220 ++----------------------------------------------- + 1 file changed, 6 insertions(+), 214 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c400c07f..e22a8cbd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,223 +6,15 @@ find_package(ament_cmake REQUIRED) + + set(PACKAGE_VERSION "1.0.0") + +-if(WIN32) +- set(BUILDING_FREETYPE_LOCALLY ON) +- set(BUILDING_ZLIB_LOCALLY ON) ++# We arrange for the platform ogre to be built from the same commit as that from which the ExternalProject is built => no ++# invocation of ament_environment_hooks(). ++find_package(OGRE) ++if(OGRE_FOUND) ++ message(STATUS "Found ogre ${OGRE_VERSION}") + else() +- set(BUILDING_FREETYPE_LOCALLY OFF) +- set(BUILDING_ZLIB_LOCALLY OFF) ++ message(FATAL_ERROR "ogre not found -- missing from DEPENDS?") + endif() + +-if(WIN32 AND NOT ${CMAKE_VERBOSE_MAKEFILE}) +- set(should_log ON) # prevent warnings in Windows CI +-else() +- set(should_log OFF) +-endif() +- +-macro(build_freetype) +- set(extra_cmake_args) +- set(FREETYPE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +- +- if(WIN32) +- list(APPEND FREETYPE_CXX_FLAGS "/w") +- list(APPEND extra_cmake_args "-DCMAKE_C_FLAGS=/w") +- endif() +- +- if(DEFINED CMAKE_TOOLCHAIN_FILE) +- list(APPEND extra_cmake_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +- else() +- list(APPEND extra_cmake_args "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}") +- list(APPEND extra_cmake_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") +- endif() +- list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=${FREETYPE_CXX_FLAGS}") +- +- include(ExternalProject) +- ExternalProject_Add(freetype-2.8.1 +- URL https://git.savannah.gnu.org/cgit/freetype/freetype2.git/snapshot/freetype2-VER-2-6-5.tar.gz +- URL_MD5 0dd62a0125895431e074a3df29f94d69 +- TIMEOUT 600 +- LOG_CONFIGURE ${should_log} +- LOG_BUILD ${should_log} +- CMAKE_ARGS +- -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/freetype_install +- ${extra_cmake_args} +- -Wno-dev +- -DWITH_ZLIB=OFF +- -DWITH_BZip2=OFF +- -DWITH_PNG=OFF +- -DWITH_HarfBuzz=OFF +- ) +- +- install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/freetype_install/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/opt/rviz_ogre_vendor +- ) +-endmacro() +- +-macro(build_zlib) +- set(extra_cmake_args) +- set(ZLIB_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +- +- if(WIN32) +- list(APPEND ZLIB_CXX_FLAGS "/w") +- list(APPEND extra_cmake_args "-DCMAKE_C_FLAGS=/w") +- endif() +- +- if(DEFINED CMAKE_TOOLCHAIN_FILE) +- list(APPEND extra_cmake_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +- else() +- list(APPEND extra_cmake_args "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}") +- list(APPEND extra_cmake_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") +- endif() +- list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=${ZLIB_CXX_FLAGS}") +- +- include(ExternalProject) +- ExternalProject_Add(zlib-1.2.11 +- URL https://www.zlib.net/fossils/zlib-1.2.11.tar.gz +- URL_MD5 1c9f62f0778697a09d36121ead88e08e +- TIMEOUT 600 +- LOG_CONFIGURE ${should_log} +- LOG_BUILD ${should_log} +- CMAKE_ARGS +- -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/zlib-install +- ${extra_cmake_args} +- -Wno-dev +- ) +- +- install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/zlib-install/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/opt/rviz_ogre_vendor +- ) +-endmacro() +- +-macro(build_ogre) +- set(extra_cmake_args) +- set(OGRE_CXX_FLAGS) +- # standard library is important for linking, but the other cxx flags are not +- if(CMAKE_CXX_FLAGS MATCHES "-stdlib=libc\\+\\+") +- set(OGRE_CXX_FLAGS "${OGRE_CXX_FLAGS} -stdlib=libc++") +- endif() +- +- if(DEFINED CMAKE_BUILD_TYPE) +- list(APPEND extra_cmake_args -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) +- endif() +- +- if(WIN32) +- set(OGRE_CXX_FLAGS "${OGRE_CXX_FLAGS} /w /EHsc") +- list(APPEND extra_cmake_args "-DCMAKE_C_FLAGS=/w /EHsc") +- elseif(APPLE) +- set(OGRE_CXX_FLAGS "${OGRE_CXX_FLAGS} -std=c++14 -stdlib=libc++ -w") +- list(APPEND extra_cmake_args "-DCMAKE_OSX_ARCHITECTURES='x86_64'") +- else() # Linux +- # include Clang -Wno-everything to disable warnings in that build. GCC doesn't mind it +- set(OGRE_CXX_FLAGS "${OGRE_CXX_FLAGS} -std=c++14 -w -Wno-everything") +- list(APPEND extra_cmake_args "-DCMAKE_C_FLAGS=-w") +- endif() +- list(APPEND extra_cmake_args "-DOGRE_BUILD_RENDERSYSTEM_GL:BOOL=TRUE") +- list(APPEND extra_cmake_args "-DOGRE_BUILD_RENDERSYSTEM_D3D11:BOOL=OFF") +- list(APPEND extra_cmake_args "-DOGRE_BUILD_RENDERSYSTEM_D3D9:BOOL=OFF") +- list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=${OGRE_CXX_FLAGS}") +- +- # Uncomment this line to enable the GL3PLUS render engine +- # list(APPEND extra_cmake_args "-DOGRE_BUILD_RENDERSYSTEM_GL3PLUS:BOOL=TRUE") +- +- # These next lines can be used to disable some of the components or plugins for OGRE +- list(APPEND extra_cmake_args "-DOGRE_CONFIG_ENABLE_ZIP:BOOL=ON") +- +- if(BUILDING_FREETYPE_LOCALLY) +- list(APPEND extra_cmake_args +- "-DFREETYPE_HOME=${CMAKE_CURRENT_BINARY_DIR}/freetype_install") +- endif() +- if(BUILDING_ZLIB_LOCALLY) +- list(APPEND extra_cmake_args +- "-DZLIB_ROOT=${CMAKE_CURRENT_BINARY_DIR}/zlib-install") +- endif() +- +- if(DEFINED CMAKE_TOOLCHAIN_FILE) +- list(APPEND extra_cmake_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +- else() +- list(APPEND extra_cmake_args "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}") +- list(APPEND extra_cmake_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") +- endif() +- +- find_package(Patch REQUIRED) +- include(ExternalProject) +- ExternalProject_Add(ogre-v1.12.1 +- URL https://github.com/OGRECave/ogre/archive/v1.12.1.zip +- URL_MD5 cdbea4006d223c173e0a93864111b936 +- TIMEOUT 1200 +- LOG_CONFIGURE ${should_log} +- LOG_BUILD ${should_log} +- CMAKE_ARGS +- -DOGRE_STATIC:BOOL=OFF +- -DOGRE_DEPENDENCIES_DIR=${CMAKE_CURRENT_BINARY_DIR}/ogredeps +- -DOGRE_INSTALL_PDB:BOOL=OFF +- -DOGRE_BUILD_DEPENDENCIES:BOOL=OFF +- -DOGRE_BUILD_TESTS:BOOL=OFF +- -DOGRE_BUILD_SAMPLES:BOOL=FALSE +- -DOGRE_INSTALL_SAMPLES:BOOL=FALSE +- -DOGRE_INSTALL_SAMPLES_SOURCE:BOOL=FALSE +- -DOGRE_CONFIG_THREADS:STRING=0 +- -DOGRE_RESOURCEMANAGER_STRICT:STRING=2 +- -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/ogre_install +- -DOGRE_BUILD_LIBS_AS_FRAMEWORKS:BOOL=OFF +- -DOGRE_BUILD_COMPONENT_PYTHON:BOOL=FALSE +- -DOGRE_BUILD_COMPONENT_JAVA:BOOL=FALSE +- -DOGRE_BUILD_COMPONENT_CSHARP:BOOL=FALSE +- -DOGRE_BUILD_COMPONENT_BITES:BOOL=FALSE +- ${extra_cmake_args} +- -Wno-dev +- PATCH_COMMAND +- ${Patch_EXECUTABLE} -p1 -N < ${CMAKE_CURRENT_SOURCE_DIR}/pragma-patch.diff +- COMMAND +- ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/FindFreetype.cmake ${CMAKE_CURRENT_BINARY_DIR}/ogre-v1.12.1-prefix/src/ogre-v1.12.1/CMake/Packages/FindFreetype.cmake +- ) +- +- if(BUILDING_FREETYPE_LOCALLY) +- add_dependencies(ogre-v1.12.1 freetype-2.8.1) +- endif() +- if(BUILDING_ZLIB_LOCALLY) +- add_dependencies(ogre-v1.12.1 zlib-1.2.11) +- endif() +- +- # The external project will install to the build folder, but we'll install that on make install. +- install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/ogre_install/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/opt/rviz_ogre_vendor +- ) +-endmacro() +- +-if(BUILDING_FREETYPE_LOCALLY) +- build_freetype() +-endif() +-if(BUILDING_ZLIB_LOCALLY) +- build_zlib() +-endif() +- +-build_ogre() +- +-if(WIN32) +- ament_environment_hooks(env_hook/rviz_ogre_vendor_library_path.bat) +- set(ENV_VAR_NAME "PATH") +- set(ENV_VAR_VALUE "opt\\rviz_ogre_vendor\\bin") +-else() +- ament_environment_hooks(env_hook/rviz_ogre_vendor_library_path.sh) +- if(APPLE) +- set(ENV_VAR_NAME "DYLD_LIBRARY_PATH") +- else() +- set(ENV_VAR_NAME "LD_LIBRARY_PATH") +- endif() +- set(ENV_VAR_VALUE "opt/rviz_ogre_vendor/lib") +-endif() +-ament_environment_hooks(env_hook/rviz_ogre_vendor_library_path.dsv.in) +- + ament_package( + CONFIG_EXTRAS "rviz_ogre_vendor-extras.cmake.in" + ) diff --git a/meta-ros2-galactic/recipes-bbappends/rviz/rviz-ogre-vendor_%.bbappend b/meta-ros2-galactic/recipes-bbappends/rviz/rviz-ogre-vendor_%.bbappend new file mode 100644 index 00000000000..5ad4654ce65 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/rviz/rviz-ogre-vendor_%.bbappend @@ -0,0 +1,12 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# We arrange for the platform ogre to be built from the same commit as that from which the ExternalProject is built. If the +# commit changes, the patch will not apply cleanly and we'll know we need to update the .bbappend for yaml-cpp. +DEPENDS += "ogre" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists-remove-all-ExternalProject_Add-calls-and-.patch" + +# libxaw is empty, the library is installed in libxaw6 and libxaw7 packages +# and ogre should get runtime dependency automatically through shlibs +RDEPENDS_${PN}_remove = "libxaw" diff --git a/meta-ros2-galactic/recipes-bbappends/spdlog-vendor/spdlog-vendor_1.3.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/spdlog-vendor/spdlog-vendor_1.3.0-1.bbappend new file mode 100644 index 00000000000..5844e268337 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/spdlog-vendor/spdlog-vendor_1.3.0-1.bbappend @@ -0,0 +1,7 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# spdlog is header only library and PN is empty, so it wasn't created +RDEPENDS_${PN}_remove = "spdlog" + +# ERROR: spdlog-vendor-1.1.1-1-r0 do_package_qa: QA Issue: non -dev/-dbg/nativesdk- package contains symlink .so: spdlog-vendor path '/work/aarch64-oe-linux/spdlog-vendor/1.1.1-1-r0/packages-split/spdlog-vendor/usr/lib/libspdlog.so' [dev-so] +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/system-modes/system-modes_0.6.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/system-modes/system-modes_0.6.0-1.bbappend new file mode 100644 index 00000000000..a3d542da2df --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/system-modes/system-modes_0.6.0-1.bbappend @@ -0,0 +1,12 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILDTOOL_DEPENDS += " \ + rosidl-adapter-native \ + rosidl-default-generators-native \ + rosidl-parser-native \ + python3-empy-native \ + python3-numpy-native \ + python3-lark-parser-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/teleop-tools/teleop-tools-msgs_1.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/teleop-tools/teleop-tools-msgs_1.2.1-1.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/teleop-tools/teleop-tools-msgs_1.2.1-1.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/turtlesim/turtlesim_%.bbappend b/meta-ros2-galactic/recipes-bbappends/turtlesim/turtlesim_%.bbappend new file mode 100644 index 00000000000..b54f3650efd --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/turtlesim/turtlesim_%.bbappend @@ -0,0 +1,15 @@ +# Copyright (c) 2020-2021 LG Electronics, Inc. + +# Make this conditional on meta-qt5, because otherwise builds without +# meta-qt5 fail to parse, before turtlesim is PNBLACKLISTed based +# on qt5 in ROS_WORLD_SKIP_GROUPS +# ERROR: ParseError at meta-ros/meta-ros2-dashing/recipes-bbappends/turtlesim/turtlesim_%.bbappend:3: Could not inherit file classes/cmake_qt5.bbclass +inherit ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'cmake_qt5', '', d)} + +# Keep in mind that this needs widgets enabled in qtbase PACKAGECONFIG which webOS OSE explicitly disables: +# meta-webos/recipes-qt/qt5/qtbase_git.bbappend:PACKAGECONFIG_remove = "widgets" + +DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/ublox/ublox-msgs_2.0.0-2.bbappend b/meta-ros2-galactic/recipes-bbappends/ublox/ublox-msgs_2.0.0-2.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/ublox/ublox-msgs_2.0.0-2.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/udp-msgs/udp-msgs_0.0.3-2.bbappend b/meta-ros2-galactic/recipes-bbappends/udp-msgs/udp-msgs_0.0.3-2.bbappend new file mode 100644 index 00000000000..145070af029 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/udp-msgs/udp-msgs_0.0.3-2.bbappend @@ -0,0 +1,16 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ + rosidl-adapter-native \ + ament-cmake-ros-native \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ + rosidl-typesupport-cpp-native \ + rosidl-generator-py-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/uncrustify-vendor/uncrustify-vendor/0001-CMakeLists.txt-fetch-uncrustify-with-bitbake-fetcher.patch b/meta-ros2-galactic/recipes-bbappends/uncrustify-vendor/uncrustify-vendor/0001-CMakeLists.txt-fetch-uncrustify-with-bitbake-fetcher.patch new file mode 100644 index 00000000000..265a6259d3f --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/uncrustify-vendor/uncrustify-vendor/0001-CMakeLists.txt-fetch-uncrustify-with-bitbake-fetcher.patch @@ -0,0 +1,37 @@ +From 2661a731c10c745413fb33a69c5515e7f3dcfa4f Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Mon, 27 Jul 2020 09:56:44 -0700 +Subject: [PATCH] CMakeLists.txt: fetch uncrustify with bitbake fetcher + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + CMakeLists.txt | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 22b2549..d06eb1b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,19 +42,11 @@ macro(build_uncrustify) + set(uncrustify_version 45b836cff040594994d364ad6fd3f04adc890a26) + # Get uncrustify 0.68.1 + ExternalProject_Add(uncrustify-${uncrustify_version} +- GIT_REPOSITORY https://github.com/uncrustify/uncrustify.git +- GIT_TAG ${uncrustify_version} +- GIT_CONFIG advice.detachedHead=false +- # Suppress git update due to https://gitlab.kitware.com/cmake/cmake/-/issues/16419 +- # See https://github.com/ament/uncrustify_vendor/pull/22 for details +- UPDATE_COMMAND "" +- TIMEOUT 600 ++ SOURCE_DIR ${CMAKE_SOURCE_DIR}/uncrustify-upstream + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_install + ${extra_cmake_args} + -Wno-dev +- PATCH_COMMAND +- ${CMAKE_COMMAND} -E chdir git apply -p1 --ignore-space-change --whitespace=nowarn ${CMAKE_CURRENT_SOURCE_DIR}/install-patch.diff + ) + + # The external project will install to the build folder, but we'll install that on make install. diff --git a/meta-ros2-galactic/recipes-bbappends/uncrustify-vendor/uncrustify-vendor_1.5.3-1.bbappend b/meta-ros2-galactic/recipes-bbappends/uncrustify-vendor/uncrustify-vendor_1.5.3-1.bbappend new file mode 100644 index 00000000000..25e24a0e235 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/uncrustify-vendor/uncrustify-vendor_1.5.3-1.bbappend @@ -0,0 +1,19 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# uncrustify appears in both ROS_BUILD_DEPENDS and ROS_EXPORT_DEPENDS, so it's easier to remove it from DEPENDS. +DEPENDS_remove = "${ROS_UNRESOLVED_DEP-uncrustify}" +ROS_EXEC_DEPENDS_remove = "${ROS_UNRESOLVED_DEP-uncrustify}" + +# Instead of fetching +# https://github.com/uncrustify/uncrustify/archive/45b836cff040594994d364ad6fd3f04adc890a26.tar.gz +# during do_compile +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-CMakeLists.txt-fetch-uncrustify-with-bitbake-fetcher.patch \ + git://github.com/uncrustify/uncrustify.git;protocol=https;name=uncrustify;destsuffix=git/uncrustify-upstream \ + https://raw.githubusercontent.com/ros2-gbp/uncrustify_vendor-release/release/foxy/uncrustify_vendor/1.4.0-1/install-patch.diff;name=patch;patchdir=uncrustify-upstream \ +" +# It's called 0.68.1 in uncrustify_vendor, but it's actually 26 commits after uncrustify-0.69.0 tag +SRCREV_uncrustify = "45b836cff040594994d364ad6fd3f04adc890a26" + +SRC_URI[patch.md5sum] = "7561aaffb9d311c50199ec2a8d36ae94" +SRC_URI[patch.sha256sum] = "14a8f11f8e7c68d4363ccf88cc5edb59d4cd6d35086cfdddd98763f596db601e" diff --git a/meta-ros2-galactic/recipes-bbappends/unique-identifier-msgs/unique-identifier-msgs_2.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/unique-identifier-msgs/unique-identifier-msgs_2.2.1-1.bbappend new file mode 100644 index 00000000000..7c58570b4cc --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/unique-identifier-msgs/unique-identifier-msgs_2.2.1-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +# Without the target dependencies, ament finds the native packages and then fails to link (error: incompatible target). +ROS_BUILD_DEPENDS += " \ + rosidl-default-runtime \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py/0001-setup.cfg-fix-warning.patch b/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py/0001-setup.cfg-fix-warning.patch new file mode 100644 index 00000000000..f66f3d0d778 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py/0001-setup.cfg-fix-warning.patch @@ -0,0 +1,29 @@ +From 6c31fcf8d34f5ffa57f0bffe659ba88d1a3e3407 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 16 Apr 2021 08:15:47 +0000 +Subject: [PATCH] setup.cfg: fix warning + +DEBUG: Executing shell function do_install +/jenkins/mjansa/build/ros/webos-rolling-hardknott/tmp-glibc/work/qemux86-webos-linux/urdfdom-py/1.1.0-1-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/setuptools/dist.py:634: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead + warnings.warn( +/jenkins/mjansa/build/ros/webos-rolling-hardknott/tmp-glibc/work/qemux86-webos-linux/urdfdom-py/1.1.0-1-r0/recipe-sysroot-native/usr/lib/python3.9/site-packages/setuptools/dist.py:634: UserWarning: Usage of dash-separated 'install-scripts' will not be supported in future versions. Please use the underscore name 'install_scripts' instead + warnings.warn( + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + setup.cfg | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.cfg b/setup.cfg +index 2ca3729..e6ab973 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -1,4 +1,4 @@ + [develop] +-script-dir=$base/share/urdfdom_py/scripts ++script_dir=$base/share/urdfdom_py/scripts + [install] +-install-scripts=$base/share/urdfdom_py/scripts ++install_scripts=$base/share/urdfdom_py/scripts diff --git a/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py/0002-setup.py-install-data_files-without-share-prefix.patch b/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py/0002-setup.py-install-data_files-without-share-prefix.patch new file mode 100644 index 00000000000..3f87cdc3b06 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py/0002-setup.py-install-data_files-without-share-prefix.patch @@ -0,0 +1,44 @@ +From 760272661c826258166e7e97545baee29f70b195 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 16 Apr 2021 08:18:53 +0000 +Subject: [PATCH] setup.py: install data_files without share/ prefix + +* distutils3.bbclass has a bandaid against python recipes installing files + into /usr/share/share directory since 2009: + https://git.openembedded.org/openembedded/commit/classes/distutils.bbclass?id=5a0fecab4a7a17ab7218e522c2750f0fb8c9aa45 + imported into oe-core in 2009 with: + https://git.openembedded.org/openembedded-core/commit/meta/classes/distutils.bbclass?id=288e62a22115a32effc65efa7c2d6ef2867d0b91 + + but here it doesn't work, because urdfdom-py has both + /usr/share/share/urdfdom_py as well as /usr/share/urdfdom_py: + +image/usr/share/urdfdom_py +image/usr/share/urdfdom_py/scripts +image/usr/share/urdfdom_py/scripts/display_urdf +image/usr/share/share +image/usr/share/share/urdfdom_py +image/usr/share/share/urdfdom_py/package.xml + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index c3986e1..a3a0a5c 100644 +--- a/setup.py ++++ b/setup.py +@@ -9,9 +9,9 @@ setup( + package_dir={'': 'src'}, + packages=['urdf_parser_py', 'urdf_parser_py.xml_reflection'], + data_files=[ +- ('share/ament_index/resource_index/packages', ++ ('ament_index/resource_index/packages', + ['resource/' + package_name]), +- ('share/' + package_name, ['package.xml']), ++ (package_name, ['package.xml']), + ], + install_requires=['setuptools'], + zip_safe=True, diff --git a/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py_1.1.0-1.bbappend b/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py_1.1.0-1.bbappend new file mode 100644 index 00000000000..486088bdde6 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/urdf-parser-py/urdfdom-py_1.1.0-1.bbappend @@ -0,0 +1,22 @@ +# Copyright (c) 2021 LG Electronics, Inc. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "\ + file://0001-setup.cfg-fix-warning.patch \ + file://0002-setup.py-install-data_files-without-share-prefix.patch \ +" + +# similar to what distutil3.bbclass does here: +# https://git.openembedded.org/openembedded-core/tree/meta/classes/distutils3.bbclass?h=hardknott#n46 +# but the files we want to modify aren't in ${bindir}/${sbindir}, but ${datadir}/urdfdom_py/scripts/ + +# $ head -n 1 tmp-glibc/work/qemux86-webos-linux/urdfdom-py/1.1.0-1-r0/packages-split/urdfdom-py/usr/share/urdfdom_py/scripts/display_urdf +#!/jenkins/mjansa/build/ros/webos-rolling-hardknott/tmp-glibc/work/qemux86-webos-linux/urdfdom-py/1.1.0-1-r0/recipe-sysroot-native/usr/bin/python3-native/python3 +do_install_append() { + for i in ${D}${datadir}/urdfdom_py/scripts/*; do + if [ -f "$i" ]; then + sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${DISTUTILS_PYTHON}:g $i + sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i + fi + done +} diff --git a/meta-ros2-galactic/recipes-bbappends/urdfdom/urdfdom_%.bbappend b/meta-ros2-galactic/recipes-bbappends/urdfdom/urdfdom_%.bbappend new file mode 100644 index 00000000000..fbec724e980 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/urdfdom/urdfdom_%.bbappend @@ -0,0 +1,3 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +inherit ros_insane_dev_so diff --git a/meta-ros2-galactic/recipes-bbappends/urg-node-msgs/urg-node-msgs_1.0.1-4.bbappend b/meta-ros2-galactic/recipes-bbappends/urg-node-msgs/urg-node-msgs_1.0.1-4.bbappend new file mode 100644 index 00000000000..ff91c247b92 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/urg-node-msgs/urg-node-msgs_1.0.1-4.bbappend @@ -0,0 +1,12 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + python3-numpy-native \ + rosidl-generator-c-native \ + rosidl-generator-cpp-native \ + rosidl-generator-py-native \ + rosidl-typesupport-cpp-native \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ + rosidl-typesupport-introspection-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/variants/ros-core_%.bbappend b/meta-ros2-galactic/recipes-bbappends/variants/ros-core_%.bbappend new file mode 100644 index 00000000000..17fd7f86dcd --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/variants/ros-core_%.bbappend @@ -0,0 +1,22 @@ +# Copyright (c) 2019 LG Electronics, Inc. + +# Need this to launch anything ROS. +ROS_EXEC_DEPENDS += " \ + ros-workspace \ + rosidl-generator-cpp \ + rosidl-typesupport-c \ +" + +# core-* OE images do not support development. +ROS_EXEC_DEPENDS_remove = "ament-cmake" +ROS_EXEC_DEPENDS_remove = "ament-cmake-auto" +ROS_EXEC_DEPENDS_remove = "ament-cmake-gmock" +ROS_EXEC_DEPENDS_remove = "ament-cmake-gtest" +ROS_EXEC_DEPENDS_remove = "ament-cmake-pytest" +ROS_EXEC_DEPENDS_remove = "ament-cmake-ros" +ROS_EXEC_DEPENDS_remove = "ament-index-cpp" +ROS_EXEC_DEPENDS_remove = "ament-index-python" +ROS_EXEC_DEPENDS_remove = "ament-lint-auto" +ROS_EXEC_DEPENDS_remove = "ament-lint-common" +ROS_EXEC_DEPENDS_remove = "launch-testing-ament-cmake" +ROS_EXEC_DEPENDS_remove = "rosidl-default-generators" diff --git a/meta-ros2-galactic/recipes-bbappends/vision-opencv/cv-bridge_2.2.1-1.bbappend b/meta-ros2-galactic/recipes-bbappends/vision-opencv/cv-bridge_2.2.1-1.bbappend new file mode 100644 index 00000000000..0ceeddc4098 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/vision-opencv/cv-bridge_2.2.1-1.bbappend @@ -0,0 +1,8 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS_remove = "python-numpy" +ROS_BUILD_DEPENDS_remove = "python3-numpy" + +ROS_BUILDTOOL_DEPENDS += " \ + ${PYTHON_PN}-numpy-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/webots-ros2/webots-ros2-msgs_1.0.6-1.bbappend b/meta-ros2-galactic/recipes-bbappends/webots-ros2/webots-ros2-msgs_1.0.6-1.bbappend new file mode 100644 index 00000000000..60ca646304e --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/webots-ros2/webots-ros2-msgs_1.0.6-1.bbappend @@ -0,0 +1,6 @@ +# Copyright (c) 2020 LG Electronics, Inc. + +ROS_BUILD_DEPENDS += " \ + rosidl-typesupport-fastrtps-c-native \ + rosidl-typesupport-fastrtps-cpp-native \ +" diff --git a/meta-ros2-galactic/recipes-bbappends/yaml-cpp-vendor/yaml-cpp-vendor/0001-Use-platform-yaml-cpp.patch b/meta-ros2-galactic/recipes-bbappends/yaml-cpp-vendor/yaml-cpp-vendor/0001-Use-platform-yaml-cpp.patch new file mode 100644 index 00000000000..e791c965285 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/yaml-cpp-vendor/yaml-cpp-vendor/0001-Use-platform-yaml-cpp.patch @@ -0,0 +1,110 @@ +From 180387c415a4880427bc22d559915faf6b44931d Mon Sep 17 00:00:00 2001 +From: Herb Kuta +Date: Tue, 31 Dec 2019 10:17:22 -0800 +Subject: [PATCH] Use platform yaml-cpp + +Upstream-Status: Pending +--- + CMakeLists.txt | 88 ++++---------------------------------------------- + 1 file changed, 6 insertions(+), 82 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d58cb14..5fe8fbd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,89 +10,13 @@ find_package(ament_cmake REQUIRED) + + set(PACKAGE_VERSION "1.0.0") + +-macro(build_yaml_cpp) +- set(extra_cmake_args) +- set(YAML_C_FLAGS ${CMAKE_C_FLAGS}) +- set(YAML_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +- +- if(DEFINED CMAKE_BUILD_TYPE) +- list(APPEND extra_cmake_args -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) +- endif() +- if(NOT WIN32) +- list(APPEND YAML_C_FLAGS "-w") +- list(APPEND YAML_CXX_FLAGS "-std=c++14 -w") +- endif() +- +- list(APPEND extra_cmake_args "-DYAML_CPP_BUILD_TESTS=OFF") +- list(APPEND extra_cmake_args "-DYAML_CPP_BUILD_TOOLS=OFF") +- list(APPEND extra_cmake_args "-DYAML_CPP_BUILD_CONTRIB=OFF") +- list(APPEND extra_cmake_args "-DBUILD_SHARED_LIBS=ON") +- list(APPEND extra_cmake_args "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}") +- list(APPEND extra_cmake_args "-DCMAKE_C_FLAGS=${YAML_C_FLAGS}") +- list(APPEND extra_cmake_args "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") +- list(APPEND extra_cmake_args "-DCMAKE_CXX_FLAGS=${YAML_CXX_FLAGS}") +- +- if(WIN32 AND NOT ${CMAKE_VERBOSE_MAKEFILE}) +- set(should_log ON) # prevent warnings in Windows CI +- else() +- set(should_log OFF) +- endif() +- +- if(DEFINED CMAKE_TOOLCHAIN_FILE) +- list(APPEND extra_cmake_args "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +- endif() +- +- include(ExternalProject) +- # This specific version (past the current latest release of 0.5.3) is required to make +- # yaml-cpp relocatable, hopefully it is released again soon. +- # See: https://github.com/jbeder/yaml-cpp/pull/538 +- # Latest release fails to compile on recent visual studio (VS2017 v15.8.1) +- # See: https://github.com/jbeder/yaml-cpp/pull/597 +- ExternalProject_Add(yaml_cpp-0f9a586 +- URL https://github.com/jbeder/yaml-cpp/archive/0f9a586ca1dc29c2ecb8dd715a315b93e3f40f79.zip +- URL_MD5 ec76c27ebd07d5178cbe85b773df8e62 +- TIMEOUT 600 +- LOG_CONFIGURE ${should_log} +- LOG_BUILD ${should_log} +- CMAKE_ARGS +- -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/yaml_cpp_install +- ${extra_cmake_args} +- -Wno-dev +- ) +- +- # The external project will install to the build folder, but we'll install that on make install. +- install( +- DIRECTORY +- ${CMAKE_CURRENT_BINARY_DIR}/yaml_cpp_install/ +- DESTINATION +- ${CMAKE_INSTALL_PREFIX}/opt/yaml_cpp_vendor +- USE_SOURCE_PERMISSIONS +- ) +-endmacro() +- +-# NO_CMAKE_PACKAGE_REGISTRY used to avoid finding the library downloaded in WORKSPACE B +-# when building workspace A. +-# This should only find a system installed yaml-cpp and thus the environment hook isn't needed. +-find_package(yaml-cpp 0.6 QUIET NO_CMAKE_PACKAGE_REGISTRY) +-if(FORCE_BUILD_VENDOR_PKG OR NOT yaml-cpp_FOUND) +- build_yaml_cpp() +- +- if(WIN32) +- ament_environment_hooks(env_hook/yaml_cpp_vendor_library_path.bat) +- set(ENV_VAR_NAME "PATH") +- set(ENV_VAR_VALUE "opt\\yaml_cpp_vendor\\bin") +- else() +- ament_environment_hooks(env_hook/yaml_cpp_vendor_library_path.sh) +- if(APPLE) +- set(ENV_VAR_NAME "DYLD_LIBRARY_PATH") +- else() +- set(ENV_VAR_NAME "LD_LIBRARY_PATH") +- endif() +- set(ENV_VAR_VALUE "opt/yaml_cpp_vendor/lib") +- endif() +- ament_environment_hooks(env_hook/yaml_cpp_vendor_library_path.dsv.in) ++# We arrange for the platform yaml-cpp to be built from the same commit as that from which the ExternalProject is built => no ++# invocation of ament_environment_hooks(). ++find_package(yaml-cpp) ++if(yaml-cpp_FOUND) ++ message(STATUS "Found yaml-cpp ${yaml-cpp_VERSION}") + else() +- message(STATUS "Found yaml-cpp ${yaml-cpp_VERSION} in path ${yaml-cpp_CONFIG}") ++ message(FATAL_ERROR "yaml-cpp not found -- missing from DEPENDS?") + endif() + + ament_package( diff --git a/meta-ros2-galactic/recipes-bbappends/yaml-cpp-vendor/yaml-cpp-vendor_%.bbappend b/meta-ros2-galactic/recipes-bbappends/yaml-cpp-vendor/yaml-cpp-vendor_%.bbappend new file mode 100644 index 00000000000..01e9175ff90 --- /dev/null +++ b/meta-ros2-galactic/recipes-bbappends/yaml-cpp-vendor/yaml-cpp-vendor_%.bbappend @@ -0,0 +1,10 @@ +# Copyright (c) 2019-2020 LG Electronics, Inc. + +DESCRIPTION = "Wrapper around yaml-cpp, it provides a fixed CMake module." + +# We arrange for the platform yaml-cpp to be built from the same commit as that from which the ExternalProject is built. If the +# commit changes, the patch will not apply cleanly and we'll know we need to update the .bbappend for yaml-cpp. +DEPENDS += "yaml-cpp" + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" +SRC_URI += "file://0001-Use-platform-yaml-cpp.patch" diff --git a/meta-ros2-galactic/recipes-core/packagegroups/packagegroup-ros-world-galactic.bb b/meta-ros2-galactic/recipes-core/packagegroups/packagegroup-ros-world-galactic.bb new file mode 100644 index 00000000000..2d991902b06 --- /dev/null +++ b/meta-ros2-galactic/recipes-core/packagegroups/packagegroup-ros-world-galactic.bb @@ -0,0 +1,288 @@ +# Copyright (c) 2020-2021 LG Electronics, Inc. + +DESCRIPTION = "All non-test packages for the target from files/galactic/cache.yaml" +LICENSE = "MIT" + +# ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_* variables are MACHINE specific +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit packagegroup +inherit ros_distro_galactic + +PACKAGES = "${PN}" + +RDEPENDS_${PN} = "${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES}" + +# Contains only dev, dbg and staticdev files, so PN is empty and not created +RDEPENDS_${PN}_remove = "test-osrf-testing-tools-cpp" + +# It's empty package now, just providing dependency on platform zstd recipe +RDEPENDS_${PN}_remove = "zstd-vendor" + +# It's empty package now, just providing dependency on platform python3-pybind11 recipe +RDEPENDS_${PN}_remove = "pybind11-vendor" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'cwiid', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_CWIID}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_CWIID = " \ + wiimote \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'libspnav', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_LIBSPNAV}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_LIBSPNAV = " \ + spacenav \ +" + +# alternative not yet supported implementation for fastrtps +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'connext', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_CONNEXT}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_CONNEXT = " \ + connext-cmake-module \ + rmw-connext-cpp \ + rmw-connext-shared-cpp \ + rmw-connextdds-common \ + rmw-connextdds \ + rosidl-typesupport-connext-c \ + rosidl-typesupport-connext-cpp \ + rti-connext-dds-cmake-module \ +" + +# alternative not yet supported implementation for fastrtps +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gurumdds', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_GURUMDDS}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_GURUMDDS = " \ + gurumdds-cmake-module \ + rmw-gurumdds-cpp \ + rmw-gurumdds-shared-cpp \ +" + +# Can't build these until we figure out how to build clang-format, clang-tidy without building all of clang. +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'clang', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_CLANG}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_CLANG = " \ + ament-clang-format \ + ament-clang-tidy \ + ament-cmake-clang-format \ + ament-cmake-clang-tidy \ +" + +# Needs work to launch qemu to run tests on image on build machine. +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'launch', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_LAUNCH}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_LAUNCH = " \ + launch-testing-ament-cmake \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'sdformat', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_SDFORMAT}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_SDFORMAT = " \ + sdformat-urdf \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'coinor-libipopt', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_COINOR_LIBIPOPT}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_COINOR_LIBIPOPT = " \ + control-box-rst \ +" + +# Depends on mesa or libglu which requires opengl or vulkan DISTRO_FEATURE +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'opengl', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_OPENGL}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_OPENGL = " \ + desktop \ + libg2o \ + librealsense2 \ + realsense-examples \ + realsense-node \ + realsense-ros \ + rviz-common \ + rviz-default-plugins \ + rviz-ogre-vendor \ + rviz-rendering \ + rviz2 \ + webots-ros2-epuck \ + webots-ros2-tiago \ + webots-ros2-universal-robot \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'qt5', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_META_QT5}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_META_QT5 = " \ + desktop \ + joint-state-publisher-gui \ + python-qt-binding \ + qt-dotgraph \ + qt-gui \ + qt-gui-app \ + qt-gui-core \ + qt-gui-cpp \ + qt-gui-py-common \ + rqt-action \ + rqt-bag \ + rqt-bag-plugins \ + rqt-common-plugins \ + rqt-console \ + rqt-gui \ + rqt-gui-py \ + rqt-gui-cpp \ + rqt-graph \ + rqt-image-view \ + rqt-moveit \ + rqt-msg \ + rqt-plot \ + rqt-py-common \ + rqt-py-console \ + rqt-publisher \ + rqt-reconfigure \ + rqt-robot-monitor \ + rqt-robot-steering \ + rqt-service-caller \ + rqt-shell \ + rqt-srv \ + rqt-topic \ + rqt-top \ + rqt \ + rviz-common \ + rviz-default-plugins \ + rviz-rendering-tests \ + rviz-rendering \ + rviz-visual-testing-framework \ + rviz2 \ + turtlesim \ + webots-ros2-epuck \ + webots-ros2-tiago \ + webots-ros2-universal-robot \ +" + +# OE won't let us build ffmpeg unless LICENSE_FLAGS_WHITELIST contains "commercial" or "commercial_ffmpeg" or "ffmpeg". +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'ffmpeg', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_FFMPEG}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_FFMPEG = " \ + mrpt2 \ +" + +# OE won't let us build x264 unless LICENSE_FLAGS_WHITELIST contains "commercial" or "commercial_x264" or "x264". +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'x264', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_X264}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_X264 = " \ + mrpt2 \ +" + +# Recipes which need widgets enabled in qtbase PACKAGECONFIG which webOS OSE explicitly disables: +# meta-webos/recipes-qt/qt5/qtbase_git.bbappend:PACKAGECONFIG_remove = "widgets" +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'qt5-widgets', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_QT5_WIDGETS}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_QT5_WIDGETS = " \ + turtlesim \ +" + +# NB. gazebo-msgs is a dependency of non-Gazebo packages, so it doesn't appear here. +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'gazebo', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_GAZEBO}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_GAZEBO = " \ + gazebo-plugins \ + gazebo-ros-pkgs \ + gazebo-ros \ + gazebo-rosdev \ +" + +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API_x86 = "" +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API_x86-64 = "" +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'rc-genicam-api rc-genicam-driver', '', d)}" +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API_armv7ve = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'rc-genicam-api rc-genicam-driver', '', d)}" +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API_aarch64 = "" +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API = "\ + rc-genicam-api \ + rc-genicam-driver \ +" + +ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC = " \ + ${ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC_RC_GENICAM_API} \ +" + +RDEPENDS_${PN}_remove = "${ROS_SUPERFLORE_GENERATED_ARCH_SPECIFIC}" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'pyqt5', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_PYQT5}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_PYQT5 = " \ + desktop \ + joint-state-publisher-gui \ + python-qt-binding \ + qt-dotgraph \ + qt-gui-app \ + qt-gui-core \ + qt-gui-cpp \ + qt-gui-py-common \ + qt-gui \ + rosmon \ + rqt-action \ + rqt-bag \ + rqt-bag-plugins \ + rqt-console \ + rqt-common-plugins \ + rqt-graph \ + rqt-gui-cpp \ + rqt-gui-py \ + rqt-gui \ + rqt-image-view \ + rqt-moveit \ + rqt-msg \ + rqt-plot \ + rqt-publisher \ + rqt-py-common \ + rqt-py-console \ + rqt-reconfigure \ + rqt-robot-monitor \ + rqt-robot-steering \ + rqt-service-caller \ + rqt-shell \ + rqt-srv \ + rqt-topic \ + rqt-top \ + rqt \ +" + +# do_compile failures +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'qt-gui-cpp', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_QT_GUI_CPP}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_QT_GUI_CPP = " \ + qt-gui-core \ + qt-gui-cpp \ + rosmon \ + rqt-gui-cpp \ + rqt \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'x11', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_X11}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_X11 = " \ + desktop \ + libg2o \ + mrpt2 \ + rviz2 \ + rviz-common \ + rviz-default-plugins \ + rviz-ogre-vendor \ + rviz-rendering \ + webots-ros2-epuck \ + webots-ros2-tiago \ + webots-ros2-universal-robot \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'glfw', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_GLFW}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_GLFW = " \ + librealsense2 \ + realsense-examples \ + realsense-node \ + realsense-ros \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'ros1', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_ROS1}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_ROS1 = " \ + rosbag2-bag-v2-plugins \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'babeltrace-python', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_BABELTRACE_PYTHON}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_BABELTRACE_PYTHON = " \ + ros2trace-analysis \ + tracetools-analysis \ + tracetools-read \ +" + +RDEPENDS_${PN}_remove = "${@bb.utils.contains('ROS_WORLD_SKIP_GROUPS', 'webots-python-modules', '${ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_WEBOTS_PYTHON_MODULES}', '', d)}" +ROS_SUPERFLORE_GENERATED_WORLD_PACKAGES_DEPENDING_ON_WEBOTS_PYTHON_MODULES = " \ + webots-ros2 \ + webots-ros2-abb \ + webots-ros2-demos \ + webots-ros2-desktop \ + webots-ros2-core \ + webots-ros2-examples \ + webots-ros2-importer \ + webots-ros2-tesla \ + webots-ros2-turtlebot \ + webots-ros2-tutorials \ +" diff --git a/meta-ros2-galactic/recipes-devtools/libphidget22/libphidget22-upstream_1.6.20200417.bb b/meta-ros2-galactic/recipes-devtools/libphidget22/libphidget22-upstream_1.6.20200417.bb new file mode 100644 index 00000000000..1b12e1a9423 --- /dev/null +++ b/meta-ros2-galactic/recipes-devtools/libphidget22/libphidget22-upstream_1.6.20200417.bb @@ -0,0 +1,35 @@ +# Copyright (c) 2019-2021 LG Electronics, Inc. + +DESCRIPTION = "This package wraps the libphidget22 to use it as a ROS dependency" +AUTHOR = "Martin Günther " +HOMEPAGE = "https://www.phidgets.com/" +SECTION = "devel" +LICENSE = "LGPL-3.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \ +" + +DEPENDS = "libusb1" + +SRCNAME = "libphidget22" + +SRC_URI = "https://www.phidgets.com/downloads/phidget22/libraries/linux/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ + https://raw.githubusercontent.com/ros2-gbp/phidgets_drivers-release/release/rolling/libphidget22/2.1.0-1/patch/libphidgets22-1.6.20200417-fix-warnings.patch;name=patch \ +" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +SRC_URI[sha256sum] = "add8dee691e4bdcb19147cea34630ce0f387d24fe7548900ca98d2b70e60ae9f" +SRC_URI[patch.sha256sum] = "6eb0dff456faa174205ecfd2153a897b26d254071f91cd914b2aee46285b6449" + +inherit autotools + +do_configure_prepend() { + # configure.ac uses this to define version (1.6 is taken from configure included in tarball, but autotools.bbclass runs autoreconf which fails without layer_version file) + echo "1.6" > ${S}/library_version +} + +do_install_append() { + # for compatibility with phidgets-api which assumes libphidget22 directory like the ROS wrapper was installing it + # phidgets-api/2.0.1-1-r0/git/src/gyroscope.cpp:35:10: fatal error: libphidget22/phidget22.h: No such file or directory + ln -snf . ${D}${includedir}/libphidget22 +} diff --git a/meta-ros2-galactic/recipes-ros2/ros2-tracing/ros2trace_2.3.0-1.bb b/meta-ros2-galactic/recipes-ros2/ros2-tracing/ros2trace_2.3.0-1.bb new file mode 100644 index 00000000000..054111d1923 --- /dev/null +++ b/meta-ros2-galactic/recipes-ros2/ros2-tracing/ros2trace_2.3.0-1.bb @@ -0,0 +1,66 @@ +# Generated by superflore -- DO NOT EDIT +# Generated from manually modified cache.yaml, because superflore doesn't support fetching from gitlab.com (only from github.com) +# +# Copyright Open Source Robotics Foundation + +inherit ros_distro_rolling +inherit ros_superflore_generated + +DESCRIPTION = "The trace command for ROS 2 command line tools." +AUTHOR = "Christophe Bedard " +ROS_AUTHOR = "Christophe Bedard " +HOMEPAGE = "https://index.ros.org/p/ros2trace/" +SECTION = "devel" +# Original license in package.xml, joined with "&" when multiple license tags were used: +# "Apache 2.0" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=3dce4ba60d7e51ec64f3c3dc18672dd3" + +ROS_CN = "ros2_tracing" +ROS_BPN = "ros2trace" + +ROS_BUILD_DEPENDS = " \ + ros2cli \ + tracetools-trace \ +" + +ROS_BUILDTOOL_DEPENDS = "" + +ROS_EXPORT_DEPENDS = " \ + ros2cli \ + tracetools-trace \ +" + +ROS_BUILDTOOL_EXPORT_DEPENDS = "" + +ROS_EXEC_DEPENDS = " \ + ros2cli \ + tracetools-trace \ +" + +# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags. +ROS_TEST_DEPENDS = " \ + ament-copyright \ + ament-flake8 \ + ament-mypy \ + ament-pep257 \ + ament-xmllint \ + python3-pytest \ +" + +DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}" +# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually +# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS. +DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}" + +RDEPENDS_${PN} += "${ROS_EXEC_DEPENDS}" + +# matches with: https://gitlab.com/ros_tracing/ros2_tracing-release/archive/release/rolling/ros2trace/2.3.0-1.tar.gz +ROS_BRANCH ?= "branch=release/rolling/ros2trace" +SRC_URI = "git://gitlab.com/ros_tracing/ros2_tracing-release;${ROS_BRANCH};protocol=https" +SRCREV = "b06cb5888e2b9dded798990d36b32fe54dae853c" +S = "${WORKDIR}/git" + +ROS_BUILD_TYPE = "ament_python" + +inherit ros_${ROS_BUILD_TYPE} diff --git a/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-launch_2.3.0-1.bb b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-launch_2.3.0-1.bb new file mode 100644 index 00000000000..656a6cfc4cf --- /dev/null +++ b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-launch_2.3.0-1.bb @@ -0,0 +1,69 @@ +# Generated by superflore -- DO NOT EDIT +# Generated from manually modified cache.yaml, because superflore doesn't support fetching from gitlab.com (only from github.com) +# +# Copyright Open Source Robotics Foundation + +inherit ros_distro_rolling +inherit ros_superflore_generated + +DESCRIPTION = "Launch integration for tracing." +AUTHOR = "Christophe Bedard " +ROS_AUTHOR = "Christophe Bedard " +HOMEPAGE = "https://index.ros.org/p/tracetools_launch/" +SECTION = "devel" +# Original license in package.xml, joined with "&" when multiple license tags were used: +# "Apache 2.0" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=3dce4ba60d7e51ec64f3c3dc18672dd3" + +ROS_CN = "ros2_tracing" +ROS_BPN = "tracetools_launch" + +ROS_BUILD_DEPENDS = " \ + launch \ + launch-ros \ + tracetools-trace \ +" + +ROS_BUILDTOOL_DEPENDS = "" + +ROS_EXPORT_DEPENDS = " \ + launch \ + launch-ros \ + tracetools-trace \ +" + +ROS_BUILDTOOL_EXPORT_DEPENDS = "" + +ROS_EXEC_DEPENDS = " \ + launch \ + launch-ros \ + tracetools-trace \ +" + +# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags. +ROS_TEST_DEPENDS = " \ + ament-copyright \ + ament-flake8 \ + ament-mypy \ + ament-pep257 \ + ament-xmllint \ + python3-pytest \ +" + +DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}" +# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually +# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS. +DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}" + +RDEPENDS_${PN} += "${ROS_EXEC_DEPENDS}" + +# matches with: https://gitlab.com/ros_tracing/ros2_tracing-release/archive/release/rolling/tracetools_launch/2.3.0-1.tar.gz +ROS_BRANCH ?= "branch=release/rolling/tracetools_launch" +SRC_URI = "git://gitlab.com/ros_tracing/ros2_tracing-release;${ROS_BRANCH};protocol=https" +SRCREV = "4f8a692a22f068915f634b1030cc45447bd60ee7" +S = "${WORKDIR}/git" + +ROS_BUILD_TYPE = "ament_python" + +inherit ros_${ROS_BUILD_TYPE} diff --git a/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-read_2.3.0-1.bb b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-read_2.3.0-1.bb new file mode 100644 index 00000000000..1187b2d6519 --- /dev/null +++ b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-read_2.3.0-1.bb @@ -0,0 +1,59 @@ +# Generated by superflore -- DO NOT EDIT +# Generated from manually modified cache.yaml, because superflore doesn't support fetching from gitlab.com (only from github.com) +# +# Copyright Open Source Robotics Foundation + +inherit ros_distro_rolling +inherit ros_superflore_generated + +DESCRIPTION = "Tools for reading traces." +AUTHOR = "Christophe Bedard " +ROS_AUTHOR = "Christophe Bedard " +HOMEPAGE = "https://index.ros.org/p/tracetools_read/" +SECTION = "devel" +# Original license in package.xml, joined with "&" when multiple license tags were used: +# "Apache 2.0" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=3dce4ba60d7e51ec64f3c3dc18672dd3" + +ROS_CN = "ros2_tracing" +ROS_BPN = "tracetools_read" + +ROS_BUILD_DEPENDS = "" + +ROS_BUILDTOOL_DEPENDS = "" + +ROS_EXPORT_DEPENDS = "" + +ROS_BUILDTOOL_EXPORT_DEPENDS = "" + +ROS_EXEC_DEPENDS = " \ + ${ROS_UNRESOLVED_DEP-python3-babeltrace} \ +" + +# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags. +ROS_TEST_DEPENDS = " \ + ament-copyright \ + ament-flake8 \ + ament-mypy \ + ament-pep257 \ + ament-xmllint \ + python3-pytest \ +" + +DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}" +# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually +# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS. +DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}" + +RDEPENDS_${PN} += "${ROS_EXEC_DEPENDS}" + +# matches with: https://gitlab.com/ros_tracing/ros2_tracing-release/archive/release/rolling/tracetools_read/2.3.0-1.tar.gz +ROS_BRANCH ?= "branch=release/rolling/tracetools_read" +SRC_URI = "git://gitlab.com/ros_tracing/ros2_tracing-release;${ROS_BRANCH};protocol=https" +SRCREV = "88b9bb2b4b9016cd139fb1a4106dbed17547b9af" +S = "${WORKDIR}/git" + +ROS_BUILD_TYPE = "ament_python" + +inherit ros_${ROS_BUILD_TYPE} diff --git a/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-test_2.3.0-1.bb b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-test_2.3.0-1.bb new file mode 100644 index 00000000000..996c2e1264b --- /dev/null +++ b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-test_2.3.0-1.bb @@ -0,0 +1,77 @@ +# Generated by superflore -- DO NOT EDIT +# Generated from manually modified cache.yaml, because superflore doesn't support fetching from gitlab.com (only from github.com) +# +# Copyright Open Source Robotics Foundation + +inherit ros_distro_rolling +inherit ros_superflore_generated + +DESCRIPTION = "Testing utilities and tests for the tracetools package." +AUTHOR = "Christophe Bedard " +ROS_AUTHOR = "Christophe Bedard " +HOMEPAGE = "https://index.ros.org/p/tracetools_test/" +SECTION = "devel" +# Original license in package.xml, joined with "&" when multiple license tags were used: +# "Apache 2.0" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=3dce4ba60d7e51ec64f3c3dc18672dd3" + +ROS_CN = "ros2_tracing" +ROS_BPN = "tracetools_test" + +ROS_BUILD_DEPENDS = " \ + lifecycle-msgs \ + rclcpp \ + rclcpp-lifecycle \ + std-msgs \ + std-srvs \ +" + +ROS_BUILDTOOL_DEPENDS = " \ + ament-cmake-native \ + pkgconfig-native \ +" + +ROS_EXPORT_DEPENDS = "" + +ROS_BUILDTOOL_EXPORT_DEPENDS = "" + +ROS_EXEC_DEPENDS = " \ + lifecycle-msgs \ + rclcpp \ + rclcpp-lifecycle \ + std-msgs \ + std-srvs \ +" + +# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags. +ROS_TEST_DEPENDS = " \ + ${ROS_UNRESOLVED_DEP-python3-pytest-cov} \ + ament-cmake-gtest \ + ament-cmake-mypy \ + ament-cmake-pytest \ + ament-lint-auto \ + ament-lint-common \ + launch-ros \ + python3-pytest \ + tracetools \ + tracetools-launch \ + tracetools-read \ +" + +DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}" +# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually +# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS. +DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}" + +RDEPENDS_${PN} += "${ROS_EXEC_DEPENDS}" + +# matches with: https://gitlab.com/ros_tracing/ros2_tracing-release/archive/release/rolling/tracetools_test/2.3.0-1.tar.gz +ROS_BRANCH ?= "branch=release/rolling/tracetools_test" +SRC_URI = "git://gitlab.com/ros_tracing/ros2_tracing-release;${ROS_BRANCH};protocol=https" +SRCREV = "cb042445952eedce588c30c85a760c1d6183dd5e" +S = "${WORKDIR}/git" + +ROS_BUILD_TYPE = "ament_cmake" + +inherit ros_${ROS_BUILD_TYPE} diff --git a/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-trace_2.3.0-1.bb b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-trace_2.3.0-1.bb new file mode 100644 index 00000000000..954a4e48da1 --- /dev/null +++ b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools-trace_2.3.0-1.bb @@ -0,0 +1,59 @@ +# Generated by superflore -- DO NOT EDIT +# Generated from manually modified cache.yaml, because superflore doesn't support fetching from gitlab.com (only from github.com) +# +# Copyright Open Source Robotics Foundation + +inherit ros_distro_rolling +inherit ros_superflore_generated + +DESCRIPTION = "Tools for setting up tracing sessions." +AUTHOR = "Christophe Bedard " +ROS_AUTHOR = "Christophe Bedard " +HOMEPAGE = "https://index.ros.org/p/tracetools_trace/" +SECTION = "devel" +# Original license in package.xml, joined with "&" when multiple license tags were used: +# "Apache 2.0" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=3dce4ba60d7e51ec64f3c3dc18672dd3" + +ROS_CN = "ros2_tracing" +ROS_BPN = "tracetools_trace" + +ROS_BUILD_DEPENDS = "" + +ROS_BUILDTOOL_DEPENDS = "" + +ROS_EXPORT_DEPENDS = "" + +ROS_BUILDTOOL_EXPORT_DEPENDS = "" + +ROS_EXEC_DEPENDS = " \ + lttng-tools \ +" + +# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags. +ROS_TEST_DEPENDS = " \ + ament-copyright \ + ament-flake8 \ + ament-mypy \ + ament-pep257 \ + ament-xmllint \ + python3-pytest \ +" + +DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}" +# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually +# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS. +DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}" + +RDEPENDS_${PN} += "${ROS_EXEC_DEPENDS}" + +# matches with: https://gitlab.com/ros_tracing/ros2_tracing-release/archive/release/rolling/tracetools_trace/2.3.0-1.tar.gz +ROS_BRANCH ?= "branch=release/rolling/tracetools_trace" +SRC_URI = "git://gitlab.com/ros_tracing/ros2_tracing-release;${ROS_BRANCH};protocol=https" +SRCREV = "b42f86626813e2a05a363b91acc32d3ac2f12a42" +S = "${WORKDIR}/git" + +ROS_BUILD_TYPE = "ament_python" + +inherit ros_${ROS_BUILD_TYPE} diff --git a/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools_2.3.0-1.bb b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools_2.3.0-1.bb new file mode 100644 index 00000000000..3723aa6c649 --- /dev/null +++ b/meta-ros2-galactic/recipes-ros2/ros2-tracing/tracetools_2.3.0-1.bb @@ -0,0 +1,57 @@ +# Generated by superflore -- DO NOT EDIT +# Generated from manually modified cache.yaml, because superflore doesn't support fetching from gitlab.com (only from github.com) +# +# Copyright Open Source Robotics Foundation + +inherit ros_distro_rolling +inherit ros_superflore_generated + +DESCRIPTION = "Tracing wrapper for ROS 2." +AUTHOR = "Christophe Bedard " +ROS_AUTHOR = "Ingo Lütkebohle " +HOMEPAGE = "https://index.ros.org/p/tracetools/" +SECTION = "devel" +# Original license in package.xml, joined with "&" when multiple license tags were used: +# "Apache 2.0" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=3dce4ba60d7e51ec64f3c3dc18672dd3" + +ROS_CN = "ros2_tracing" +ROS_BPN = "tracetools" + +ROS_BUILD_DEPENDS = "" + +ROS_BUILDTOOL_DEPENDS = " \ + ament-cmake-ros-native \ + pkgconfig-native \ +" + +ROS_EXPORT_DEPENDS = "" + +ROS_BUILDTOOL_EXPORT_DEPENDS = "" + +ROS_EXEC_DEPENDS = "" + +# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags. +ROS_TEST_DEPENDS = " \ + ament-cmake-gtest \ + ament-lint-auto \ + ament-lint-common \ +" + +DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}" +# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually +# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS. +DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}" + +RDEPENDS_${PN} += "${ROS_EXEC_DEPENDS}" + +# matches with: https://gitlab.com/ros_tracing/ros2_tracing-release/archive/release/rolling/tracetools/2.3.0-1.tar.gz +ROS_BRANCH ?= "branch=release/rolling/tracetools" +SRC_URI = "git://gitlab.com/ros_tracing/ros2_tracing-release;${ROS_BRANCH};protocol=https" +SRCREV = "a7143225f01de7708b86412c986610fb3e479c37" +S = "${WORKDIR}/git" + +ROS_BUILD_TYPE = "ament_cmake" + +inherit ros_${ROS_BUILD_TYPE}