Robotics StackExchange | Archived questions

ros-pcl and vtk error

Hi, For my project I have to use Kinect with ROS-pcl and openni. My machine has ROS-Indigo on it. While trying to run the cylinder_segmentation tutorial from point cloud library, after I run the make command after having run cmake . the following error occurs:

Linking CXX executable cylinder_segmentation/usr/bin/ld: cannot find -lvtkGUISupportQtSQL
/usr/bin/ld: cannot find -lvtkIOSQL
/usr/bin/ld: cannot find -lvtkIOCore
/usr/bin/ld: cannot find -lvtkCommonDataModel
/usr/bin/ld: cannot find -lvtkCommonMath
/usr/bin/ld: cannot find -lvtkCommonCore
/usr/bin/ld: cannot find -lvtkCommonMisc
/usr/bin/ld: cannot find -lvtkCommonSystem
/usr/bin/ld: cannot find -lvtkCommonTransforms
/usr/bin/ld: cannot find -lvtkCommonExecutionModel
/usr/bin/ld: cannot find -lvtksqlite
/usr/bin/ld: cannot find -lvtkIOXMLParser
/usr/bin/ld: cannot find -lvtkPythonInterpreter
/usr/bin/ld: cannot find -lvtkImagingStencil
/usr/bin/ld: cannot find -lvtkCommonComputationalGeometry
/usr/bin/ld: cannot find -lvtkImagingCore
/usr/bin/ld: cannot find -lvtkIOODBC
/usr/bin/ld: cannot find -lvtkGUISupportQtWebkit
/usr/bin/ld: cannot find -lvtkViewsQt
/usr/bin/ld: cannot find -lvtkGUISupportQt
/usr/bin/ld: cannot find -lvtkInteractionStyle
/usr/bin/ld: cannot find -lvtkRenderingCore
/usr/bin/ld: cannot find -lvtkFiltersExtraction
/usr/bin/ld: cannot find -lvtkFiltersCore
/usr/bin/ld: cannot find -lvtkFiltersGeneral
/usr/bin/ld: cannot find -lvtkFiltersStatistics
/usr/bin/ld: cannot find -lvtkImagingFourier
/usr/bin/ld: cannot find -lvtkFiltersGeometry
/usr/bin/ld: cannot find -lvtkFiltersSources
/usr/bin/ld: cannot find -lvtkIOImage
/usr/bin/ld: cannot find -lvtkRenderingOpenGL
/usr/bin/ld: cannot find -lvtkImagingHybrid
/usr/bin/ld: cannot find -lvtkViewsInfovis
/usr/bin/ld: cannot find -lvtkFiltersImaging
/usr/bin/ld: cannot find -lvtkImagingGeneral
/usr/bin/ld: cannot find -lvtkImagingSources
/usr/bin/ld: cannot find -lvtkFiltersModeling
/usr/bin/ld: cannot find -lvtkInfovisLayout
/usr/bin/ld: cannot find -lvtkInfovisCore
/usr/bin/ld: cannot find -lvtkRenderingContext2D
/usr/bin/ld: cannot find -lvtkRenderingFreeType
/usr/bin/ld: cannot find -lvtkRenderingLabel
/usr/bin/ld: cannot find -lvtkViewsCore
/usr/bin/ld: cannot find -lvtkInteractionWidgets
/usr/bin/ld: cannot find -lvtkFiltersHybrid
/usr/bin/ld: cannot find -lvtkRenderingAnnotation
/usr/bin/ld: cannot find -lvtkImagingColor
/usr/bin/ld: cannot find -lvtkRenderingVolume
/usr/bin/ld: cannot find -lvtkIONetCDF
/usr/bin/ld: cannot find -lvtkNetCDF
/usr/bin/ld: cannot find -lvtkNetCDF_cxx
/usr/bin/ld: cannot find -lvtkFiltersCosmo
/usr/bin/ld: cannot find -lvtkParallelCore
/usr/bin/ld: cannot find -lvtkIOLegacy
/usr/bin/ld: cannot find -lvtkIOXML
/usr/bin/ld: cannot find -lvtkIOGeometry
/usr/bin/ld: cannot find -lvtkImagingMath
/usr/bin/ld: cannot find -lvtkRenderingGL2PS
/usr/bin/ld: cannot find -lvtkDomainsChemistry
/usr/bin/ld: cannot find -lvtkChartsCore
/usr/bin/ld: cannot find -lvtkCommonColor
/usr/bin/ld: cannot find -lvtkRenderingFreeTypeOpenGL
/usr/bin/ld: cannot find -lvtkIOPLY
/usr/bin/ld: cannot find -lvtkFiltersTexture
/usr/bin/ld: cannot find -lvtkImagingMorphological
/usr/bin/ld: cannot find -lvtkParallelMPI
/usr/bin/ld: cannot find -lvtkTestingGenericBridge
/usr/bin/ld: cannot find -lvtkRenderingVolumeOpenGL
/usr/bin/ld: cannot find -lvtkFiltersParallelFlowPaths
/usr/bin/ld: cannot find -lvtkFiltersAMR
/usr/bin/ld: cannot find -lvtkFiltersFlowPaths
/usr/bin/ld: cannot find -lvtkxdmf2
/usr/bin/ld: cannot find -lvtkIOEnSight
/usr/bin/ld: cannot find -lvtkRenderingHybridOpenGL
/usr/bin/ld: cannot find -lvtkLocalExample
/usr/bin/ld: cannot find -lvtkIOMPIParallel
/usr/bin/ld: cannot find -lvtkIOMySQL
/usr/bin/ld: cannot find -lvtkFiltersHyperTree
/usr/bin/ld: cannot find -lvtkFiltersReebGraph
/usr/bin/ld: cannot find -lvtkWrappingTools
/usr/bin/ld: cannot find -lvtkIOXdmf2
/usr/bin/ld: cannot find -lvtkGeovisCore
/usr/bin/ld: cannot find -lvtkIOVPIC
/usr/bin/ld: cannot find -lverdict
/usr/bin/ld: cannot find -lvtkRenderingVolumeAMR
/usr/bin/ld: cannot find -lvtkjsoncpp
/usr/bin/ld: cannot find -lvtkIOFFMPEG
/usr/bin/ld: cannot find -lvtkIOMovie
/usr/bin/ld: cannot find -lvtkFiltersVerdict
/usr/bin/ld: cannot find -lvtkFiltersProgrammable
/usr/bin/ld: cannot find -lvtkIOAMR
/usr/bin/ld: cannot find -lvtkViewsContext2D
/usr/bin/ld: cannot find -lvtkFiltersParallelMPI
/usr/bin/ld: cannot find -lvtkFiltersParallel
/usr/bin/ld: cannot find -lvtkTestingRendering
/usr/bin/ld: cannot find -lvtkIOLSDyna
/usr/bin/ld: cannot find -lvtkRenderingImage
/usr/bin/ld: cannot find -lvtkIOExport
/usr/bin/ld: cannot find -lvtkRenderingLOD
/usr/bin/ld: cannot find -lvtkViewsGeovis
/usr/bin/ld: cannot find -lvtkFiltersParallelImaging
/usr/bin/ld: cannot find -lvtkIOParallel
/usr/bin/ld: cannot find -lvtkIOVideo
/usr/bin/ld: cannot find -lvtkFiltersSelection
/usr/bin/ld: cannot find -lvtkIOMINC
/usr/bin/ld: cannot find -lvtkGUISupportQtOpenGL
/usr/bin/ld: cannot find -lvtkFiltersParallelStatistics
/usr/bin/ld: cannot find -lvtkFiltersGeneric
/usr/bin/ld: cannot find -lvtkIOParallelNetCDF
/usr/bin/ld: cannot find -lvtkRenderingParallel
/usr/bin/ld: cannot find -lvtkIOMPIImage
/usr/bin/ld: cannot find -lvtkIOParallelLSDyna
/usr/bin/ld: cannot find -lvtkIOParallelExodus
/usr/bin/ld: cannot find -lvtkIOExodus
/usr/bin/ld: cannot find -lvtkTestingIOSQL
/usr/bin/ld: cannot find -lvtkIOInfovis
/usr/bin/ld: cannot find -lvtkRenderingFreeTypeFontConfig
/usr/bin/ld: cannot find -lvtkRenderingMatplotlib
/usr/bin/ld: cannot find -lvtkIOPostgreSQL
/usr/bin/ld: cannot find -lvtkFiltersParallelGeometry
/usr/bin/ld: cannot find -lvtkInteractionImage
/usr/bin/ld: cannot find -lvtkInfovisBoostGraphAlgorithms
/usr/bin/ld: cannot find -lvtkIOGDAL
/usr/bin/ld: cannot find -lvtkIOImport
/usr/bin/ld: cannot find -lvtkWrappingPythonCore
/usr/bin/ld: cannot find -lvtkWrappingJava
/usr/bin/ld: cannot find -lvtkImagingStatistics
/usr/bin/ld: cannot find -lvtkRenderingQt
collect2: error: ld returned 1 exit status
make[2]: *** [cylinder_segmentation] Error 1
make[1]: *** [CMakeFiles/cylinder_segmentation.dir/all] Error 2
make: *** [all] Error 2

I am using ros-pcl and not standalone pcl. Checking through synaptic package manager, I verified that I have vtk-5.8 installed. I uninstalled everything and reinstalled ROS but that did not change this error at all. Furthermore, the tutorial does not mention vtk as a dependency anywhere. It runs fine on my friend's machine where even ccmake does have a cache entry for vtk i.e it does not require vtk explicitly. I am not able to understand what the problem is. Any help would be appreciated as this is a critical requirement for my project. Thanks

Asked by mohakbhardwaj on 2015-11-09 07:07:12 UTC

Comments

Do you have libvtk-dev, python-vtk, and libvtk6 installed? You can check installed packages with dpkg. E.g. dpkg -l |grep vtk will show all packages with "vtk" in their name.

Asked by jarvisschultz on 2015-11-11 07:36:21 UTC

I had the libraries except libvtk6. I installed it using synaptic, but the error still persists. I tried to find a way to use ccmake to set the path for libvtk6 but couldn't figure that out as well

Asked by mohakbhardwaj on 2015-11-11 11:39:35 UTC

Answers