Pcl: A number of test not being run on CI

Created on 10 Mar 2020  路  10Comments  路  Source: PointCloudLibrary/pcl

While checking a build log I noticed some tests are not being built.

Something is off, likely on our cmake file.

-- The following subsystems will be built:
--   common
--   kdtree
--   octree
--   ml
--   segmentation
--   people
--   global_tests
--   tests_2d
--   tests_common
--   tests_features
--   tests_filters
--   tests_geometry
--   tests_io
--   tests_kdtree
--   tests_people
--   tests_octree
--   tests_search
--   tests_segmentation
--   tests_sample_consensus
--   tests_visualization
--   surface
--   registration
--   keypoints
--   tracking
--   recognition
--   stereo
--   apps
       building: 
       |_ modeler
       |_ point_cloud_editor
       |_ 3d_rec_framework
       |_ in_hand_scanner
       |_ cloud_composer
--   simulation
--   outofcore
--   examples
--   tools
-- The following subsystems will not be built:
--   tests_keypoints: Requires keypoints.
--   tests_outofcore: Requires outofcore.
--   tests_recognition: Requires recognition.
--   tests_registration: Requires registration.
--   tests_surface: Requires surface.
bug ci cmake testing

All 10 comments

I thought it was an issue in CMake invocation, but it's not. My mistake. The required packages are being reported as "required" for the tests are present in the output.

I can't reproduce locally: with the docker pointcloudlibrary/env:16.04 and these commands

root@70147574bdbb:/pcl/build# history
    1  apt-get update && apt-get install git
    2  git clone https://github.com/PointCloudLibrary/pcl.git
    3  mkdir pcl/build && cd pcl/build
    4  cmake ../ -DPCL_ONLY_CORE_POINT_TYPES=ON -DPCL_WARNINGS_ARE_ERRORS=ON -DBUILD_simulation=ON -DBUILD_surface_on_nurbs=ON -DBUILD_global_tests=ON -DBUILD_examples=ON -DBUILD_tools=ON -DBUILD_apps=ON -DBUILD_apps_3d_rec_framework=ON -DBUILD_apps_cloud_composer=ON -DBUILD_apps_in_hand_scanner=ON -DBUILD_apps_modeler=ON -DBUILD_apps_point_cloud_editor=ON
    5  history

I get


Configuration output

