Compilation fails as gazebo and ignition-msgs require different protobuf versions

asked 2017-11-14 15:08:06 -0500

corot gravatar image

When compiling latest sources for Gazebo on ubuntu 16.04, I get the following error:

This file was generated by an older version of protoc which is incompatible with your Protocol Buffer headers. Please regenerate this file with a newer version of protoc.

Well, in fact looks less tidy:

image description

I tried to downgrade protobuf version to 2.6 (the one required by currently installed ignition-msgs), but... then compilation fails because 2.6 is too old for current gazebo code. I also tried to install ignition-msgs from sources, but it installs only msgs1 messages, while gazebo compilation fails with msg0 (honestly, I have no idea what all this msg0, 1, 2... mean).

Any suggestion? Thanks!

edit retag flag offensive close merge delete


What are the branches you're building for each library?

chapulina gravatar imagechapulina ( 2017-11-14 15:50:33 -0500 )edit

default in all cases

corot gravatar imagecorot ( 2017-11-20 17:11:18 -0500 )edit

do you have a previous installation of ign-msgs? I see your includes are coming from `msgs0`, but the default branch is already on version 1.

chapulina gravatar imagechapulina ( 2017-11-20 17:20:52 -0500 )edit

yes, I tried to remove all gazebo-related packages before compiling, as explained in the tutorial. and yes, that's why I think current gazebo and ign-msgs sources are not compatible; gazebo tries to compile using msg0 that are missing on ign-msgs

corot gravatar imagecorot ( 2017-11-21 07:27:43 -0500 )edit

I'm running into the same problems. When I tried to write my own plugins for gazebo using ignition msgs, the compiling passed with 2.6.1 ,but gazebo running failed and throw out error below: [libprotobuf FATAL google/protobuf/stubs/] This program requires version 3.12.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers

wfcola gravatar imagewfcola ( 2020-06-09 04:43:28 -0500 )edit