erik-nelson / blam

Other
785 stars 347 forks source link

Error building using catkin #37

Closed aaravrav142 closed 5 years ago

aaravrav142 commented 5 years ago

Hi,

I am having following errors when building (catkin_make_isolated) on ROS kinetic ubuntu 16. I have previously build GTSAM4 by source so not able to figure out whats the problem.

[ 83%] Linking CXX executable /home/arav/catkin_ws_isolated/devel_isolated/blam_slam/lib/blam_slam/blam_slam_node
/usr/bin/ld: CMakeFiles/blam_slam_node.dir/src/blam_slam.cc.o: undefined reference to symbol '_ZN5gtsam20_defaultKeyFormatterB5cxx11Em'
//usr/local/lib/libgtsam.so.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/blam_slam_node.dir/build.make:318: recipe for target '/home/arav/catkin_ws_isolated/devel_isolated/blam_slam/lib/blam_slam/blam_slam_node' failed
make[2]: *** [/home/arav/catkin_ws_isolated/devel_isolated/blam_slam/lib/blam_slam/blam_slam_node] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/blam_slam_node.dir/all' failed
make[1]: *** [CMakeFiles/blam_slam_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX executable /home/arav/catkin_ws_isolated/devel_isolated/blam_slam/lib/blam_slam/blam_slam_offline
/usr/bin/ld: CMakeFiles/blam_slam_offline.dir/src/blam_slam_offline.cc.o: undefined reference to symbol '_ZN5gtsam20_defaultKeyFormatterB5cxx11Em'
//usr/local/lib/libgtsam.so.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/blam_slam_offline.dir/build.make:318: recipe for target '/home/arav/catkin_ws_isolated/devel_isolated/blam_slam/lib/blam_slam/blam_slam_offline' failed
make[2]: *** [/home/arav/catkin_ws_isolated/devel_isolated/blam_slam/lib/blam_slam/blam_slam_offline] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/blam_slam_offline.dir/all' failed
make[1]: *** [CMakeFiles/blam_slam_offline.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'blam_slam': 
  Command '['/home/arav/catkin_ws_isolated/devel_isolated/laser_loop_closure/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/arav/catkin_ws_isolated/build_isolated/blam_slam && /home/arav/catkin_ws_isolated/devel_isolated/laser_loop_closure/env.sh make -j8 -l8

Thanks

luhongquan66 commented 5 years ago

In blam_slam/CMakeLists.txt ,add gtsam after target_link_libraries() After adding it like this: target_link_libraries(${PROJECT_NAME}_node ${PROJECT_NAME} ${catkin_LIBRARIES} gtsam ) target_link_libraries(${PROJECT_NAME}_offline ${PROJECT_NAME} ${catkin_LIBRARIES} gtsam )