root@70147574bdbb:/pcl/build# cmake ../ -DPCL_ONLY_CORE_POINT_TYPES=ON -DPCL_WARNINGS_ARE_ERRORS=ON -DBUILD_simulation=ON -DBUILD_surface_on_nurbs=ON -DBUILD_global_tests=ON -DBUILD_examples=ON -DBUILD_tools=ON -DBUILD_apps=ON -DBUILD_apps_3d_rec_framework=ON -DBUILD_apps_cloud_composer=ON -DBUILD_apps_in_hand_scanner=ON -DBUILD_apps_modeler=ON -DBUILD_apps_point_cloud_editor=ON-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Could NOT find ClangFormat (missing:  ClangFormat_EXECUTABLE ClangFormat_VERSION) (Required is at least version "7")
-- Performing Test HAVE_MARCH
-- Performing Test HAVE_MARCH - Success
-- Using CPU native flags for SSE optimization: -march=native
-- Performing Test HAVE_MM_MALLOC
-- Performing Test HAVE_MM_MALLOC - Success
-- Performing Test HAVE_POSIX_MEMALIGN
-- Performing Test HAVE_POSIX_MEMALIGN - Success
-- Performing Test HAVE_SSE4_2_EXTENSIONS
-- Performing Test HAVE_SSE4_2_EXTENSIONS - Success
-- Performing Test HAVE_SSE4_1_EXTENSIONS
-- Performing Test HAVE_SSE4_1_EXTENSIONS - Success
-- Performing Test HAVE_SSSE3_EXTENSIONS
-- Performing Test HAVE_SSSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE3_EXTENSIONS
-- Performing Test HAVE_SSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE2_EXTENSIONS
-- Performing Test HAVE_SSE2_EXTENSIONS - Success
-- Performing Test HAVE_SSE_EXTENSIONS
-- Performing Test HAVE_SSE_EXTENSIONS - Success
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp  
-- Found OpenMP
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Checking for module 'eigen3'
--   Found eigen3, version 3.2.92
-- Found Eigen: /usr/include/eigen3 (Required is at least version "3.1") 
-- Eigen found (include: /usr/include/eigen3, version: 3.2.92)
-- Checking for module 'flann>=1.7.0'
--   Found flann, version 1.8.4
-- Found FLANN: /usr/lib/x86_64-linux-gnu/libflann_cpp.so (Required is at least version "1.7.0") 
-- Found LIBUSB_1: /usr/lib/x86_64-linux-gnu/libusb-1.0.so  
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.20
-- Found USB_10: /usr/lib/x86_64-linux-gnu/libusb-1.0.so  
-- Found OpenNI: /usr/lib/libOpenNI.so  
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- Found OpenNI2: /usr/lib/libOpenNI2.so  
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
-- Found ENSENSO: /usr/lib/libNxLib64.so  
-- Ensenso found (include: /opt/ensenso/development/c/include, lib: /usr/lib/libNxLib64.so)
-- Could NOT find davidSDK (missing:  DAVIDSDK_LIBRARY DAVIDSDK_INCLUDE_DIR) 
-- David Vision Systems SDK support: not building because davidSDK not found
-- Could NOT find DSSDK (missing:  DSSDK_LIBRARIES DSSDK_INCLUDE_DIRS) 
-- DepthSense SDK support: not building because DSSDK not found
-- Could NOT find RSSDK (missing:  RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS) 
-- RealSense SDK support: not building because RSSDK not found
-- RealSense SDK 2 found (include: /usr/local/include, lib: realsense2::realsense2, version: 2.23.0)
-- Checking for module 'metslib'
--   No package 'metslib' found
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.2.54") 
-- Found Qhull: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so  
-- QHULL found (include: /usr/include, lib: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so)
-- Found CUDA Toolkit v9.0
-- CUDA NVCC target flags: -gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52;-gencode;arch=compute_53,code=sm_53;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70
-- The imported target "vtkRenderingPythonTkWidgets" references the file
   "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- The imported target "vtk" references the file
   "/usr/bin/vtk"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- VTK_MAJOR_VERSION 6, rendering backend: OpenGL
