Closed griz1112 closed 2 years ago
Hello,
The protobuf version we are using is 3.6.1. Can you tell which version do you have?
Best, Mihir
Same version must be something else that isn't correct. Not familiar with it is there a python binding that might be the wrong version?
Hello,
Can you provide the build output log? Just the log of the package that is failing would be enough.
Best, Mihir
It was a mismatch between protobuf compiler and library. All good now. Running it on noetic. I'm totally impressed. Great job and Congratulations on winning the challenge. https://www.youtube.com/watch?v=t1At5Yucvz4
Thank you very much! Glad to hear that the issue is solved.
Hello, @griz1112 @MihirDharmadhikari.
I am also having trouble with using protobuf.. both compiler and librrary version seem all 3.6.1.
(base) ~/gbplanner2_ws (master ✘)✭ ᐅ dpkg -l | grep libprotoc
ii libprotoc-dev:amd64 3.6.1.3-2ubuntu5.2 amd64 protocol buffers compiler library (development files)
ii libprotoc17:amd64 3.6.1.3-2ubuntu5.2 amd64 protocol buffers compiler library
(base) ~/gbplanner2_ws (master ✘)✭ ᐅ dpkg -l | grep protobuf
ii libprotobuf-dev:amd64 3.6.1.3-2ubuntu5.2 amd64 protocol buffers C++ library (development files) and proto files
ii libprotobuf-lite17:amd64 3.6.1.3-2ubuntu5.2 amd64 protocol buffers C++ library (lite version)
ii libprotobuf17:amd64 3.6.1.3-2ubuntu5.2 amd64 protocol buffers C++ library
ii protobuf-compiler 3.6.1.3-2ubuntu5.2 amd64 compiler for protocol buffer definition files
(base) ~/gbplanner2_ws (master ✘)✭ ᐅ
The error message is below:
Errors << rotors_gazebo_plugins:cmake /home/jdhwang/gbplanner2_ws/logs/rotors_gazebo_plugins/build.cmake.000.log
CMake Error at /home/jdhwang/gbplanner2_ws/devel/share/yaml_cpp_catkin/cmake/yaml_cpp_catkinConfig.cmake:173 (message):
Project 'rotors_gazebo_plugins' tried to find library 'yaml-cpp0.5'. The
library is neither a target nor built/installed properly. Did you compile
project 'yaml_cpp_catkin'? Did you find_package() it before the
subdirectory containing its code is included?
Call Stack (most recent call first):
CMakeLists.txt:163 (find_package)
I also thought that it is related to https://github.com/ethz-asl/rotors_simulator/issues/592 and https://github.com/ethz-asl/rotors_simulator/issues/531. However, the former does not work and the latter is using 3.0.0.
Thank you so much.
For your information, I think I have yaml-cpp
(base) ~/gbplanner2_ws (master ✘)✭ ᐅ sudo apt install ros-noetic-cmake-modules
Reading package lists... Done
Building dependency tree
Reading state information... Done
ros-noetic-cmake-modules is already the newest version (0.5.0-1focal.20210423.224742).
The following packages were automatically installed and are no longer required:
evolution-data-server-common fprintd gir1.2-accountsservice-1.0 gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0
gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdm-1.0 gir1.2-geoclue-2.0
gir1.2-gnomebluetooth-1.0 gir1.2-graphene-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gtkclutter-1.0 gir1.2-gweather-3.0
gir1.2-json-1.0 gir1.2-mutter-6 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-rsvg-2.0 gir1.2-upowerglib-1.0 gnome-shell-common
libcamel-1.2-62 libebackend-1.2-10 libecal-2.0-1 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2
libfprint-2-2 libpam-fprintd nvidia-firmware-535-server-535.54.03 python3-pymacaroons python3-rfc3339 python3-tz
switcheroo-control xwayland
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
It is resolved by reinstalling everything again.
I am in Ubuntu 18.04 and the protobuf version is (libprotoc 3.0.0), I am getting the following error when it tries to build voxblox_ros. Is there any suggestion to resolve this issue? Thanks much
/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/sed/gbplanner2_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
Hello @SFakoorian0111 ,
This seems to be a protobuf mismatch issue. According to this issue on the original voxblox repository, can you try to clone the protobuf_catkin package in your workspace, clean the workspace and build again? Let me know if this solves the issue.
Best, Mihir
Thanks so much @MihirDharmadhikari
I did the following steps but i ended to the following error when I catkin build voxblox_ros
sudo apt remove protobuf-compiler
CMake Error at /home/sed/gbplanner2_ws/devel/share/protobuf_catkin/cmake/protobuf-generate-cpp.cmake:43 (message): Couldn't find protobuf compiler. Please ensure that protobuf_catkin is properly installed. Checked the following paths: Protobuf_PROTOC_EXECUTABLE-NOTFOUND;;/home/sed/gbplanner2_ws/devel/.private/voxblox/bin/protoc;/opt/ros/melodic/bin/protoc;/usr/include/../bin/protoc Call Stack (most recent call first): /home/sed/gbplanner2_ws/devel/share/protobuf_catkin/cmake/protobuf-generate-cpp.cmake:166 (_find_protobuf_compiler) CMakeLists.txt:20 (PROTOBUF_CATKIN_GENERATE_CPP2)
Hi @SFakoorian0111 ,
You still need the protobuf compiler. You should reinstall it with sudo apt install protobuf-compiler
. Keep in mind that when you uninstalled it, it would have uninstalled some other packages as well. You might need to reinstall them. You don't necessarily need to change the CMakeLists.txt but it is ok, should not be a problem.
Install protobuf compiler and try recompiling.
Best, Mihir
@MihirDharmadhikari I reinstalled the protobuf and revert the CMakeLists.txt to the original one and I could build the voxblox_ros. Thank you very much for your help.
Great to hear that!
Build is failing with this and other errors that are similar. error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::GetNoArena(const string*) const’ I looked this up and it seems its a version mismatch from what I have on my machine and the version that you used to develop the software. Which version of protobuf did you use ?