From cbdbad297aa1ddfa757c3d352edf3b03840e10f0 Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Mon, 26 Aug 2024 16:42:46 +0900 Subject: [PATCH 01/10] Fixed installation issues. As appending ${ros_prefix} to CMAKE_INSTALL_PREFIX, these recipes had issues in installation. Signed-off-by: Mark Choi --- .../aerostack2/as2-platform-crazyflie_1.0.9-1.bbappend | 2 +- .../recipes-bbappends/octomap/octomap_1.9.8-1.bbappend | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/meta-ros2-humble/recipes-bbappends/aerostack2/as2-platform-crazyflie_1.0.9-1.bbappend b/meta-ros2-humble/recipes-bbappends/aerostack2/as2-platform-crazyflie_1.0.9-1.bbappend index 166fa1d9a5b..e135f2f1670 100644 --- a/meta-ros2-humble/recipes-bbappends/aerostack2/as2-platform-crazyflie_1.0.9-1.bbappend +++ b/meta-ros2-humble/recipes-bbappends/aerostack2/as2-platform-crazyflie_1.0.9-1.bbappend @@ -13,5 +13,5 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" SRC_URI += "file://add-geographiclib-find-package.patch" do_install:append() { - sed -i '1c#!/usr/bin/env python3' ${D}${libdir}/as2_platform_crazyflie/aideck_node.py + sed -i '1c#!/usr/bin/env python3' ${D}${ros_prefix}/lib/as2_platform_crazyflie/aideck_node.py } diff --git a/meta-ros2-humble/recipes-bbappends/octomap/octomap_1.9.8-1.bbappend b/meta-ros2-humble/recipes-bbappends/octomap/octomap_1.9.8-1.bbappend index c175fc1bed3..b19767a3657 100644 --- a/meta-ros2-humble/recipes-bbappends/octomap/octomap_1.9.8-1.bbappend +++ b/meta-ros2-humble/recipes-bbappends/octomap/octomap_1.9.8-1.bbappend @@ -34,6 +34,3 @@ inherit ros_insane_dev_so # octomap: /usr/bin/edit_octree contains probably-redundant RPATH /usr/lib # octomap: /usr/bin/eval_octree_accuracy contains probably-redundant RPATH /usr/lib [useless-rpaths] DEPENDS:append:class-target = " chrpath-replacement-native" -do_install:append() { - chrpath --delete ${D}${bindir}/* ${D}${libdir}/*${SOLIBS} -} From 810da8a2ac853e55a2eef2616a690047f98388cc Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Mon, 26 Aug 2024 16:52:29 +0900 Subject: [PATCH 02/10] Fixed compile error license string was appended in bbappend file was not properly processed. I remove license string in th setup.py when creating setup.py intentionally on the bbappend file. https://github.com/dashingsoft/pyarmor/issues/1602 https://stackoverflow.com/questions/77523055/missingdynamic-license-defined-outside-of-pyproject-toml-is-ignored Signed-off-by: Mark Choi --- meta-ros2/recipes-devtools/python/python3-pymap3d_3.0.1.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-ros2/recipes-devtools/python/python3-pymap3d_3.0.1.bb b/meta-ros2/recipes-devtools/python/python3-pymap3d_3.0.1.bb index d6c465c9166..ba0b5c15588 100644 --- a/meta-ros2/recipes-devtools/python/python3-pymap3d_3.0.1.bb +++ b/meta-ros2/recipes-devtools/python/python3-pymap3d_3.0.1.bb @@ -19,7 +19,6 @@ from setuptools import setup setup( name="${PYPI_PACKAGE}", version="${PV}", - license="${LICENSE}", ) EOF } From 28b6accbd33b0ee23ec0c495bab17a916bbb80aa Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Tue, 27 Aug 2024 15:54:32 +0900 Subject: [PATCH 03/10] Fixed wrong license string BDS --> BSD Signed-off-by: Mark Choi --- .../generated-recipes/aerostack2/as2-state-estimator_1.0.9-1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ros2-humble/generated-recipes/aerostack2/as2-state-estimator_1.0.9-1.bb b/meta-ros2-humble/generated-recipes/aerostack2/as2-state-estimator_1.0.9-1.bb index e3e8709c74d..eb50ef6f209 100644 --- a/meta-ros2-humble/generated-recipes/aerostack2/as2-state-estimator_1.0.9-1.bb +++ b/meta-ros2-humble/generated-recipes/aerostack2/as2-state-estimator_1.0.9-1.bb @@ -9,7 +9,7 @@ DESCRIPTION = "Basic state estimator for AeroStack2" AUTHOR = "CVAR-UPM " HOMEPAGE = "https://wiki.ros.org" SECTION = "devel" -LICENSE = "BDS-3-Clause" +LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=bf4ae491377eb66f24ed1346d5c8de3b" ROS_CN = "aerostack2" From 34942a512577e558962a9358e5ca1198e7328494 Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Tue, 27 Aug 2024 15:55:45 +0900 Subject: [PATCH 04/10] Fixed patch error fixed-compile-error-uint64t.patch is no longer valid. it was fixed from 2.55.1. Signed-off-by: Mark Choi --- .../librealsense2/librealsense2_2.55.1-1.bbappend | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta-ros2-humble/recipes-bbappends/librealsense2/librealsense2_2.55.1-1.bbappend b/meta-ros2-humble/recipes-bbappends/librealsense2/librealsense2_2.55.1-1.bbappend index cd82de8bce8..f23122368f8 100644 --- a/meta-ros2-humble/recipes-bbappends/librealsense2/librealsense2_2.55.1-1.bbappend +++ b/meta-ros2-humble/recipes-bbappends/librealsense2/librealsense2_2.55.1-1.bbappend @@ -1,7 +1,4 @@ # Copyright (c) 2023 Wind River Systems, Inc. -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" -SRC_URI += "file://fixed-compile-error-uint64t.patch" - # ERROR: QA Issue: non -dev/-dbg/nativesdk- package librealsense2 contains symlink .so '/usr/lib/librealsense2.so' [dev-so] FILES:${PN}-dev += "${libdir}/librealsense2.so" From 31991fc0853f20c3b9efabc1aa5a301653fdeb46 Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Tue, 27 Aug 2024 18:15:15 +0900 Subject: [PATCH 05/10] Fixed installation issue. Fixed following error | sed: can't read /home/bchoi/nvidia-yocto-bsp/bchoi-build/tmp/work/armv8a-oe4t-linux/ament-download/0.0.5-1/image/usr/share/ament_download/cmake/download_checkmd5.py: No such file or directory Signed-off-by: Mark Choi --- .../ament-download/ament-download_0.0.5-1.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ros2-humble/recipes-bbappends/ament-download/ament-download_0.0.5-1.bbappend b/meta-ros2-humble/recipes-bbappends/ament-download/ament-download_0.0.5-1.bbappend index e8adb71efed..3bc397a2521 100644 --- a/meta-ros2-humble/recipes-bbappends/ament-download/ament-download_0.0.5-1.bbappend +++ b/meta-ros2-humble/recipes-bbappends/ament-download/ament-download_0.0.5-1.bbappend @@ -5,5 +5,5 @@ # RDEPENDS:${PN}-dev += "coreutils" do_install:append() { - sed -i 's@^#!/bin/env@#!/usr/bin/env@g' ${D}${datadir}/ament_download/cmake/download_checkmd5.py + sed -i 's@^#!/bin/env@#!/usr/bin/env@g' ${D}${ros_prefix}/share/ament_download/cmake/download_checkmd5.py } From a9d5d29881a299ffa461b0b564538baeab90322d Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Fri, 30 Aug 2024 18:47:24 +0900 Subject: [PATCH 06/10] Fixed compile error - error log : tmp/work/armv8a-oe4t-linux/ceres-solver/2.2.0/recipe-sysroot/usr/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h:112:34: error: cannot convert 'int*' to 'idx_t*' {aka 'long int*'} This error was from version upgrade from package version 2.1.0 to 2.2.0. CMakeLists.txt is introduced new option, EIGENSPARSE and it is turned on by default which also enable EIGENMETIS option to use eigen3 metis. Signed-off-by: Mark Choi --- .../recipes-support/ceres-solver/ceres-solver_%.bbappend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-ros-common/recipes-support/ceres-solver/ceres-solver_%.bbappend b/meta-ros-common/recipes-support/ceres-solver/ceres-solver_%.bbappend index 3881a219a24..6aca1290584 100644 --- a/meta-ros-common/recipes-support/ceres-solver/ceres-solver_%.bbappend +++ b/meta-ros-common/recipes-support/ceres-solver/ceres-solver_%.bbappend @@ -1,3 +1,5 @@ # Copyright (c) 2019-2021 LG Electronics, Inc. PACKAGECONFIG ??= "suitesparse cxsparse lapack" + +EXTRA_OECMAKE += " -DEIGENSPARSE:BOOL=OFF" From dbbbba0124c9539ffa9f54e1b448c64fd39c020d Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Thu, 26 Sep 2024 20:58:11 +0900 Subject: [PATCH 07/10] Remove clearpath-platform_0.2.9-1.bbappend liblighting_lib is removed and replaced liblighting_node. Signed-off-by: Mark Choi --- .../clearpath-common/clearpath-platform_0.2.9-1.bbappend | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 meta-ros2-humble/recipes-bbappends/clearpath-common/clearpath-platform_0.2.9-1.bbappend diff --git a/meta-ros2-humble/recipes-bbappends/clearpath-common/clearpath-platform_0.2.9-1.bbappend b/meta-ros2-humble/recipes-bbappends/clearpath-common/clearpath-platform_0.2.9-1.bbappend deleted file mode 100644 index d845e2ed865..00000000000 --- a/meta-ros2-humble/recipes-bbappends/clearpath-common/clearpath-platform_0.2.9-1.bbappend +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2024 Wind River Systems, Inc. - -# ERROR: QA Issue: /usr/lib/clearpath_platform/lighting_node contained in \ -# package clearpath-platform requires liblighting_lib.so()(64bit), but no \ -# providers found in RDEPENDS:clearpath-platform? [file-rdeps] -do_install:append() { - install -d ${D}${libdir} - install -D -m 0644 ${B}/liblighting_lib.so ${D}/${libdir} -} From 9bd38ed2ab111e93fbf9d7cf04d1ad0f703351df Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Thu, 26 Sep 2024 21:54:05 +0900 Subject: [PATCH 08/10] Change sdformat to sdformat12 to fix dependency error ERROR: Nothing PROVIDES 'sdformat' ROS_UNRESOLVED_DEP-sdformat12 = "sdformat" --> ROS_UNRESOLVED_DEP-sdformat12 = "sdformat12" Signed-off-by: Mark Choi --- meta-ros2-humble/conf/ros-distro/include/humble/ros-distro.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ros2-humble/conf/ros-distro/include/humble/ros-distro.inc b/meta-ros2-humble/conf/ros-distro/include/humble/ros-distro.inc index a9a7e1d9f88..d18c66988f6 100644 --- a/meta-ros2-humble/conf/ros-distro/include/humble/ros-distro.inc +++ b/meta-ros2-humble/conf/ros-distro/include/humble/ros-distro.inc @@ -340,7 +340,7 @@ ROS_UNRESOLVED_DEP-black = "python3-black" ROS_UNRESOLVED_DEP-black-native = "python3-black-native" ROS_UNRESOLVED_DEP-libdraco-dev = "draco" -ROS_UNRESOLVED_DEP-sdformat12 = "sdformat" +ROS_UNRESOLVED_DEP-sdformat12 = "sdformat12" ROS_UNRESOLVED_DEP-hdf5-tools-native = "hdf5-native" ROS_UNRESOLVED_DEP-libopenscenegraph = "openscenegraph" From ea2fc94deaec84e43016ab127b2414c22f9eefff Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Wed, 2 Oct 2024 20:18:58 +0900 Subject: [PATCH 09/10] Renew recipe to build with cmake not meson libtinyxml2 was built with meson and static lib. But other recipes refence it with cmake file not .pc file as a dependency. So, it is needed to build with cmake generating target cmake files for them. Signed-off-by: Mark Choi --- .../libtinyxml2/files/run-ptest | 10 ++++++ .../libtinyxml2/libtinyxml2_10.0.0.bb | 36 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 meta-ros-common/recipes-support/libtinyxml2/files/run-ptest create mode 100644 meta-ros-common/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb diff --git a/meta-ros-common/recipes-support/libtinyxml2/files/run-ptest b/meta-ros-common/recipes-support/libtinyxml2/files/run-ptest new file mode 100644 index 00000000000..870912672e1 --- /dev/null +++ b/meta-ros-common/recipes-support/libtinyxml2/files/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +for i in `ls xmltest`; do + ./$i + if [ $? -eq 0 ]; then + echo "PASS: $i" + else + echo "FAIL: $i" + fi +done diff --git a/meta-ros-common/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb b/meta-ros-common/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb new file mode 100644 index 00000000000..f567a499b13 --- /dev/null +++ b/meta-ros-common/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb @@ -0,0 +1,36 @@ +SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs" +HOMEPAGE = "https://leethomason.github.io/tinyxml2" +SECTION = "libs" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd" + +SRCREV = "321ea883b7190d4e85cae5512a12e5eaa8f8731f" +SRC_URI = "git://github.com/leethomason/tinyxml2.git;branch=master;protocol=https \ + file://run-ptest \ +" + +PR = "r1" + +S = "${WORKDIR}/git" + +inherit cmake ptest + +EXTRA_OEMESON += " \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true', '', d)} \ + -Ddefault_library=both \ +" + +CXXFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE" +EXTRA_OECMAKE += " -Dtinyxml2_SHARED_LIBS:BOOL=ON" + + +do_install_ptest() { + install -Dm 0755 ${B}/xmltest ${D}${PTEST_PATH}/xmltest + install -d ${D}${PTEST_PATH}/resources/out + for f in ${S}/resources/*.xml; do + install -m 0644 $f ${D}${PTEST_PATH}/resources/ + done +} + +BBCLASSEXTEND = "native nativesdk" + From 9cc1cb759b03ddb102fd217facb1f67c2f48c50e Mon Sep 17 00:00:00 2001 From: Mark Choi Date: Thu, 24 Oct 2024 15:38:16 +0900 Subject: [PATCH 10/10] Fixed moveit-core compile error /home/bchoi/nvidia-yocto-bsp/bchoi-build/tmp/work/armv8a-oe4t-linux/moveit-core/2.5.5-1/git/collision_detection_fcl/src/collision_common.cpp:527:40: err 11 527 | !std::static_pointer_cast(o1->collisionGeometry())->getRoot()) || moveit-core fail to build because fcl failed to find_package for octomap. cmake, not ros_cmake, is not aware of ros_prefix. Signed-off-by: Mark Choi --- meta-ros2-humble/recipes-extended/fcl/fcl_0.6.1.bbappend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-ros2-humble/recipes-extended/fcl/fcl_0.6.1.bbappend b/meta-ros2-humble/recipes-extended/fcl/fcl_0.6.1.bbappend index 6f73c3fc38a..067e580519a 100644 --- a/meta-ros2-humble/recipes-extended/fcl/fcl_0.6.1.bbappend +++ b/meta-ros2-humble/recipes-extended/fcl/fcl_0.6.1.bbappend @@ -6,3 +6,7 @@ # meta-ros-common/recipes-extended/fcl/fcl_0.6.1.bb # but moveit-core from foxy, needs octomap support to be enabled DEPENDS += "octomap" + +inherit ros_opt_prefix +inherit ros_cmake +inherit ros_insane_dev_so