Running Ubuntu 16.04 and Gazebo 7. All works ok but then i installed cartographer.
As you can see from installation script (https://google-cartographer-ros.readthedocs.io/en/latest/) it installs protoc 3.4.1.
And now my project can not be build:
In file included from /usr/include/gazebo7/gazebo/msgs/MessageTypes.hh:91:0,
from /usr/include/gazebo7/gazebo/msgs/msgs.hh:24,
from /usr/include/gazebo7/gazebo/physics/Entity.hh:28,
from /usr/include/gazebo7/gazebo/physics/Model.hh:32,
from /home/thesis/gazebo_animate_pose/animate_pose.cc:4:
/usr/include/gazebo7/gazebo/msgs/wrench_stamped.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
/usr/include/gazebo7/gazebo/msgs/wrench_stamped.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
/usr/include/gazebo7/gazebo/msgs/wrench_stamped.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
I tried to install gazebo from source, but got another(seems related) problem:
/usr/local/lib/libprotoc.a(code_generator.cc.o): In function `google::protobuf::compiler::GeneratorContext::GetCompilerVersion(google::protobuf::compiler::Version*) const':
code_generator.cc:(.text+0x4e5): undefined reference to `google::protobuf::internal::fixed_address_empty_string[abi:cxx11]'
/usr/local/lib/libprotoc.a(code_generator.cc.o): In function `google::protobuf::compiler::ParseGeneratorParameter(std::__cxx11::basic_string, std::allocator> const&, std::vector, std::allocator>, std::__cxx11::basic_string, std::allocator>>, std::allocator, std::allocator>, std::__cxx11::basic_string, std::allocator>>>>*)':
code_generator.cc:(.text+0x5fd): undefined reference to `google::protobuf::SplitStringUsing(std::__cxx11::basic_string, std::allocator> const&, char const*, std::vector, std::allocator>, std::allocator, std::allocator>>>*)'
/usr/local/lib/libprotoc.a(plugin.cc.o): In function `google::protobuf::compiler::GenerateCode(google::protobuf::compiler::CodeGeneratorRequest const&, google::protobuf::compiler::CodeGenerator const&, google::protobuf::compiler::CodeGeneratorResponse*, std::__cxx11::basic_string, std::allocator>*)':
plugin.cc:(.text+0x38): undefined reference to `google::protobuf::DescriptorPool::DescriptorPool()'.........
ps. yes, the problem is old (http://answers.gazebosim.org/question/4733/this-file-was-generated-by-an-older-version-of-protoc-while-following-gazebo-tutorial/), but i can not find solution - i want to use both gazebo and cartographer (or at least repaire gazebo).
Does gazebo can be build with protoc 3.4.1 ? How to do that? Or at least how to remove protoc 3.4 and how to work with cartographer? Many thanks!
↧