Installation of tabletop_object detector package along with perception_pcl_unstable
Hi, I have perception_pcl_unstable package in use. Now i downloaded the package tabletop_object_detector from http://www.ros.org/wiki/tabletop_object_detector. I am getting this dependency error on Eigen as below. I know that CMakeLists.txt has to be updated to fetch the /usr/include/eigen3 as the Eigen directories. But unable to solve this issue.
/ros_workspace/perception_pcl_unstable/pcl/include/pcl-1.4/pcl/pcl_base.h:44:27: fatal error: Eigen/StdVector: No such file or directory
I have check the cmake in pcl and it says that the Eigen is found at (/usr/include/eigen3) which looks fine. Can somebody tell me what i am missing here.
Thanks, Karthik
Was able to solve the above issue with the addition of following lines in the CMakeLists.txt
find_package(Eigen REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
include_directories(${EIGEN_INCLUDE_DIRS})
add_definitions(-DEIGEN_USE_NEW_STDVECTOR
-DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET)
But ended up getting the below error
[ 85%] Building CXX object CMakeFiles/segment_object_in_hand.dir/src/segment_object_in_hand.o
Linking CXX executable ../bin/segment_object_in_hand
/usr/bin/ld: warning: libtinyxml.so.2.5.3, needed by /opt/ros/electric/stacks/nodelet_core/nodelet/lib/libnodeletlib.so, may conflict with libtinyxml.so.2.6.2
CMakeFiles/segment_object_in_hand.dir/src/segment_object_in_hand.o: In function `tabletop_object_detector::ObjectInHandSegmenter::segmentObject(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, sensor_msgs::PointCloud2_<std::allocator<void> >&)':
/workspace/karthik/RRC/ros_workspace/wg-ros-pkg/tabletop_object_detector/src/segment_object_in_hand.cpp:224: undefined reference to `pcl::EuclideanClusterExtraction<pcl::PointXYZ>::extract(std::vector<pcl::PointIndices_<std::allocator<void> >, std::allocator<pcl::PointIndices_<std::allocator<void> > > >&)'
collect2: ld returned 1 exit status
Then i added few more link libraries in the CMakeLists.txt and got the below error.
{-------------------------------------------------------------------------------
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ConvexHull<pcl::PointXYZ>::reconstruct(pcl::PointCloud<pcl::PointXYZ>&, std::vector<pcl::Vertices, std::allocator<pcl::Vertices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ExtractPolygonalPrismData<pcl::PointXYZRGBNormal>::segment(pcl::PointIndices&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ConvexHull<pcl::PointWithRange>::performReconstruction(pcl::PolygonMesh&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::SACSegmentation<pcl::InterestPoint>::segment(pcl::PointIndices&, pcl::ModelCoefficients&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ConvexHull<pcl::PointXYZ>::performReconstruction(std::vector<pcl::Vertices, std::allocator<pcl::Vertices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::EuclideanClusterExtraction<pcl::PointWithViewpoint>::extract(std::vector<pcl::PointIndices, std::allocator<pcl::PointIndices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ConvexHull<pcl::PointXYZRGB>::performReconstruction(std::vector<pcl::Vertices, std::allocator<pcl::Vertices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::SACSegmentation<pcl::PointNormal>::segment(pcl::PointIndices&, pcl::ModelCoefficients&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ConvexHull<pcl::PointXYZRGBNormal>::reconstruct(pcl::PointCloud<pcl::PointXYZRGBNormal>&, std::vector<pcl::Vertices, std::allocator<pcl::Vertices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::EuclideanClusterExtraction<pcl::PointXYZHSV>::extract(std::vector<pcl::PointIndices, std::allocator<pcl::PointIndices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::ConvexHull<pcl::PointXYZL>::performReconstruction(std::vector<pcl::Vertices, std::allocator<pcl::Vertices> >&)'
/usr/local/lib/libpcl_apps.so: undefined reference to `pcl::EuclideanClusterExtraction<pcl::InterestPoint>::extract(std::vector<pcl::PointIndices ...