voxblox
voxblox copied to clipboard
Improve how the protobuf build folder is exported to depending packages
Referring to this line: https://github.com/ethz-asl/voxblox/blob/master/voxblox/CMakeLists.txt#L19
Referring to exporting the voxblox build folder as an include path
Hi, is the protobuf error this one?
Errors << voxblox_ros:make /home/erwan/imagine_ws/logs/voxblox_ros/build.make.002.log
/usr/bin/ld: CMakeFiles/visualize_tsdf.dir/src/visualize_tsdf.cc.o: undefined reference to symbol '_ZN6google8protobuf8internal13empty_string_B5cxx11E'
//usr/lib/x86_64-linux-gnu/libprotobuf.so.10: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [/home/erwan/imagine_ws/devel/.private/voxblox_ros/lib/voxblox_ros/visualize_tsdf] Error 1
make[1]: *** [CMakeFiles/visualize_tsdf.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: CMakeFiles/voxblox_eval.dir/src/voxblox_eval.cc.o: undefined reference to symbol '_ZN6google8protobuf8internal13empty_string_B5cxx11E'
//usr/lib/x86_64-linux-gnu/libprotobuf.so.10: error adding symbols: DSO missing from command line
Basically, there seems to be a lib version issue between what is used in this visualizer and the latest version of protobuf (installed on my system, Ubuntu 18.04). Did anyone fix that already?
Thanks Erwan
Hi @r1d1 , doesn't look like that's related, this issue we opened a long time ago because we were not happy with how we exported the build folder into the include path of voxblox because of protobuf (here) I agree with you that your issue is probably related to a version mismatch. We have seen this happening if protobuf_catkin and system protobuf are somehow mixed in the workspace or it could just be that your system protobuf is not compatible. Maybe check which one is used when you build voxblox (this is happening here) and if protobuf_catkin is not present try adding it to your workspace, maybe this helps.
I also got the error:
Errors << voxblox_ros:make /home/{username}/catkin_ws/logs/voxblox_ros/build.make.002.log
/usr/bin/ld: CMakeFiles/visualize_tsdf.dir/src/visualize_tsdf.cc.o: undefined reference to symbol '_ZN6google8protobuf8internal13empty_string_B5cxx11E'
//usr/lib/x86_64-linux-gnu/libprotobuf.so.10: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [/home/{username}/catkin_ws/devel/.private/voxblox_ros/lib/voxblox_ros/visualize_tsdf] Error 1
make[1]: *** [CMakeFiles/visualize_tsdf.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/usr/bin/ld: CMakeFiles/voxblox_eval.dir/src/voxblox_eval.cc.o: undefined reference to symbol '_ZN6google8protobuf8internal13empty_string_B5cxx11E'
//usr/lib/x86_64-linux-gnu/libprotobuf.so.10: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [/home/{username}/catkin_ws/devel/.private/voxblox_ros/lib/voxblox_ros/voxblox_eval] Error 1
make[1]: *** [CMakeFiles/voxblox_eval.dir/all] Error 2
make: *** [all] Error 2
I git cloned protobuf_catkin into ~/catkin_ws/src/
, as suggested, and cleaned previous builds. This solved the issue (when running catkin build voxblox_ros
).