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 "")
 

Reply via email to