-- VTK found (include: /usr/include/vtk-6.2;/usr/include/freetype2;/usr/include/x86_64-linux-gnu/freetype2;/usr/include;/usr/include/x86_64-linux-gnu;/usr/include/jsoncpp, libs: vtkChartsCore;vtkCommonColor;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkInfovisCore;vtkFiltersExtraction;vtkCommonExecutionModel;vtkFiltersCore;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkRenderingContext2D;vtkRenderingCore;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;/usr/lib/x86_64-linux-gnu/libfreetype.so;/usr/lib/x86_64-linux-gnu/libz.so;vtkftgl;vtkFiltersModeling;vtkImagingSources;vtkInteractionStyle;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingGeneral;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkIOCore;vtkmetaio;/usr/lib/x86_64-linux-gnu/libjpeg.so;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libtiff.so;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkIOGeometry;/usr/lib/x86_64-linux-gnu/libjsoncpp.so;vtkIOLegacy;vtkIOPLY;vtkRenderingLOD;vtkViewsContext2D;vtkViewsCore;vtkRenderingContextOpenGL;vtkRenderingOpenGL;vtkRenderingQt;vtkFiltersTexture;vtkGUISupportQt;vtkRenderingLabel
-- Could NOT find PCAP (missing:  PCAP_LIBRARIES PCAP_INCLUDE_DIRS) 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   date_time
--   iostreams
--   system
--   regex
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so  
-- Found GLEW: /usr/include  
-- Could NOT find GLUT (missing:  GLUT_glut_LIBRARY GLUT_INCLUDE_DIR) 
-- Found GTestSource: /usr/include  
-- GTest found (include: /usr/include, src: /usr/src/gtest)
-- DOXYGEN_FOUND 
-- HTML_HELP_COMPILER 
-- Found CPack generators: DEB
-- The following subsystems will be built:
--   common
--   kdtree
--   octree
--   search
--   sample_consensus
--   filters
--   2d
--   features
--   registration
--   surface
--   io
--   geometry
--   visualization
--   ml
--   segmentation
--   people
--   stereo
--   outofcore
--   recognition
--   keypoints
--   tools
--   simulation
--   global_tests
--   tests_2d
--   tests_common
--   tests_features
--   tests_filters
--   tests_geometry
--   tests_io
--   tests_kdtree
--   tests_keypoints
--   tests_people
--   tests_octree
--   tests_outofcore
--   tests_recognition
--   tests_registration
--   tests_search
--   tests_surface
--   tests_segmentation
--   tests_sample_consensus
--   tests_visualization
--   examples
--   tracking
--   apps
       building: 
       |_ 3d_rec_framework
       |_ cloud_composer
       |_ in_hand_scanner
       |_ modeler
       |_ point_cloud_editor
-- The following subsystems will not be built:
-- Configuring done
-- Generating done
-- Build files have been written to: /pcl/build

Could it be an azure-only problem?

Could it be an azure-only problem?

This is running inside a docker image. That would be a terrifying prospect :/

Found #3073 from ~1y ago. Creepy.

Wow, I also can not reproduce it locally inside the very same container. I'm terrified.

Here is a diff between Azure and local docker logs:

image

Interestingly, the order in which submodules are discovered is different. It seems like on Azure tests are processed earlier than some of the functional submodules. Perhaps has something to do with the filesystem used by the host?

Hmm, we do not rely on directory discovery order. There is some advanced topological sort going on that ensures that depending modules come after dependent-upon modules:

https://github.com/PointCloudLibrary/pcl/blob/55fc3fa3168d3d10d795da6cdd97b887870433aa/CMakeLists.txt#L478-L484

According to the comment, implementation of the sort comes from Boost. Perhaps we can copy/paste up-to-date version, in case they had bugfixes is the last years.

This would require more time. Unfortunately, can not investigate further.

On gitlab it's born and dies in boost-1.40.0 (link to function) and replaced by C++ code (?) (link to newest version).

The diff is:

--- <pcl version>
+++ <boost version>
@@ -1,4 +1,4 @@
-macro(topological_sort LIST PREFIX SUFFIX)
+function(topological_sort LIST PREFIX SUFFIX)
   # Clear the stack and output variable
   set(VERTICES "${${LIST}}")
   set(STACK)
@@ -60,7 +60,7 @@
             string(TOUPPER ${SOURCE} UPPER_SOURCE)
             set(OUT_EDGES
               ${${PREFIX}${UPPER_SOURCE}${SUFFIX}})
-          endif()
+          endif(NOT FOUND_${UPPER_TARGET})

           list(LENGTH OUT_EDGES OUT_DEGREE)
         endwhile (OUT_DEGREE GREATER 0)
@@ -72,8 +72,8 @@
         # Check the length of the stack
         list(LENGTH STACK STACK_LENGTH)
       endwhile(STACK_LENGTH GREATER 0)
-    endif ()
-  endforeach()
-  # Somewhere a # slaps into the list so remove it
-  list(REMOVE_ITEM ${LIST} "#")
-endmacro()
+    endif (NOT FOUND_${UPPER_VERTEX})
+  endforeach(VERTEX)
+
+  set(${LIST} ${${LIST}} PARENT_SCOPE)
+endfunction(topological_sort)
root@70147574bdbb:/pcl/build# history
    1  apt-get update && apt-get install git
    2  git clone https://github.com/PointCloudLibrary/pcl.git
    3  mkdir pcl/build && cd pcl/build
    4  cmake ../ -DPCL_ONLY_CORE_POINT_TYPES=ON -DPCL_WARNINGS_ARE_ERRORS=ON -DBUILD_simulation=ON -DBUILD_surface_on_nurbs=ON -DBUILD_global_tests=ON -DBUILD_examples=ON -DBUILD_tools=ON -DBUILD_apps=ON -DBUILD_apps_3d_rec_framework=ON -DBUILD_apps_cloud_composer=ON -DBUILD_apps_in_hand_scanner=ON -DBUILD_apps_modeler=ON -DBUILD_apps_point_cloud_editor=ON
    5  history

I ran these command locally and was able to reproduce the issue and got the below output:

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Could NOT find ClangFormat (missing:  ClangFormat_EXECUTABLE ClangFormat_VERSION) (Required is at least version "7")
-- Performing Test HAVE_MARCH
-- Performing Test HAVE_MARCH - Success
-- Using CPU native flags for SSE optimization: -march=native
-- Performing Test HAVE_MM_MALLOC
-- Performing Test HAVE_MM_MALLOC - Success
-- Performing Test HAVE_POSIX_MEMALIGN
-- Performing Test HAVE_POSIX_MEMALIGN - Success
-- Performing Test HAVE_SSE4_2_EXTENSIONS
-- Performing Test HAVE_SSE4_2_EXTENSIONS - Success
-- Performing Test HAVE_SSE4_1_EXTENSIONS
-- Performing Test HAVE_SSE4_1_EXTENSIONS - Success
-- Performing Test HAVE_SSSE3_EXTENSIONS
-- Performing Test HAVE_SSSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE3_EXTENSIONS
-- Performing Test HAVE_SSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE2_EXTENSIONS
-- Performing Test HAVE_SSE2_EXTENSIONS - Success
-- Performing Test HAVE_SSE_EXTENSIONS
-- Performing Test HAVE_SSE_EXTENSIONS - Success
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found OpenMP
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Checking for module 'eigen3'
--   Found eigen3, version 3.2.92
-- Found Eigen: /usr/include/eigen3 (Required is at least version "3.1")
-- Eigen found (include: /usr/include/eigen3, version: 3.2.92)
-- Checking for module 'flann>=1.7.0'
--   Found flann, version 1.8.4
-- Found FLANN: /usr/lib/x86_64-linux-gnu/libflann_cpp.so (Required is at least version "1.7.0")
-- Found LIBUSB_1: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.20
-- Found USB_10: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Found OpenNI: /usr/lib/libOpenNI.so
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- Found OpenNI2: /usr/lib/libOpenNI2.so
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
-- Found ENSENSO: /usr/lib/libNxLib64.so
-- Ensenso found (include: /opt/ensenso/development/c/include, lib: /usr/lib/libNxLib64.so)
-- Could NOT find davidSDK (missing:  DAVIDSDK_LIBRARY DAVIDSDK_INCLUDE_DIR)
-- David Vision Systems SDK support: not building because davidSDK not found
-- Could NOT find DSSDK (missing:  DSSDK_LIBRARIES DSSDK_INCLUDE_DIRS)
-- DepthSense SDK support: not building because DSSDK not found
-- Could NOT find RSSDK (missing:  RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS)
-- RealSense SDK support: not building because RSSDK not found
-- RealSense SDK 2 found (include: /usr/local/include, lib: realsense2::realsense2, version: 2.23.0)
-- Checking for module 'metslib'
--   No package 'metslib' found
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.2.54")
-- Found Qhull: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so
-- QHULL found (include: /usr/include, lib: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so)
-- Found CUDA Toolkit v9.0
-- CUDA NVCC target flags: -gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52;-gencode;arch=compute_53,code=sm_53;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70
-- The imported target "vtkRenderingPythonTkWidgets" references the file
   "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- The imported target "vtk" references the file
   "/usr/bin/vtk"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- VTK_MAJOR_VERSION 6, rendering backend: OpenGL
-- VTK found (include: /usr/include/vtk-6.2;/usr/include/freetype2;/usr/include/x86_64-linux-gnu/freetype2;/usr/include;/usr/include/x86_64-linux-gnu;/usr/include/jsoncpp, libs: vtkChartsCore;vtkCommonColor;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkInfovisCore;vtkFiltersExtraction;vtkCommonExecutionModel;vtkFiltersCore;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkRenderingContext2D;vtkRenderingCore;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;/usr/lib/x86_64-linux-gnu/libfreetype.so;/usr/lib/x86_64-linux-gnu/libz.so;vtkftgl;vtkFiltersModeling;vtkImagingSources;vtkInteractionStyle;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingGeneral;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkIOCore;vtkmetaio;/usr/lib/x86_64-linux-gnu/libjpeg.so;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libtiff.so;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkIOGeometry;/usr/lib/x86_64-linux-gnu/libjsoncpp.so;vtkIOLegacy;vtkIOPLY;vtkRenderingLOD;vtkViewsContext2D;vtkViewsCore;vtkRenderingContextOpenGL;vtkRenderingOpenGL;vtkRenderingQt;vtkFiltersTexture;vtkGUISupportQt;vtkRenderingLabel
-- Could NOT find PCAP (missing:  PCAP_LIBRARIES PCAP_INCLUDE_DIRS)
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   date_time
--   iostreams
--   system
--   regex
-- Found GTestSource: /usr/include
-- GTest found (include: /usr/include, src: /usr/src/gtest)
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found GLEW: /usr/include
-- Could NOT find GLUT (missing:  GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
-- DOXYGEN_FOUND
-- HTML_HELP_COMPILER
-- Found CPack generators: DEB
-- The following subsystems will be built:
--   global_tests
--   common
--   octree
--   kdtree
--   search
--   sample_consensus
--   filters
--   2d
--   features
--   registration
--   io
--   keypoints
--   geometry
--   ml
--   segmentation
--   visualization
--   outofcore
--   stereo
--   surface
--   examples
--   recognition
--   tracking
--   apps
       building:
       |_ 3d_rec_framework
       |_ in_hand_scanner
       |_ cloud_composer
       |_ modeler
       |_ point_cloud_editor
--   simulation
--   people
--   tools
-- The following subsystems will not be built:
--   tests_2d: Requires 2d.
--   tests_common: Requires common.
--   tests_features: Requires features.
--   tests_filters: Requires filters.
--   tests_geometry: Requires geometry.
--   tests_io: Requires io.
--   tests_kdtree: Requires kdtree.
--   tests_keypoints: Requires keypoints.
--   tests_people: Requires people.
--   tests_octree: Requires octree.
--   tests_outofcore: Requires outofcore.
--   tests_recognition: Requires recognition.
--   tests_registration: Requires registration.
--   tests_search: Requires search.
--   tests_surface: Requires surface.
--   tests_segmentation: Requires segmentation.
--   tests_sample_consensus: Requires sample_consensus.
--   tests_visualization: Requires visualization.
-- Configuring done
-- Generating done
-- Build files have been written to: /pcl/build
root@fdd05643df87:/pcl/build# cd ..
root@fdd05643df87:/pcl# rm -rf build/
root@fdd05643df87:/pcl# mkdir build && cd build
root@fdd05643df87:/pcl/build# cmake ../ -DPCL_ONLY_CORE_POINT_TYPES=ON -DPCL_WARNINGS_ARE_ERRORS=ON -DBUILD_simulation=ON -DBUILD_surface_on_nurbs=ON -DBUILD_global_tests=ON -DBUILD_examples=ON -DBUILD_tools=ON -DBUILD_apps=ON -DBUILD_apps_3d_rec_framework=ON -DBUILD_apps_cloud_composer=ON -DBUILD_apps_in_hand_scanner=ON -DBUILD_apps_modeler=ON -DBUILD_apps_point_cloud_editor=ON
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Could NOT find ClangFormat (missing:  ClangFormat_EXECUTABLE ClangFormat_VERSION) (Required is at least version "7")
-- Performing Test HAVE_MARCH
-- Performing Test HAVE_MARCH - Success
-- Using CPU native flags for SSE optimization: -march=native
-- Performing Test HAVE_MM_MALLOC
-- Performing Test HAVE_MM_MALLOC - Success
-- Performing Test HAVE_POSIX_MEMALIGN
-- Performing Test HAVE_POSIX_MEMALIGN - Success
-- Performing Test HAVE_SSE4_2_EXTENSIONS
-- Performing Test HAVE_SSE4_2_EXTENSIONS - Success
-- Performing Test HAVE_SSE4_1_EXTENSIONS
-- Performing Test HAVE_SSE4_1_EXTENSIONS - Success
-- Performing Test HAVE_SSSE3_EXTENSIONS
-- Performing Test HAVE_SSSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE3_EXTENSIONS
-- Performing Test HAVE_SSE3_EXTENSIONS - Success
-- Performing Test HAVE_SSE2_EXTENSIONS
-- Performing Test HAVE_SSE2_EXTENSIONS - Success
-- Performing Test HAVE_SSE_EXTENSIONS
-- Performing Test HAVE_SSE_EXTENSIONS - Success
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found OpenMP
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Checking for module 'eigen3'
--   Found eigen3, version 3.2.92
-- Found Eigen: /usr/include/eigen3 (Required is at least version "3.1")
-- Eigen found (include: /usr/include/eigen3, version: 3.2.92)
-- Checking for module 'flann>=1.7.0'
--   Found flann, version 1.8.4
-- Found FLANN: /usr/lib/x86_64-linux-gnu/libflann_cpp.so (Required is at least version "1.7.0")
-- Found LIBUSB_1: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.20
-- Found USB_10: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Found OpenNI: /usr/lib/libOpenNI.so
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- Found OpenNI2: /usr/lib/libOpenNI2.so
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
-- Found ENSENSO: /usr/lib/libNxLib64.so
-- Ensenso found (include: /opt/ensenso/development/c/include, lib: /usr/lib/libNxLib64.so)
-- Could NOT find davidSDK (missing:  DAVIDSDK_LIBRARY DAVIDSDK_INCLUDE_DIR)
-- David Vision Systems SDK support: not building because davidSDK not found
-- Could NOT find DSSDK (missing:  DSSDK_LIBRARIES DSSDK_INCLUDE_DIRS)
-- DepthSense SDK support: not building because DSSDK not found
-- Could NOT find RSSDK (missing:  RSSDK_LIBRARIES RSSDK_INCLUDE_DIRS)
-- RealSense SDK support: not building because RSSDK not found
-- RealSense SDK 2 found (include: /usr/local/include, lib: realsense2::realsense2, version: 2.23.0)
-- Checking for module 'metslib'
--   No package 'metslib' found
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.2.54")
-- Found Qhull: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so
-- QHULL found (include: /usr/include, lib: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so)
-- Found CUDA Toolkit v9.0
-- CUDA NVCC target flags: -gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_52,code=sm_52;-gencode;arch=compute_53,code=sm_53;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70
-- The imported target "vtkRenderingPythonTkWidgets" references the file
   "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- The imported target "vtk" references the file
   "/usr/bin/vtk"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/cmake/vtk-6.2/VTKTargets.cmake"
but not all the files it references.

-- VTK_MAJOR_VERSION 6, rendering backend: OpenGL
-- VTK found (include: /usr/include/vtk-6.2;/usr/include/freetype2;/usr/include/x86_64-linux-gnu/freetype2;/usr/include;/usr/include/x86_64-linux-gnu;/usr/include/jsoncpp, libs: vtkChartsCore;vtkCommonColor;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkInfovisCore;vtkFiltersExtraction;vtkCommonExecutionModel;vtkFiltersCore;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkRenderingContext2D;vtkRenderingCore;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;/usr/lib/x86_64-linux-gnu/libfreetype.so;/usr/lib/x86_64-linux-gnu/libz.so;vtkftgl;vtkFiltersModeling;vtkImagingSources;vtkInteractionStyle;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingGeneral;vtkImagingHybrid;vtkIOImage;vtkDICOMParser;vtkIOCore;vtkmetaio;/usr/lib/x86_64-linux-gnu/libjpeg.so;/usr/lib/x86_64-linux-gnu/libpng.so;/usr/lib/x86_64-linux-gnu/libtiff.so;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkIOGeometry;/usr/lib/x86_64-linux-gnu/libjsoncpp.so;vtkIOLegacy;vtkIOPLY;vtkRenderingLOD;vtkViewsContext2D;vtkViewsCore;vtkRenderingContextOpenGL;vtkRenderingOpenGL;vtkRenderingQt;vtkFiltersTexture;vtkGUISupportQt;vtkRenderingLabel
-- Could NOT find PCAP (missing:  PCAP_LIBRARIES PCAP_INCLUDE_DIRS)
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   date_time
--   iostreams
--   system
--   regex
-- Found GTestSource: /usr/include
-- GTest found (include: /usr/include, src: /usr/src/gtest)
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found GLEW: /usr/include
-- Could NOT find GLUT (missing:  GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
-- DOXYGEN_FOUND
-- HTML_HELP_COMPILER
-- Found CPack generators: DEB
-- The following subsystems will be built:
--   global_tests
--   common
--   octree
--   kdtree
--   search
--   sample_consensus
--   filters
--   2d
--   features
--   registration
--   io
--   keypoints
--   geometry
--   ml
--   segmentation
--   visualization
--   outofcore
--   stereo
--   surface
--   examples
--   recognition
--   tracking
--   apps
       building:
       |_ 3d_rec_framework
       |_ in_hand_scanner
       |_ cloud_composer
       |_ modeler
       |_ point_cloud_editor
--   simulation
--   people
--   tools
-- The following subsystems will not be built:
--   tests_2d: Requires 2d.
--   tests_common: Requires common.
--   tests_features: Requires features.
--   tests_filters: Requires filters.
--   tests_geometry: Requires geometry.
--   tests_io: Requires io.
--   tests_kdtree: Requires kdtree.
--   tests_keypoints: Requires keypoints.
--   tests_people: Requires people.
--   tests_octree: Requires octree.
--   tests_outofcore: Requires outofcore.
--   tests_recognition: Requires recognition.
--   tests_registration: Requires registration.
--   tests_search: Requires search.
--   tests_surface: Requires surface.
--   tests_segmentation: Requires segmentation.
--   tests_sample_consensus: Requires sample_consensus.
--   tests_visualization: Requires visualization.
-- Configuring done
-- Generating done
-- Build files have been written to: /pcl/build

This issue only arises in 16.04 and the 19.10 CI doesn't have this issue, nor was I able to replicate it locally for 19.04.

Hmm, we do not rely on directory discovery order. There is some advanced topological sort going on that ensures that depending modules come after dependent-upon modules:

If there was an issue with this, it should be present on to 19.10 too. The issue seems to be something else itself.
Currently, a hacky fix would be just to run the cmake command twice, which solves the issue.

Currently, a hacky fix would be just to run the cmake command twice, which solves the issue.

We should probably add that to our CI scripts for the time being. Just to ensure that everything that needs to run, is running.

Marking this as stale due to 30 days of inactivity. It will be closed in 7 days if no further activity occurs.

Was this page helpful?
0 / 5 - 0 ratings