Bug 236595

Summary: graphics/pcl-pointclouds: fails to build with boost 1.70
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: Closed FIXED    
Severity: Affects Only Me CC: alexandrov88, yuri
Priority: --- Keywords: needs-patch
Version: LatestFlags: bugzilla: maintainer-feedback? (yuri)
Hardware: Any   
OS: Any   
See Also: https://github.com/PointCloudLibrary/pcl/issues/2931
Bug Depends on:    
Bug Blocks: 235956    

Description Jan Beich freebsd_committer freebsd_triage 2019-03-17 11:36:05 UTC
While preparing for Boost upgrade this port failed to build. Can you help to avoid marking it as BROKEN?

$ fetch -qo- 'https://reviews.freebsd.org/D19303?download=true' |
  patch -Efsp0 -d /usr/ports
$ make all deinstall install clean -C/usr/ports/devel/boost-jam
$ make all deinstall install clean -C/usr/ports/devel/boost-libs
$ make -C/usr/ports/graphics/pcl-pointclouds
[...]
In file included from .../work/pcl-pcl-1.9.1/segmentation/src/supervoxel_clustering.cpp:49:
In file included from .../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/impl/supervoxel_clustering.hpp:43:
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/supervoxel_clustering.h:528:26: error: 'checked_delete<const pcl::SupervoxelClustering<pcl::PointXYZRGB>::SupervoxelHelper>' is missing exception specification 'noexcept'
      friend void boost::checked_delete<> (const typename pcl::SupervoxelClustering<PointT>::SupervoxelHelper *);
                         ^
                                                                                                                 noexcept
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/impl/supervoxel_clustering.hpp:722:75: note: in instantiation of template class 'pcl::SupervoxelClustering<pcl::PointXYZRGB>' requested here
    pcl::octree::OctreePointCloudAdjacencyContainer<pcl::PointXYZRGB,pcl::SupervoxelClustering<pcl::PointXYZRGB>::VoxelData>::addPoint (const pcl::PointXYZRGB &new_point);
                                                                          ^
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/supervoxel_clustering.h:528:26: note: previous declaration is here
      friend void boost::checked_delete<> (const typename pcl::SupervoxelClustering<PointT>::SupervoxelHelper *);
                         ^
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/supervoxel_clustering.h:528:26: error: 'checked_delete<const pcl::SupervoxelClustering<pcl::PointXYZRGBA>::SupervoxelHelper>' is missing exception specification 'noexcept'
      friend void boost::checked_delete<> (const typename pcl::SupervoxelClustering<PointT>::SupervoxelHelper *);
                         ^
                                                                                                                 noexcept
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/impl/supervoxel_clustering.hpp:726:76: note: in instantiation of template class 'pcl::SupervoxelClustering<pcl::PointXYZRGBA>' requested here
    pcl::octree::OctreePointCloudAdjacencyContainer<pcl::PointXYZRGBA,pcl::SupervoxelClustering<pcl::PointXYZRGBA>::VoxelData>::addPoint (const pcl::PointXYZRGBA &new_point);
                                                                           ^
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/supervoxel_clustering.h:528:26: note: previous declaration is here
      friend void boost::checked_delete<> (const typename pcl::SupervoxelClustering<PointT>::SupervoxelHelper *);
                         ^
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/supervoxel_clustering.h:528:26: error: 'checked_delete<const pcl::SupervoxelClustering<pcl::PointXYZ>::SupervoxelHelper>' is missing exception specification 'noexcept'
      friend void boost::checked_delete<> (const typename pcl::SupervoxelClustering<PointT>::SupervoxelHelper *);
                         ^
                                                                                                                 noexcept
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/impl/supervoxel_clustering.hpp:738:72: note: in instantiation of template class 'pcl::SupervoxelClustering<pcl::PointXYZ>' requested here
    pcl::octree::OctreePointCloudAdjacencyContainer<pcl::PointXYZ,pcl::SupervoxelClustering<pcl::PointXYZ>::VoxelData>::addPoint (const pcl::PointXYZ &new_point);
                                                                       ^
.../work/pcl-pcl-1.9.1/segmentation/include/pcl/segmentation/supervoxel_clustering.h:528:26: note: previous declaration is here
      friend void boost::checked_delete<> (const typename pcl::SupervoxelClustering<PointT>::SupervoxelHelper *);
                         ^
3 errors generated.
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2019-03-17 18:08:27 UTC
The upstream bug report: https://github.com/PointCloudLibrary/pcl/issues/2932
Comment 2 Jan Beich freebsd_committer freebsd_triage 2019-03-17 20:26:49 UTC
(In reply to Yuri Victorovich from comment #1)
Actually, I did report beforehand and put the link into See Also field. Upstream already responded with a patch. No clue if it'd work for both 1.70 and 1.69 without #if BOOST_VERSION < 107000 conditional. All my jails are on 1.70 for dogfooding.
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2019-03-17 20:40:38 UTC
Please feel free to commit a patch if appropriate.
Comment 4 Sergey 2019-03-25 09:33:04 UTC
We have merged a patch (including version check) upstream: https://github.com/PointCloudLibrary/pcl/pull/2942.
Comment 5 commit-hook freebsd_committer freebsd_triage 2019-03-25 10:09:15 UTC
A commit references this bug:

Author: jbeich
Date: Mon Mar 25 10:08:35 UTC 2019
New revision: 496812
URL: https://svnweb.freebsd.org/changeset/ports/496812

Log:
  graphics/pcl-pointclouds: unbreak with boost 1.70

  PR:		236595
  Obtained from:	upstream

Changes:
  head/graphics/pcl-pointclouds/Makefile
  head/graphics/pcl-pointclouds/distinfo