Source: pcl Version: 1.7.2-6 Severity: serious Tags: patch Hi,
pcl seems to sometimes FTBFS with this error: > [ 52%] Building CXX object tools/CMakeFiles/pcl_mesh2pcd.dir/mesh2pcd.cpp.o > cd /tmp/buildd/pcl-1.7.2/build/tools && /usr/bin/c++ > -DEIGEN_USE_NEW_STDVECTOR -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET > -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dqh_QHpointer -g -O2 > -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 > -D_FORTIFY_SOURCE=2 -pthread -fopenmp -Wno-deprecated -isystem > /usr/include/eigen3 -isystem /usr/include/ni > -I/tmp/buildd/pcl-1.7.2/recognition/include/pcl/recognition/3rdparty -isystem > /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem > /usr/include/qt4/QtCore -I/tmp/buildd/pcl-1.7.2/build/include > -I/tmp/buildd/pcl-1.7.2/common/include -I/tmp/buildd/pcl-1.7.2/io/include > -I/tmp/buildd/pcl-1.7.2/filters/include > -I/tmp/buildd/pcl-1.7.2/sample_consensus/include > -I/tmp/buildd/pcl-1.7.2/segmentation/include > -I/tmp/buildd/pcl-1.7.2/search/include -I/tmp/buildd/pcl-1.7.2/kdtree/include > -I/tmp/buildd/pcl-1.7.2/features/include > -I/tmp/buildd/pcl-1.7.2/surface/include > -I/tmp/buildd/pcl-1.7.2/octree/include > -I/tmp/buildd/pcl-1.7.2/registration/include > -I/tmp/buildd/pcl-1.7.2/recognition/include > -I/tmp/buildd/pcl-1.7.2/geometry/include > -I/tmp/buildd/pcl-1.7.2/keypoints/include -I/usr/include/vtk-5.8 > -I/tmp/buildd/pcl-1.7.2/tools/include -o > CMakeFiles/pcl_mesh2pcd.dir/mesh2pcd.cpp.o -c > /tmp/buildd/pcl-1.7.2/tools/mesh2pcd.cpp > /tmp/buildd/pcl-1.7.2/tools/mesh2pcd.cpp:38:46: fatal error: > pcl/visualization/pcl_visualizer.h: No such file or directory > #include <pcl/visualization/pcl_visualizer.h> > ^ > compilation terminated. Note that -I/.../visualization/include does not appear in the compiler command like it does on the successful builds. The top of the log contains this which seems a bit strange: > -- The following subsystems will be built: > -- common > -- kdtree > -- octree > -- search > -- sample_consensus > -- filters > -- features > -- geometry > -- registration > -- io > -- segmentation > -- surface > -- recognition > -- keypoints > -- visualization > -- tracking > -- apps > building: > |_ point_cloud_editor > |_ in_hand_scanner > |_ modeler > not building: > |_ cloud_composer: No reason > |_ optronic_viewer: FZAPI was not found. > -- people > -- outofcore > -- examples > -- The following subsystems will not be built: > -- tools: Requires visualization. > -- global_tests: No reason I had a look at the build system and it seems that "tools" does not declare a dependency on "visualization" so the order they're built is random. I think the order depends on the order of directory entries as chosen by the filesystem driver. This could explain why the build worked on some buildds. I haven't managed to build the current version on my amd64 machine at all (in various different chroots). Some logs of failed builds (the arm64 one later built successfully): https://buildd.debian.org/status/fetch.php?pkg=pcl&arch=sparc&ver=1.7.2-6&stamp=1417974163 https://launchpadlibrarian.net/193721902/buildlog_ubuntu-vivid-ppc64el.pcl_1.7.2-6_FAILEDTOBUILD.txt.gz https://buildd.debian.org/status/fetch.php?pkg=pcl&arch=arm64&ver=1.7.2-3&stamp=1416536853 I've attached a patch which adds the dependency which fixes this issue for me. Thanks, James
--- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,6 +1,6 @@ set (SUBSYS_NAME tools) set (SUBSYS_DESC "Useful PCL-based command line tools") -set (SUBSYS_DEPS common io filters sample_consensus segmentation search kdtree features surface octree registration recognition geometry keypoints) +set (SUBSYS_DEPS common io filters sample_consensus segmentation search kdtree features surface octree registration recognition geometry keypoints visualization) set (DEFAULT ON) set (REASON "")