From 027c774cd7ff1f935908faa94e8a47042b246643 Mon Sep 17 00:00:00 2001 From: Lukas Bulwahn Date: Sat, 16 Jan 2016 11:30:59 +0100 Subject: [PATCH] pcl: updating to 1.7.2 The update to the latest version 1.7.2 was triggered by compilation errors in pcl 1.7.0 (i.e., in file common/include/pcl/point_types.h) due to the update of boost to 1.60.0 in openembedded-core [1]. This failure was detected by the internal CI build on 2016-01-15. Due to the version update, the commit drops patch `Fix incompatibility with Boost 1.56`, as the change is included upstream in version 1.7.2. This commit also adds the upstream-accepted patch `Add "WITH_OPENGL" option (...)` to make the dependency to OpenGL libraries optional. The commit configures package dependencies and compiles with the least possible packages, so that the pcl-ros recipe compiles. As a result, all optional packages in PCL, except qhull, can be set to FALSE. If qhull is deactivated, the do_configure task of pcl-ros reports: | -- Could NOT find qhull (missing: QHULL_LIBRARY) | ** WARNING ** surface features related to qhull will be disabled However, in the do_compile task of pcl-ros, the build process assumes that the surface features related to qhull are actually never disabled, i.e., if qhull is deactivated, compiling pcl-ros fails with: | In file included from [...]/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:0: | [...]/pcl_ros/include/pcl_ros/surface/convex_hull.h:44:37: fatal error: pcl/surface/convex_hull.h: No such file or directory | compilation terminated. | CMakeFiles/pcl_ros_surface.dir/build.make:89: recipe for target 'CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o' failed | make[2]: *** [CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o] Error 1 | make[2]: Leaving directory '[...]/build' | CMakeFiles/Makefile2:1173: recipe for target 'CMakeFiles/pcl_ros_surface.dir/all' failed | make[1]: *** [CMakeFiles/pcl_ros_surface.dir/all] Error 2 [1] http://cgit.openembedded.org/openembedded-core/commit/?id=17d77db5e1203e18cdd178e7d9a457310425ebdc Signed-off-by: Lukas Bulwahn --- ...option-to-make-OpenGL-and-Glut-inclu.patch | 38 +++++++++ ...-Fix-incompatibility-with-Boost-1.56.patch | 77 ------------------- .../pcl/{pcl_1.7.0.bb => pcl_1.7.2.bb} | 20 +++-- 3 files changed, 52 insertions(+), 83 deletions(-) create mode 100644 recipes-extended/pcl/pcl/0001-Add-WITH_OPENGL-option-to-make-OpenGL-and-Glut-inclu.patch delete mode 100644 recipes-extended/pcl/pcl/0001-Fix-incompatibility-with-Boost-1.56.patch rename recipes-extended/pcl/{pcl_1.7.0.bb => pcl_1.7.2.bb} (72%) diff --git a/recipes-extended/pcl/pcl/0001-Add-WITH_OPENGL-option-to-make-OpenGL-and-Glut-inclu.patch b/recipes-extended/pcl/pcl/0001-Add-WITH_OPENGL-option-to-make-OpenGL-and-Glut-inclu.patch new file mode 100644 index 0000000..1064e43 --- /dev/null +++ b/recipes-extended/pcl/pcl/0001-Add-WITH_OPENGL-option-to-make-OpenGL-and-Glut-inclu.patch @@ -0,0 +1,38 @@ +From 1361899d1a336938811eceb17e2f71abe650ae17 Mon Sep 17 00:00:00 2001 +From: Davide Viti +Date: Sun, 9 Nov 2014 21:37:28 +0100 +Subject: [PATCH] Add "WITH_OPENGL" option to make OpenGL and Glut inclusion + conditional + +Upstream-Status: Accepted + +This patch file was created from the pcl repository with: + + `git checkout 1361899d1a336938811eceb17e2f71abe650ae17 && git format-patch -1` + +I expect this patch to be dropped in any recipe version later than 1.7.2. + +Signed-off-by: Lukas.Bulwahn +--- + CMakeLists.txt | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6cc473d..7fda151 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -403,7 +403,10 @@ if(WITH_PCAP) + endif(WITH_PCAP) + + # OpenGL and GLUT +-include("${PCL_SOURCE_DIR}/cmake/pcl_find_gl.cmake") ++option(WITH_OPENGL "Support for OpenGL" TRUE) ++if(WITH_OPENGL) ++ include("${PCL_SOURCE_DIR}/cmake/pcl_find_gl.cmake") ++endif(WITH_OPENGL) + + ### ---[ Create the config.h file + set(pcl_config_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pcl_config.h.in") +-- +2.4.3 + diff --git a/recipes-extended/pcl/pcl/0001-Fix-incompatibility-with-Boost-1.56.patch b/recipes-extended/pcl/pcl/0001-Fix-incompatibility-with-Boost-1.56.patch deleted file mode 100644 index 419bc69..0000000 --- a/recipes-extended/pcl/pcl/0001-Fix-incompatibility-with-Boost-1.56.patch +++ /dev/null @@ -1,77 +0,0 @@ -From c2ad66f36569d64a445dbadeae197264d216d48c Mon Sep 17 00:00:00 2001 -From: Sergey Alexandrov -Date: Sat, 23 Aug 2014 13:03:37 +0200 -Subject: [PATCH] Fix incompatibility with Boost 1.56 - -The fix is based on the proposal of Andrew McMahon (@McDamon, #864). - -Upstream-Status: Backport [retrieved from upstream repository] - -This patch is copy of: -https://github.com/PointCloudLibrary/pcl/commit/c2ad66f36569d64a445dbadeae197264d216d48c.patch ---- - io/src/lzf_image_io.cpp | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -diff --git a/io/src/lzf_image_io.cpp b/io/src/lzf_image_io.cpp -index 55eca90..7742f16 100644 ---- a/io/src/lzf_image_io.cpp -+++ b/io/src/lzf_image_io.cpp -@@ -59,6 +59,17 @@ - - #define LZF_HEADER_SIZE 37 - -+ -+// The signature of boost::property_tree::xml_parser::write_xml() changed in Boost 1.56 -+// See https://github.com/PointCloudLibrary/pcl/issues/864 -+#include -+#if (BOOST_VERSION >= 105600) -+ typedef boost::property_tree::xml_writer_settings xml_writer_settings; -+#else -+ typedef boost::property_tree::xml_writer_settings xml_writer_settings; -+#endif -+ -+ - ////////////////////////////////////////////////////////////////////////////// - bool - pcl::io::LZFImageWriter::saveImageBlob (const char* data, -@@ -198,9 +209,8 @@ pcl::io::LZFImageWriter::writeParameter (const double ¶meter, - catch (std::exception& e) - {} - -- boost::property_tree::xml_writer_settings settings ('\t', 1); - pt.put (tag, parameter); -- write_xml (filename, pt, std::locale (), settings); -+ write_xml (filename, pt, std::locale (), xml_writer_settings ('\t', 1)); - - return (true); - } -@@ -218,13 +228,12 @@ pcl::io::LZFDepth16ImageWriter::writeParameters (const pcl::io::CameraParameters - catch (std::exception& e) - {} - -- boost::property_tree::xml_writer_settings settings ('\t', 1); - pt.put ("depth.focal_length_x", parameters.focal_length_x); - pt.put ("depth.focal_length_y", parameters.focal_length_y); - pt.put ("depth.principal_point_x", parameters.principal_point_x); - pt.put ("depth.principal_point_y", parameters.principal_point_y); - pt.put ("depth.z_multiplication_factor", z_multiplication_factor_); -- write_xml (filename, pt, std::locale (), settings); -+ write_xml (filename, pt, std::locale (), xml_writer_settings ('\t', 1)); - - return (true); - } -@@ -279,12 +288,11 @@ pcl::io::LZFRGB24ImageWriter::writeParameters (const pcl::io::CameraParameters & - catch (std::exception& e) - {} - -- boost::property_tree::xml_writer_settings settings ('\t', 1); - pt.put ("rgb.focal_length_x", parameters.focal_length_x); - pt.put ("rgb.focal_length_y", parameters.focal_length_y); - pt.put ("rgb.principal_point_x", parameters.principal_point_x); - pt.put ("rgb.principal_point_y", parameters.principal_point_y); -- write_xml (filename, pt, std::locale (), settings); -+ write_xml (filename, pt, std::locale (), xml_writer_settings ('\t', 1)); - - return (true); - } diff --git a/recipes-extended/pcl/pcl_1.7.0.bb b/recipes-extended/pcl/pcl_1.7.2.bb similarity index 72% rename from recipes-extended/pcl/pcl_1.7.0.bb rename to recipes-extended/pcl/pcl_1.7.2.bb index 80370fd..f0acb0f 100644 --- a/recipes-extended/pcl/pcl_1.7.0.bb +++ b/recipes-extended/pcl/pcl_1.7.2.bb @@ -3,25 +3,33 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5b8a2a1aa14e6de44b4273134946a34c" -DEPENDS = "boost libflann libeigen libusb1 libpng qhull" +DEPENDS = "boost libflann libeigen qhull" SRC_URI = "https://github.com/PointCloudLibrary/${PN}/archive/${P}.tar.gz" -SRC_URI[md5sum] = "e2ac2d2e72825d991c6d194f9586b5d8" -SRC_URI[sha256sum] = "a5446b4d892d0e6b080ab6b6b745faad2f2f415c6c1353b1424f6b38175c777e" +SRC_URI[md5sum] = "02c72eb6760fcb1f2e359ad8871b9968" +SRC_URI[sha256sum] = "479f84f2c658a6319b78271111251b4c2d6cf07643421b66bbc351d9bed0ae93" -SRC_URI += "file://0001-Fix-incompatibility-with-Boost-1.56.patch" +SRC_URI += "file://0001-Add-WITH_OPENGL-option-to-make-OpenGL-and-Glut-inclu.patch" S = "${WORKDIR}/pcl-${P}" EXTRA_OECMAKE += "\ -DCMAKE_SKIP_RPATH=ON \ -DHAVE_MM_MALLOC_EXITCODE=0 \ - -DHAVE_POSIX_MEMALIGN_EXITCODE=0 \ + -DHAVE_POSIX_MEMALIGN_EXITCODE=0 \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DHAVE_SSE4_2_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE4_2_EXTENSIONS_EXITCODE=1", d)} \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DHAVE_SSE4_1_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE4_1_EXTENSIONS_EXITCODE=1", d)} \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DHAVE_SSE3_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE3_EXTENSIONS_EXITCODE=1", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DHAVE_SSE3_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE3_EXTENSIONS_EXITCODE=1", d)} \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse2", "-DHAVE_SSE2_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE2_EXTENSIONS_EXITCODE=1", d)} \ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse", "-DHAVE_SSE_EXTENSIONS_EXITCODE=0", "-DHAVE_SSE_EXTENSIONS_EXITCODE=1", d)} \ + -DWITH_LIBUSB=FALSE \ + -DWITH_PNG=FALSE \ + -DWITH_QHULL=TRUE \ + -DWITH_CUDA=FALSE \ + -DWITH_QT=FALSE \ + -DWITH_VTK=FALSE \ + -DWITH_PCAP=FALSE \ + -DWITH_OPENGL=FALSE \ " #Setting -ffloat-store to alleviate 32bit vs 64bit discrepancies on non-SSE platforms.