[gazebo-3] process has died // core dumped
Hello,
i try to start the erlecopter example in Gazebo from Erle Robotics for Q-Learning. But i faced some Problems and tried to spawn the Copter in the right Environment, first i start my conda Environment and after that i start roscore, then i open a new Terminal with the same conda Environment and source my catkin workspace, after that i put in the command:
roslaunch ardupilot_sitl_gazebo_plugin erlecopter_spawn.launch
Gazebo started correctly with the Quadcopter in it but the Terminal put out an Error:
[libprotobuf FATAL google/protobuf/stubs/common.cc:67] This program requires version 3.5.0 of the Protocol Buffer runtime library, but the installed version is 3.0.0. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "/tmp/build/80754af9/opencv-suite_1535558553474/work/modules/dnn/misc/caffe/opencv-caffe.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): This program requires version 3.5.0 of the Protocol Buffer runtime library, but the installed version is 3.0.0. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "/tmp/build/80754af9/opencv-suite_1535558553474/work/modules/dnn/misc/caffe/opencv-caffe.pb.cc".)
Aborted (core dumped)
[gazebo-3] process has died [pid 4184, exit code 134, cmd /home/stephan/catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/scripts/gzserver -u -e ode /home/stephan/catkin_ws/src/ardupilot_sitl_gazebo_plugin/ardupilot_sitl_gazebo_plugin/worlds/empty_world/empty.world __name:=gazebo __log:=/home/stephan/.ros/log/2845833a-69a3-11e9-9559-50e54953a336/gazebo-3.log].
log file: /home/stephan/.ros/log/2845833a-69a3-11e9-9559-50e54953a336/gazebo-3*.log
Because the error message says "core dumped" and in the empty.world file the physics is set with ode, i suspect that something is wrong with my graphic-driver... again.
I'm also not sure why i got this libprotobuf FATAL message, i already updates it to 3.6.1 and can see this version with the command: conda list
I have to say that this example from Erle Robotics is out of date, its for Ubuntu 14.04 with ROS Indigo and i changed a few things to compile it, cause i work with Ubuntu 18.04 and ROS Melodic.
I dont want to spam this Thread unnecessary long, if u want more Informations or Logs please tell me.
I'm grateful for every tip.
Asked by stephanr on 2019-04-28 06:13:02 UTC
Answers
I guess i have the same issue, because my pip show output is:
(cuda) stephan@stephan-Z:~$ pip show protobuf
Name: protobuf
Version: 3.7.1
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author: None
Author-email: None
License: 3-Clause BSD License
Location: /home/stephan/.local/lib/python2.7/site-packages
Requires: six, setuptools
Required-by: tensorflow-gpu, tensorboard
and my dpkg -l output is:
(cuda) stephan@stephan-Z:~$ dpkg -l |grep protoc
ii apturl 0.5.2ubuntu14.2 amd64 install packages using the apt protocol - GTK+ frontend
ii apturl-common 0.5.2ubuntu14.2 amd64 install packages using the apt protocol - common data
ii libcmis-0.5-5v5 0.5.1+git20160603-3build2 amd64 CMIS protocol client library
ii libijs-0.35:amd64 0.35-13 amd64 IJS raster image transport protocol: shared library
ii liblwp-protocol-https-perl 6.07-2 all HTTPS driver for LWP::UserAgent
ii libmbim-glib4:amd64 1.14.2-2.1ubuntu1 amd64 Support library to use the MBIM protocol
ii libnghttp2-14:amd64 1.30.0-1ubuntu1 amd64 library implementing HTTP/2 protocol (shared library)
ii libprotobuf-dev:amd64 3.0.0-9.1ubuntu1 amd64 protocol buffers C++ library (development files)
ii libprotobuf-lite10:amd64 3.0.0-9.1ubuntu1 amd64 protocol buffers C++ library (lite version)
ii libprotobuf10:amd64 3.0.0-9.1ubuntu1 amd64 protocol buffers C++ library
ii libprotoc-dev:amd64 3.0.0-9.1ubuntu1 amd64 protocol buffers compiler library (development files)
ii libprotoc10:amd64 3.0.0-9.1ubuntu1 amd64 protocol buffers compiler library
ii libqmi-glib5:amd64 1.18.0-3ubuntu1 amd64 Support library to use the Qualcomm MSM Interface (QMI) protocol
ii libunity-protocol-private0:amd64
7.1.4+18.04.20180209.1-0ubuntu2 amd64 binding to get places into the launcher - private library
ii libx11-protocol-perl 0.56-7 all Perl module for the X Window System Protocol, version 11
ii libxkbcommon-x11-0:amd64 0.8.0-1ubuntu0.1 amd64 library to create keymaps with the XKB X11 protocol
ii protobuf-compiler 3.0.0-9.1ubuntu1 amd64 compiler for protocol buffer definition files
ii python-crypto 2.6.1-8ubuntu2 amd64 cryptographic algorithms and protocols for Python
ii python-oauth 1.0.1-5 all Python library implementing of the OAuth protocol
ii python-pyasn1-modules 0.2.1-0.2 all Collection of protocols modules written in ASN.1 language
ii python3-crypto 2.6.1-8ubuntu2 amd64 cryptographic algorithms and protocols for Python 3
ii python3-oauth 1.0.1-5 all Python 3 library implementing of the OAuth protocol
ii python3-protobuf 3.0.0-9.1ubuntu1 amd64 Python 3 bindings for protocol buffers
ii ros-melodic-xmlrpcpp 1.14.3-0bionic.20190318.180337 amd64 XmlRpc++ is a C++ implementation of the XML-RPC protocol.
ii x11proto-dev 2018.4-4 all X11 extension protocols and auxiliary headers
it seems that i have 3.7.1 and 3.0.0 in different locations. I have to use conda for different Python environments and used this command as i firstly got the Error from the first post:
conda install -c anaconda libprotobuf
How did you fix the issue with the wrong direction, LD_LIBRARY_PATH?
Thank you!
Asked by stephanr on 2019-04-30 13:58:47 UTC
Comments
I had this problem before and it was because I had two protobuf installation on my machine and Gazebo was being complied with the oldest.
In order to solve that, I installed Gazebo from source. Note that ign-msgs and ign-transport also requires protobuf and need to install them from source as well.
Changing LD_LIBRARY_PATH will most likely make the cmake to find the correct protobuf version.
Asked by rasecg3 on 2019-05-01 03:46:21 UTC
And if i change something in my catkin workspace folder (especially in the CMakeLists.txt where protobuf directory is mentioned) i have to rebuild it with catkin_make
Thats it, right?
Asked by stephanr on 2019-05-01 06:48:03 UTC
Comments
Do you have a self compiled version of Gazebo or protobuf? I had this problems before because I ended up to have two versions of protobuf on my machine and gazebo was linking to the wrong one.
Asked by rasecg3 on 2019-04-30 11:04:02 UTC