multiple definition of `corresp' : error while installing RGBD SLAM
Hi,
I have ubuntu 12.04 and Fuerte. I am trying to install RGBD SLAM.
Currently I am getting error like this
Most of the error says multiple definition of 'corresp'
/opt/ros/fuerte/stacks/geometry/tf/include/tf/LinearMath/Matrix3x3.h:246: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/graph_manager.o: In function `__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*>*, std::vector<std::pair<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*>, std::allocator<std::pair<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*> > > >, g2o::{anonymous}::CmpPairFirst<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*, std::less<int> > >':
/usr/include/c++/4.6/bits/stl_algo.h:2123: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/graph_mgr_io.o: In function `boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGB> >::operator*() const':
/usr/include/boost/smart_ptr/shared_ptr.hpp:410: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/landmark.o: In function `Eigen::DenseCoeffsBase<Eigen::Matrix<double, 3, 3, 0, 3, 3>, 1>::operator()(int, int)':
/usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:347: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/loop_closing.o:(.bss+0x0): multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/icp.o: In function `~PooledAllocator':
/opt/ros/fuerte/include/flann/util/allocator.h:108: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/transformation_estimation.o: In function `__insertion_sort<__gnu_cxx::__normal_iterator<std::pair<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*>*, std::vector<std::pair<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*>, std::allocator<std::pair<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*> > > >, g2o::{anonymous}::CmpPairFirst<int, Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>*, std::less<int> > >':
/usr/include/c++/4.6/bits/stl_algo.h:2123: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/graph_manager2.o: In function `GraphManager::toggleMapping(bool)':
/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/graph_manager2.cpp:21: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/moc_openni_listener.o: In function `OpenNIListener::metaObject() const':
/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/build/src/moc_openni_listener.cxx:97: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
CMakeFiles/rgbdslam.dir/src/moc_graph_manager.o: In function `GraphManager::metaObject() const':
/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/build/src/moc_graph_manager.cxx:191: multiple definition of `corresp'
CMakeFiles/rgbdslam.dir/src/main.o:/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/src/main.cpp:28: first defined here
/usr/bin/ld: skipping incompatible /usr/lib/Lib/libOpenNI.so when searching for -lOpenNI
/usr/bin/ld: skipping incompatible /usr/lib/Lib/libOpenNI.so when searching for -lOpenNI
/usr/bin/ld: skipping incompatible /usr/lib/Lib/libOpenNI.so when searching for -lOpenNI
/usr/bin/ld: skipping incompatible /usr/lib/Lib/libOpenNI.so when searching for -lOpenNI
collect2: ld returned 1 exit status
make[3]: *** [../bin/rgbdslam] Error 1
make[3]: Leaving directory `/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/build'
make[2]: *** [CMakeFiles/rgbdslam.dir/all] Error 2
make[2]: Leaving directory `/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/sai/fuerte_workspace/rgbdslam_freiburg/rgbdslam/build'
-------------------------------------------------------------------------------}
Any solution please... ?
Asked by sai on 2014-05-21 19:08:17 UTC
Comments
@felix endres ...can you help please ?
Asked by sai on 2014-05-22 02:18:13 UTC
Wow, not really. I do not have this problem. Did you change the code? Do you have any non-standard setup for STL or gcc?
Asked by Felix Endres on 2014-05-26 23:23:34 UTC
I did not change any code, just edited the CMakeLists.txt to make it not use GICP. To know about the current version of gcc, i typed 'gcc -v' which returned "gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04)" and when i typed 'g++ -v' , it returned "gcc version 4.6.4 (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04)"
Asked by sai on 2014-05-27 03:52:28 UTC
Sorry, no idea. If it helps, undo the change to the CMakeLists.txt. Usage of ICP is off by default anyway.
Asked by Felix Endres on 2014-06-03 08:42:04 UTC