From 8e87b47005c4e081210b4d12e890b7f47062456a Mon Sep 17 00:00:00 2001 From: Lukas Bulwahn Date: Sat, 16 Jun 2018 15:08:12 +0200 Subject: [PATCH 1/6] message-filters: build with gcc-8 This addresses two build issues in kobuki-auto-docking [1], and image-transport [2] due to openembedded-core updating to gcc-8. [1] http://errors.yoctoproject.org/Errors/Details/178608/ [2] http://errors.yoctoproject.org/Errors/Details/178606/ This commit was based on a earlier commit from Martin Jansa in his meta-ros fork, but then heavily re-worked. Signed-off-by: Lukas Bulwahn --- ...on-to-add-to-conform-template-syntax.patch | 35 +++++++++++++++++++ .../ros-comm/message-filters_1.11.21.bb | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 recipes-ros/ros-comm/message-filters/0001-Changed-invocation-to-add-to-conform-template-syntax.patch diff --git a/recipes-ros/ros-comm/message-filters/0001-Changed-invocation-to-add-to-conform-template-syntax.patch b/recipes-ros/ros-comm/message-filters/0001-Changed-invocation-to-add-to-conform-template-syntax.patch new file mode 100644 index 0000000..b7522f7 --- /dev/null +++ b/recipes-ros/ros-comm/message-filters/0001-Changed-invocation-to-add-to-conform-template-syntax.patch @@ -0,0 +1,35 @@ +From 65e4ce3de9747e359f38db65cf78763f75bcfbd1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B8rgen=20Nordmoen?= +Date: Fri, 4 May 2018 15:50:39 +0200 +Subject: [PATCH] Changed invocation to `add` to conform template syntax + (#1388) + +This change fixes issue #1383 + +Upstream-Status: Backport [from melodic, https://github.com/ros/ros_comm/commit/65e4ce3de9747e359f38db65cf78763f75bcfbd1] + +This patch has been generated with: + `git format-patch -1 65e4ce3de9747e359f38db65cf78763f75bcfbd1` +in the ros_comm repository. + +Signed-off-by: Lukas Bulwahn +--- + utilities/message_filters/include/message_filters/synchronizer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/utilities/message_filters/include/message_filters/synchronizer.h b/utilities/message_filters/include/message_filters/synchronizer.h +index 7891890..1c14a6f 100644 +--- a/utilities/message_filters/include/message_filters/synchronizer.h ++++ b/utilities/message_filters/include/message_filters/synchronizer.h +@@ -355,7 +355,7 @@ private: + template + void cb(const typename mpl::at_c::type& evt) + { +- this->add(evt); ++ this->template add(evt); + } + + uint32_t queue_size_; +-- +2.7.4 + diff --git a/recipes-ros/ros-comm/message-filters_1.11.21.bb b/recipes-ros/ros-comm/message-filters_1.11.21.bb index 9a338b3..08a18d4 100644 --- a/recipes-ros/ros-comm/message-filters_1.11.21.bb +++ b/recipes-ros/ros-comm/message-filters_1.11.21.bb @@ -8,3 +8,5 @@ DEPENDS = "boost rosconsole roscpp xmlrpcpp" require ros-comm.inc ROS_PKG_SUBDIR = "utilities" + +SRC_URI += "file://0001-Changed-invocation-to-add-to-conform-template-syntax.patch;patchdir=../.." From 41178258b53f2027c75dba2a367b8d6e92f7ee3b Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 14 May 2018 23:31:53 +0000 Subject: [PATCH 2/6] pcl: build with gcc-8 Signed-off-by: Martin Jansa [lukas.bulwahn@gmail.com: edited patch and rewritten commit message] Signed-off-by: Lukas Bulwahn --- ...-Dereference-shared_ptr-fix-for-GCC8.patch | 46 +++++++++++++++++++ recipes-extended/pcl/pcl_1.8.0.bb | 1 + 2 files changed, 47 insertions(+) create mode 100644 recipes-extended/pcl/pcl/0001-Dereference-shared_ptr-fix-for-GCC8.patch diff --git a/recipes-extended/pcl/pcl/0001-Dereference-shared_ptr-fix-for-GCC8.patch b/recipes-extended/pcl/pcl/0001-Dereference-shared_ptr-fix-for-GCC8.patch new file mode 100644 index 0000000..78675f0 --- /dev/null +++ b/recipes-extended/pcl/pcl/0001-Dereference-shared_ptr-fix-for-GCC8.patch @@ -0,0 +1,46 @@ +From a0b3ce9ca5c69a945695c1c83dab7937a3d99b83 Mon Sep 17 00:00:00 2001 +From: Jochen Sprickerhof +Date: Sat, 5 May 2018 23:58:13 +0200 +Subject: [PATCH] Dereference shared_ptr, fix for GCC8 + +Upstream-Status: Accepted [https://github.com/PointCloudLibrary/pcl/commit/a0b3ce9ca5c69a945695c1c83dab7937a3d99b83] + +This patch has been generated with: + `git format-patch -1 a0b3ce9ca5c69a945695c1c83dab7937a3d99b83` +in the pcl repository. + +Signed-off-by: Lukas Bulwahn +--- + segmentation/include/pcl/segmentation/ground_plane_comparator.h | 2 +- + segmentation/include/pcl/segmentation/plane_coefficient_comparator.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/segmentation/include/pcl/segmentation/ground_plane_comparator.h b/segmentation/include/pcl/segmentation/ground_plane_comparator.h +index e39354d..f96f38b 100644 +--- a/segmentation/include/pcl/segmentation/ground_plane_comparator.h ++++ b/segmentation/include/pcl/segmentation/ground_plane_comparator.h +@@ -147,7 +147,7 @@ namespace pcl + const std::vector& + getPlaneCoeffD () const + { +- return (plane_coeff_d_); ++ return (*plane_coeff_d_); + } + + /** \brief Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane. +diff --git a/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h b/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h +index 9c94813..a21725a 100644 +--- a/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h ++++ b/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h +@@ -141,7 +141,7 @@ namespace pcl + const std::vector& + getPlaneCoeffD () const + { +- return (plane_coeff_d_); ++ return (*plane_coeff_d_); + } + + /** \brief Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane. +-- +2.7.4 + diff --git a/recipes-extended/pcl/pcl_1.8.0.bb b/recipes-extended/pcl/pcl_1.8.0.bb index 16212cd..e019bd9 100644 --- a/recipes-extended/pcl/pcl_1.8.0.bb +++ b/recipes-extended/pcl/pcl_1.8.0.bb @@ -10,6 +10,7 @@ SRC_URI[md5sum] = "8c1308be2c13106e237e4a4204a32cca" SRC_URI[sha256sum] = "9e54b0c1b59a67a386b9b0f4acb2d764272ff9a0377b825c4ed5eedf46ebfcf4" SRC_URI += "file://0001-make-the-pcl-library-compile-with-gcc6.patch" +SRC_URI += "file://0001-Dereference-shared_ptr-fix-for-GCC8.patch" S = "${WORKDIR}/pcl-${P}" From 8fcd5838a43603c6bd9978fc491ba7cafd53871d Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 15 May 2018 00:10:04 +0000 Subject: [PATCH 3/6] moveit-core: fix build with gcc8 http://errors.yoctoproject.org/Errors/Details/178616/ Signed-off-by: Martin Jansa [lukas.bulwahn@gmail.com: adjusted patch filename and included Upstream-Status] Signed-off-by: Lukas Bulwahn --- ...type-to-pass-GCC8-static-assert.-888.patch | 32 +++++++++++++++++++ recipes-ros/moveit/moveit-core_0.7.13.bb | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 recipes-ros/moveit/moveit-core/0001-Fix-allocator-type-to-pass-GCC8-static-assert.-888.patch diff --git a/recipes-ros/moveit/moveit-core/0001-Fix-allocator-type-to-pass-GCC8-static-assert.-888.patch b/recipes-ros/moveit/moveit-core/0001-Fix-allocator-type-to-pass-GCC8-static-assert.-888.patch new file mode 100644 index 0000000..e0adba2 --- /dev/null +++ b/recipes-ros/moveit/moveit-core/0001-Fix-allocator-type-to-pass-GCC8-static-assert.-888.patch @@ -0,0 +1,32 @@ +From 89a976959e6a84b363ea2c5e53685b2e2b810711 Mon Sep 17 00:00:00 2001 +From: Maarten de Vries +Date: Fri, 11 May 2018 07:55:17 +0200 +Subject: [PATCH] Fix allocator type to pass GCC8 static assert. (#888) + +Upstream-Status: Backport [from kinetic, https://github.com/ros-planning/moveit/commit/89a976959e6a84b363ea2c5e53685b2e2b810711] + +This patch has been generated with: + `git format-patch -1 89a976959e6a84b363ea2c5e53685b2e2b810711` +in the moveit repository. + +Signed-off-by: Lukas Bulwahn +--- + moveit_core/robot_model/include/moveit/robot_model/link_model.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/moveit_core/robot_model/include/moveit/robot_model/link_model.h b/moveit_core/robot_model/include/moveit/robot_model/link_model.h +index d8aec2f..3f2b1b6 100644 +--- a/moveit_core/robot_model/include/moveit/robot_model/link_model.h ++++ b/moveit_core/robot_model/include/moveit/robot_model/link_model.h +@@ -65,7 +65,7 @@ typedef std::map LinkModelMapConst; + + /** \brief Map from link model instances to Eigen transforms */ + typedef std::map, +- Eigen::aligned_allocator > > ++ Eigen::aligned_allocator > > + LinkTransformMap; + + /** \brief A link from the robot. Contains the constant transform applied to the link and its geometry */ +-- +2.7.4 + diff --git a/recipes-ros/moveit/moveit-core_0.7.13.bb b/recipes-ros/moveit/moveit-core_0.7.13.bb index 6f63c68..70f83a9 100644 --- a/recipes-ros/moveit/moveit-core_0.7.13.bb +++ b/recipes-ros/moveit/moveit-core_0.7.13.bb @@ -6,3 +6,5 @@ LIC_FILES_CHKSUM = "file://package.xml;beginline=14;endline=14;md5=d566ef916e9de DEPENDS = "roslib boost eigen-conversions fcl octomap eigen-stl-containers geometric-shapes kdl-parser moveit-msgs srdfdom cmake-modules" require moveit.inc + +SRC_URI += "file://0001-Fix-allocator-type-to-pass-GCC8-static-assert.-888.patch;patchdir=.." From 39170a867714cdbc18e0c52752f345149543242d Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 15 May 2018 09:11:17 +0000 Subject: [PATCH 4/6] pcl: disable parallel build (resolves #588) Signed-off-by: Martin Jansa [lukas.bulwahn@gmail.com: include reference to meta-ros issue tracker] Signed-off-by: Lukas Bulwahn --- recipes-extended/pcl/pcl_1.8.0.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes-extended/pcl/pcl_1.8.0.bb b/recipes-extended/pcl/pcl_1.8.0.bb index e019bd9..2ad7260 100644 --- a/recipes-extended/pcl/pcl_1.8.0.bb +++ b/recipes-extended/pcl/pcl_1.8.0.bb @@ -40,3 +40,8 @@ CXXFLAGS += "${@bb.utils.contains("TARGET_CC_ARCH", "-mfpmath=sse", "", "-ffloat inherit cmake FILES_${PN}-dev += "${datadir}/${PN}-1.8/*.cmake" + +# The build is really memory hungry (at least with gcc8), even with just -j 8 it triggers OOMK on system with 32GB ram +# High memory needs mentioned in: https://github.com/PointCloudLibrary/pcl/issues/2284 +# Setting just empty doesn't work, ninja will by default use number of cores available +PARALLEL_MAKE = "-j1" From 5ba1194e2fe29ac21943582baac228088ef51dc0 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 15 May 2018 13:47:00 +0000 Subject: [PATCH 5/6] moveit-ros-planning: add missing dependency on tf-conversions * fixes: ERROR: moveit-ros-planning-0.7.13-r0 do_package_qa: QA Issue: /opt/ros/indigo/lib/libmoveit_planning_scene_monitor.so.0.7.3 contained in package moveit-ros-planning requires libtf_conversions.so()(64bit), but no providers found in RDEPENDS_moveit-ros-planning? [file-rdeps] Signed-off-by: Martin Jansa --- recipes-ros/moveit/moveit-ros-planning_0.7.13.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-ros/moveit/moveit-ros-planning_0.7.13.bb b/recipes-ros/moveit/moveit-ros-planning_0.7.13.bb index 49244a4..d8e44bd 100644 --- a/recipes-ros/moveit/moveit-ros-planning_0.7.13.bb +++ b/recipes-ros/moveit/moveit-ros-planning_0.7.13.bb @@ -3,7 +3,7 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=d566ef916e9dedc494f5f793a6690ba5" -DEPENDS = "moveit-core moveit-ros-perception dynamic-reconfigure ${PYTHON_PN}-rospkg libtinyxml" +DEPENDS = "moveit-core moveit-ros-perception dynamic-reconfigure ${PYTHON_PN}-rospkg libtinyxml tf-conversions" require moveit.inc From 342d6be4497ae8e9a556d66fbd1b8530a5f244f5 Mon Sep 17 00:00:00 2001 From: Lukas Bulwahn Date: Sat, 16 Jun 2018 20:29:50 +0200 Subject: [PATCH 6/6] pcl: update Upstream-Status of patch Signed-off-by: Lukas Bulwahn --- .../pcl/pcl/0001-make-the-pcl-library-compile-with-gcc6.patch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-extended/pcl/pcl/0001-make-the-pcl-library-compile-with-gcc6.patch b/recipes-extended/pcl/pcl/0001-make-the-pcl-library-compile-with-gcc6.patch index e9e2ec2..01170af 100644 --- a/recipes-extended/pcl/pcl/0001-make-the-pcl-library-compile-with-gcc6.patch +++ b/recipes-extended/pcl/pcl/0001-make-the-pcl-library-compile-with-gcc6.patch @@ -45,8 +45,9 @@ based on already pre-existing patterns in the CMakeLists.txt file. Signed-off-by: Lukas Bulwahn -Upstream-Status: Pending [https://github.com/PointCloudLibrary/pcl/pull/1730] +Upstream-Status: Inappropriate [openembedded specific] +Signed-off-by: Lukas Bulwahn --- CMakeLists.txt | 2 +- cmake/Modules/FindOpenNI.cmake | 2 +-