Pthread issues with Quanergy M8 Lidar SDK installation

We’ve just received our new LIDAR today and trying to install the SDK onto our Jetson TX2 we’ve ran into some issues.

Following their instructions on their git hub (https://github.com/QuanergySystems/quanergy_client/blob/master/readme/ubuntu1604.md) we haven’t been able to install it.

Below is the output of cmake and make:

nvidia@tegra-ubuntu:~/QuanergySystems/quanergy_client/build$ cmake ..
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   system
--   filesystem
--   thread
--   date_time
--   iostreams
--   serialization
--   chrono
--   atomic
--   regex
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
-- The imported target "vtkRenderingPythonTkWidgets" references the file
   "/usr/lib/aarch64-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.

-- looking for PCL_COMMON
-- looking for PCL_OCTREE
-- looking for PCL_IO
-- looking for PCL_KDTREE
-- looking for PCL_GEOMETRY
-- looking for PCL_SEARCH
-- looking for PCL_VISUALIZATION
config: /home/nvidia/QuanergySystems/quanergy_client/build/CMakeFiles/QuanergyClientConfig.cmake
PCL_LIBRARIES: /usr/lib/aarch64-linux-gnu/libboost_system.so;/usr/lib/aarch64-linux-gnu/libboost_filesystem.so;/usr/lib/aarch64-linux-gnu/libboost_thread.so;/usr/lib/aarch64-linux-gnu/libboost_date_time.so;/usr/lib/aarch64-linux-gnu/libboost_iostreams.so;/usr/lib/aarch64-linux-gnu/libboost_serialization.so;/usr/lib/aarch64-linux-gnu/libboost_chrono.so;/usr/lib/aarch64-linux-gnu/libboost_atomic.so;/usr/lib/aarch64-linux-gnu/libboost_regex.so;/usr/lib/aarch64-linux-gnu/libpthread.so;optimized;/usr/lib/aarch64-linux-gnu/libpcl_common.so;debug;/usr/lib/aarch64-linux-gnu/libpcl_common.so;optimized;/usr/lib/aarch64-linux-gnu/libpcl_octree.so;debug;/usr/lib/aarch64-linux-gnu/libpcl_octree.so;/usr/lib/libOpenNI.so;/usr/lib/libOpenNI2.so;vtkRenderingContext2D;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkRenderingCore;vtkCommonColor;vtkCommonExecutionModel;vtkFiltersExtraction;vtkFiltersCore;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;/usr/lib/aarch64-linux-gnu/libfreetype.so;/usr/lib/aarch64-linux-gnu/libz.so;vtkftgl;vtkRenderingImage;vtkIOSQL;vtkIOCore;sqlite3;vtkIOParallel;vtkFiltersParallel;vtkFiltersModeling;vtkParallelCore;vtkIOLegacy;vtkIOImage;vtkDICOMParser;vtkmetaio;/usr/lib/aarch64-linux-gnu/libjpeg.so;/usr/lib/aarch64-linux-gnu/libpng.so;/usr/lib/aarch64-linux-gnu/libtiff.so;vtkIONetCDF;/usr/lib/aarch64-linux-gnu/libnetcdf_c++.so;/usr/lib/aarch64-linux-gnu/libnetcdf.so;/usr/lib/aarch64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libdl.so;/usr/lib/aarch64-linux-gnu/libm.so;/usr/lib/aarch64-linux-gnu/hdf5/serial/lib/libhdf5_hl.so;vtkIOXML;vtkIOGeometry;/usr/lib/aarch64-linux-gnu/libjsoncpp.so;vtkIOXMLParser;/usr/lib/aarch64-linux-gnu/libexpat.so;vtkexoIIc;vtkRenderingLOD;vtkTestingRendering;vtkRenderingFreeTypeFontConfig;/usr/lib/aarch64-linux-gnu/libxml2.so;vtkRenderingContextOpenGL;vtkRenderingOpenGL;vtkImagingHybrid;vtkInfovisCore;vtkViewsGeovis;vtkGeovisCore;vtkInfovisLayout;vtkInteractionStyle;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingSources;vtkImagingGeneral;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkViewsCore;vtkViewsInfovis;vtkChartsCore;vtkFiltersImaging;vtkRenderingLabel;vtkIOAMR;vtkFiltersAMR;vtkFiltersGeneric;vtkIOParallelNetCDF;vtkParallelMPI;vtkIOODBC;vtkFiltersHyperTree;vtkIOMySQL;vtkFiltersProgrammable;vtkIOInfovis;vtkIOParallelExodus;vtkIOExodus;vtkGUISupportQtWebkit;vtkViewsQt;vtkGUISupportQt;vtkFiltersParallelMPI;vtkRenderingQt;vtkFiltersTexture;vtkFiltersReebGraph;vtkIOVideo;vtkDomainsChemistry;vtkImagingMath;vtkFiltersParallelImaging;vtkIOPLY;vtkIOParallelXML;vtkInteractionImage;vtkWrappingTools;vtkFiltersSMP;vtkIOPostgreSQL;vtkInfovisBoostGraphAlgorithms;vtkFiltersParallelStatistics;vtkIOMINC;vtkIOLSDyna;vtkIOXdmf2;vtkxdmf2;vtkFiltersPython;/usr/lib/aarch64-linux-gnu/libpython2.7.so;vtkWrappingPythonCore;vtkTestingGenericBridge;vtkIOGeoJSON;vtkFiltersParallelGeometry;vtkRenderingFreeTypeOpenGL;vtkViewsContext2D;vtkIOMPIParallel;vtkImagingMorphological;vtkLocalExample;verdict;vtkIOGDAL;vtkIOParallelLSDyna;vtkRenderingParallel;vtkIOExport;vtkRenderingGL2PS;/usr/lib/libgl2ps.so;vtkPythonInterpreter;vtkFiltersVerdict;vtkImagingStencil;vtkFiltersParallelFlowPaths;vtkFiltersFlowPaths;vtkIOMovie;/usr/lib/aarch64-linux-gnu/libtheoraenc.so;/usr/lib/aarch64-linux-gnu/libtheoradec.so;/usr/lib/aarch64-linux-gnu/libogg.so;vtkIOEnSight;vtkIOImport;vtkIOMPIImage;vtkGUISupportQtSQL;vtkParallelMPI4Py;vtkGUISupportQtOpenGL;vtkImagingStatistics;vtkFiltersSelection;vtkRenderingLIC;VPIC;vtkTestingIOSQL;vtkRenderingMatplotlib;vtkRenderingParallelLIC;vtkIOVPIC;vtkWrappingJava;vtkRenderingVolumeOpenGL;vtkIOFFMPEG;optimized;/usr/lib/aarch64-linux-gnu/libpcl_io.so;debug;/usr/lib/aarch64-linux-gnu/libpcl_io.so;optimized;/usr/lib/aarch64-linux-gnu/libflann_cpp_s.a;debug;/usr/lib/aarch64-linux-gnu/libflann_cpp_s.a;optimized;/usr/lib/aarch64-linux-gnu/libpcl_kdtree.so;debug;/usr/lib/aarch64-linux-gnu/libpcl_kdtree.so;optimized;/usr/lib/aarch64-linux-gnu/libpcl_search.so;debug;/usr/lib/aarch64-linux-gnu/libpcl_search.so;optimized;/usr/lib/aarch64-linux-gnu/libpcl_visualization.so;debug;/usr/lib/aarch64-linux-gnu/libpcl_visualization.so;/usr/lib/aarch64-linux-gnu/libboost_system.so;/usr/lib/aarch64-linux-gnu/libboost_filesystem.so;/usr/lib/aarch64-linux-gnu/libboost_thread.so;/usr/lib/aarch64-linux-gnu/libboost_date_time.so;/usr/lib/aarch64-linux-gnu/libboost_iostreams.so;/usr/lib/aarch64-linux-gnu/libboost_serialization.so;/usr/lib/aarch64-linux-gnu/libboost_chrono.so;/usr/lib/aarch64-linux-gnu/libboost_atomic.so;/usr/lib/aarch64-linux-gnu/libboost_regex.so;/usr/lib/aarch64-linux-gnu/libpthread.so;/usr/lib/libOpenNI.so;/usr/lib/libOpenNI2.so;optimized;/usr/lib/aarch64-linux-gnu/libflann_cpp_s.a;debug;/usr/lib/aarch64-linux-gnu/libflann_cpp_s.a;vtkRenderingContext2D;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkRenderingCore;vtkCommonColor;vtkCommonExecutionModel;vtkFiltersExtraction;vtkFiltersCore;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkalglib;vtkFiltersGeometry;vtkFiltersSources;vtkRenderingFreeType;/usr/lib/aarch64-linux-gnu/libfreetype.so;/usr/lib/aarch64-linux-gnu/libz.so;vtkftgl;vtkRenderingImage;vtkIOSQL;vtkIOCore;sqlite3;vtkIOParallel;vtkFiltersParallel;vtkFiltersModeling;vtkParallelCore;vtkIOLegacy;vtkIOImage;vtkDICOMParser;vtkmetaio;/usr/lib/aarch64-linux-gnu/libjpeg.so;/usr/lib/aarch64-linux-gnu/libpng.so;/usr/lib/aarch64-linux-gnu/libtiff.so;vtkIONetCDF;/usr/lib/aarch64-linux-gnu/libnetcdf_c++.so;/usr/lib/aarch64-linux-gnu/libnetcdf.so;/usr/lib/aarch64-linux-gnu/hdf5/serial/lib/libhdf5.so;/usr/lib/aarch64-linux-gnu/libpthread.so;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libdl.so;/usr/lib/aarch64-linux-gnu/libm.so;/usr/lib/aarch64-linux-gnu/hdf5/serial/lib/libhdf5_hl.so;vtkIOXML;vtkIOGeometry;/usr/lib/aarch64-linux-gnu/libjsoncpp.so;vtkIOXMLParser;/usr/lib/aarch64-linux-gnu/libexpat.so;vtkexoIIc;vtkRenderingLOD;vtkTestingRendering;vtkRenderingFreeTypeFontConfig;/usr/lib/aarch64-linux-gnu/libxml2.so;vtkRenderingContextOpenGL;vtkRenderingOpenGL;vtkImagingHybrid;vtkInfovisCore;vtkViewsGeovis;vtkGeovisCore;vtkInfovisLayout;vtkInteractionStyle;vtkInteractionWidgets;vtkFiltersHybrid;vtkImagingSources;vtkImagingGeneral;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkViewsCore;vtkViewsInfovis;vtkChartsCore;vtkFiltersImaging;vtkRenderingLabel;vtkIOAMR;vtkFiltersAMR;vtkFiltersGeneric;vtkIOParallelNetCDF;vtkParallelMPI;vtkIOODBC;vtkFiltersHyperTree;vtkIOMySQL;vtkFiltersProgrammable;vtkIOInfovis;vtkIOParallelExodus;vtkIOExodus;vtkGUISupportQtWebkit;vtkViewsQt;vtkGUISupportQt;vtkFiltersParallelMPI;vtkRenderingQt;vtkFiltersTexture;vtkFiltersReebGraph;vtkIOVideo;vtkDomainsChemistry;vtkImagingMath;vtkFiltersParallelImaging;vtkIOPLY;vtkIOParallelXML;vtkInteractionImage;vtkWrappingTools;vtkFiltersSMP;vtkIOPostgreSQL;vtkInfovisBoostGraphAlgorithms;vtkFiltersParallelStatistics;vtkIOMINC;vtkIOLSDyna;vtkIOXdmf2;vtkxdmf2;vtkFiltersPython;/usr/lib/aarch64-linux-gnu/libpython2.7.so;vtkWrappingPythonCore;vtkTestingGenericBridge;vtkIOGeoJSON;vtkFiltersParallelGeometry;vtkRenderingFreeTypeOpenGL;vtkViewsContext2D;vtkIOMPIParallel;vtkImagingMorphological;vtkLocalExample;verdict;vtkIOGDAL;vtkIOParallelLSDyna;vtkRenderingParallel;vtkIOExport;vtkRenderingGL2PS;/usr/lib/libgl2ps.so;vtkPythonInterpreter;vtkFiltersVerdict;vtkImagingStencil;vtkFiltersParallelFlowPaths;vtkFiltersFlowPaths;vtkIOMovie;/usr/lib/aarch64-linux-gnu/libtheoraenc.so;/usr/lib/aarch64-linux-gnu/libtheoradec.so;/usr/lib/aarch64-linux-gnu/libogg.so;vtkIOEnSight;vtkIOImport;vtkIOMPIImage;vtkGUISupportQtSQL;vtkParallelMPI4Py;vtkGUISupportQtOpenGL;vtkImagingStatistics;vtkFiltersSelection;vtkRenderingLIC;VPIC;vtkTestingIOSQL;vtkRenderingMatplotlib;vtkRenderingParallelLIC;vtkIOVPIC;vtkWrappingJava;vtkRenderingVolumeOpenGL;vtkIOFFMPEG
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nvidia/QuanergySystems/quanergy_client/build
nvidia@tegra-ubuntu:~/QuanergySystems/quanergy_client/build$ make
[ 75%] Built target quanergy_client
[ 75%] Built target visualizer
[ 75%] Linking CXX executable test_quanergy_client
/usr/lib/gcc/aarch64-linux-gnu/5/../../../../lib/libgtest.a(gtest-all.cc.o): In function `testing::internal::ThreadLocal<testing::TestPartResultReporterInterface*>::~ThreadLocal()':
gtest-all.cc:(.text._ZN7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEED2Ev[_ZN7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEED5Ev]+0x2c): undefined reference to `pthread_getspecific'
gtest-all.cc:(.text._ZN7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEED2Ev[_ZN7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEED5Ev]+0x3c): undefined reference to `pthread_key_delete'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../../lib/libgtest.a(gtest-all.cc.o): In function `testing::internal::ThreadLocal<std::vector<testing::internal::TraceInfo, std::allocator<testing::internal::TraceInfo> > >::~ThreadLocal()':
gtest-all.cc:(.text._ZN7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEED2Ev[_ZN7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEED5Ev]+0x2c): undefined reference to `pthread_getspecific'
gtest-all.cc:(.text._ZN7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEED2Ev[_ZN7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEED5Ev]+0x3c): undefined reference to `pthread_key_delete'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../../lib/libgtest.a(gtest-all.cc.o): In function `testing::internal::ThreadLocal<std::vector<testing::internal::TraceInfo, std::allocator<testing::internal::TraceInfo> > >::GetOrCreateValue() const':
gtest-all.cc:(.text._ZNK7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEE16GetOrCreateValueEv[_ZNK7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEE16GetOrCreateValueEv]+0x2c): undefined reference to `pthread_getspecific'
gtest-all.cc:(.text._ZNK7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEE16GetOrCreateValueEv[_ZNK7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEE16GetOrCreateValueEv]+0x88): undefined reference to `pthread_setspecific'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../../lib/libgtest.a(gtest-all.cc.o): In function `testing::internal::ThreadLocal<testing::TestPartResultReporterInterface*>::CreateKey()':
gtest-all.cc:(.text._ZN7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEE9CreateKeyEv[_ZN7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEE9CreateKeyEv]+0x28): undefined reference to `pthread_key_create'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../../lib/libgtest.a(gtest-all.cc.o): In function `testing::internal::ThreadLocal<std::vector<testing::internal::TraceInfo, std::allocator<testing::internal::TraceInfo> > >::CreateKey()':
gtest-all.cc:(.text._ZN7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEE9CreateKeyEv[_ZN7testing8internal11ThreadLocalISt6vectorINS0_9TraceInfoESaIS3_EEE9CreateKeyEv]+0x28): undefined reference to `pthread_key_create'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../../lib/libgtest.a(gtest-all.cc.o): In function `testing::internal::ThreadLocal<testing::TestPartResultReporterInterface*>::GetOrCreateValue() const':
gtest-all.cc:(.text._ZNK7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEE16GetOrCreateValueEv[_ZNK7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEE16GetOrCreateValueEv]+0x2c): undefined reference to `pthread_getspecific'
gtest-all.cc:(.text._ZNK7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEE16GetOrCreateValueEv[_ZNK7testing8internal11ThreadLocalIPNS_31TestPartResultReporterInterfaceEE16GetOrCreateValueEv]+0x88): undefined reference to `pthread_setspecific'
libquanergy_client.so: undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/test_quanergy_client.dir/build.make:96: recipe for target 'test_quanergy_client' failed
make[2]: *** [test_quanergy_client] Error 1
CMakeFiles/Makefile2:136: recipe for target 'CMakeFiles/test_quanergy_client.dir/all' failed
make[1]: *** [CMakeFiles/test_quanergy_client.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Pthread is/was installed using:

sudo apt-get install libpthread-stubs0-dev

Not sure where to go now. Any help would be appreciated.