Cartographer build snap error

error:
In file included from /media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/sensor_data.cc:17:0:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/sensor_data.h:37:69: error: ‘cartographer::sensor::proto::Imu’ has not been declared
SensorData(const string& frame_id, ::cartographer::sensor::proto::Imu imu);
^

CHECK_EQ(kTrajectoryBuilderId, map_builder_.AddTrajectoryBuilder());
^
In file included from /media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:34:0:
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/mapping/map_builder.h:57:7: note: candidate: int cartographer::mapping::MapBuilder::AddTrajectoryBuilder(const std::unordered_set<std::cxx11::basic_string >&, const cartographer::mapping::proto::TrajectoryBuilderOptions&)
int AddTrajectoryBuilder(
^
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/mapping/map_builder.h:57:7: note: candidate expects 2 arguments, 0 provided
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In member function ‘bool cartographer_ros::{anonymous}::Node::HandleSubmapQuery(cartographer_ros_msgs::SubmapQuery::Request&, cartographer_ros_msgs::SubmapQuery::Response&)’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:426:64: error: ‘class cartographer::mapping::TrajectoryBuilder’ has no member named ‘submaps’
map_builder
.GetTrajectoryBuilder(kTrajectoryBuilderId)->submaps();
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:427:15: error: ‘cartographer_ros_msgs::SubmapQuery::Request {aka struct cartographer_ros_msgs::SubmapQueryRequest
<std::allocator >}’ has no member named ‘submap_id’
if (request.submap_id < 0 || request.submap_id >= submaps->size()) {
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:427:40: error: ‘cartographer_ros_msgs::SubmapQuery::Request {aka struct cartographer_ros_msgs::SubmapQueryRequest_<std::allocator >}’ has no member named ‘submap_id’
if (request.submap_id < 0 || request.submap_id >= submaps->size()) {
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:432:18: error: ‘cartographer::mapping::proto::SubmapQuery::Response {aka class cartographer::mapping::proto::SubmapQuery_Response}’ has no member named ‘set_submap_id’
response_proto.set_submap_id(request.submap_id);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:432:40: error: ‘cartographer_ros_msgs::SubmapQuery::Request {aka struct cartographer_ros_msgs::SubmapQueryRequest_<std::allocator >}’ has no member named ‘submap_id’
response_proto.set_submap_id(request.submap_id);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:434:28: error: ‘cartographer_ros_msgs::SubmapQuery::Request {aka struct cartographer_ros_msgs::SubmapQueryRequest_<std::allocator >}’ has no member named ‘submap_id’
submaps->Get(request.submap_id)->end_laser_fan_index);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:436:41: error: ‘class cartographer::mapping::SparsePoseGraph’ has no member named ‘GetSubmapTransforms’
map_builder_.sparse_pose_graph()->GetSubmapTransforms(submaps);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:438:12: error: ‘class cartographer::mapping::Submaps’ has no member named ‘SubmapToProto’
submaps->SubmapToProto(request.submap_id,
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:438:34: error: ‘cartographer_ros_msgs::SubmapQuery::Request {aka struct cartographer_ros_msgs::SubmapQueryRequest_<std::allocator >}’ has no member named ‘submap_id’
submaps->SubmapToProto(request.submap_id,
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:440:52: error: ‘cartographer_ros_msgs::SubmapQuery::Request {aka struct cartographer_ros_msgs::SubmapQueryRequest_<std::allocator >}’ has no member named ‘submap_id’
submap_transforms[request.submap_id], &response_proto);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In member function ‘bool cartographer_ros::{anonymous}::Node::HandleFinishTrajectory(cartographer_ros_msgs::FinishTrajectory::Request&, cartographer_ros_msgs::FinishTrajectory::Response&)’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:485:69: error: invalid initialization of reference of type ‘const std::vectorcartographer::mapping::TrajectoryNode&’ from expression of type ‘const std::vector<std::vectorcartographer::mapping::TrajectoryNode >’
BuildOccupancyGrid(trajectory_nodes, options_, &occupancy_grid);
^
In file included from /media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:68:0:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/occupancy_grid.h:28:6: note: in passing argument 1 of ‘void cartographer_ros::BuildOccupancyGrid(const std::vectorcartographer::mapping::TrajectoryNode&, const cartographer_ros::NodeOptions&, nav_msgs::OccupancyGrid
)’
void BuildOccupancyGrid(
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:486:62: error: ‘cartographer_ros_msgs::FinishTrajectory::Request {aka struct cartographer_ros_msgs::FinishTrajectoryRequest_<std::allocator >}’ has no member named ‘stem’
WriteOccupancyGridToPgmAndYaml(occupancy_grid, request.stem);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In member function ‘void cartographer_ros::{anonymous}::Node::PublishSubmapList(const ros::WallTimerEvent&)’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:497:64: error: ‘class cartographer::mapping::TrajectoryBuilder’ has no member named ‘submaps’
map_builder_.GetTrajectoryBuilder(kTrajectoryBuilderId)->submaps();
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:499:41: error: ‘class cartographer::mapping::SparsePoseGraph’ has no member named ‘GetSubmapTransforms’
map_builder_.sparse_pose_graph()->GetSubmapTransforms(submaps);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:505:50: error: ‘const class cartographer::mapping::Submap’ has no member named ‘end_laser_fan_index’
ros_submap.submap_version = submaps->Get(i)->end_laser_fan_index;
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In member function ‘void cartographer_ros::{anonymous}::Node::PublishPoseAndScanMatchedPointCloud(const ros::WallTimerEvent&)’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:530:64: error: ‘class cartographer::mapping::TrajectoryBuilder’ has no member named ‘submaps’
map_builder_.GetTrajectoryBuilder(kTrajectoryBuilderId)->submaps();
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:532:75: error: no matching function for call to ‘cartographer::mapping::SparsePoseGraph::GetLocalToGlobalTransform(const cartographer::mapping::Submaps&)’
map_builder_.sparse_pose_graph()->GetLocalToGlobalTransform(submaps);
^
In file included from /media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/mapping/map_builder.h:33:0,
from /media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:34:
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/mapping/sparse_pose_graph.h:89:30: note: candidate: virtual cartographer::transform::Rigid3d cartographer::mapping::SparsePoseGraph::GetLocalToGlobalTransform(int)
virtual transform::Rigid3d GetLocalToGlobalTransform(int trajectory_id) = 0;
^
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/mapping/sparse_pose_graph.h:89:30: note: no known conversion for argument 1 from ‘const cartographer::mapping::Submaps’ to ‘int’
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In member function ‘void cartographer_ros::{anonymous}::Node::SpinOccupancyGridThreadForever()’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:594:67: error: invalid initialization of reference of type ‘const std::vectorcartographer::mapping::TrajectoryNode&’ from expression of type ‘const std::vector<std::vectorcartographer::mapping::TrajectoryNode >’
BuildOccupancyGrid(trajectory_nodes, options_, &occupancy_grid);
^
In file included from /media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:68:0:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/occupancy_grid.h:28:6: note: in passing argument 1 of ‘void cartographer_ros::BuildOccupancyGrid(const std::vectorcartographer::mapping::TrajectoryNode&, const cartographer_ros::NodeOptions&, nav_msgs::OccupancyGrid
)’
void BuildOccupancyGrid(
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In member function ‘void cartographer_ros::{anonymous}::Node::HandleSensorData(int64, std::unique_ptr<cartographer_ros::SensorData>)’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:622:61: error: ‘struct cartographer_ros::SensorData’ has no member named ‘imu’
AddImu(timestamp, sensor_data->frame_id, sensor_data->imu);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:627:42: error: ‘struct cartographer_ros::SensorData’ has no member named ‘laser_scan’
sensor_data->laser_scan);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:632:34: error: ‘struct cartographer_ros::SensorData’ has no member named ‘laser_fan_3d’
sensor_data->laser_fan_3d);
^
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc: In function ‘void cartographer_ros::{anonymous}::Run()’:
/media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:651:46: error: no matching function for call to ‘cartographer::common::LuaParameterDictionary::LuaParameterDictionary(const string&, std::remove_reference<std::unique_ptr<cartographer::common::ConfigurationFileResolver, std::default_deletecartographer::common::ConfigurationFileResolver >&>::type, std::nullptr_t)’
code, std::move(file_resolver), nullptr);
^
In file included from /media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/configuration_file_resolver.h:22:0,
from /media/zc/E/mysnap/snap/parts/mycartographer/build/cartographer_ros/cartographer_ros/src/cartographer_node_main.cc:24:
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/lua_parameter_dictionary.h:88:3: note: candidate: cartographer::common::LuaParameterDictionary::LuaParameterDictionary(lua_State
, cartographer::common::LuaParameterDictionary::ReferenceCount, std::shared_ptrcartographer::common::FileResolver)
LuaParameterDictionary(lua_State* L, ReferenceCount reference_count,
^
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/lua_parameter_dictionary.h:88:3: note: no known conversion for argument 1 from ‘const string {aka const std::__cxx11::basic_string}’ to ‘lua_State*’
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/lua_parameter_dictionary.h:84:3: note: candidate: cartographer::common::LuaParameterDictionary::LuaParameterDictionary(const string&, cartographer::common::LuaParameterDictionary::ReferenceCount, std::unique_ptrcartographer::common::FileResolver)
LuaParameterDictionary(const string& code, ReferenceCount reference_count,
^
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/lua_parameter_dictionary.h:84:3: note: no known conversion for argument 2 from ‘std::remove_reference<std::unique_ptr<cartographer::common::ConfigurationFileResolver, std::default_deletecartographer::common::ConfigurationFileResolver >&>::type {aka std::unique_ptr<cartographer::common::ConfigurationFileResolver, std::default_deletecartographer::common::ConfigurationFileResolver >}’ to ‘cartographer::common::LuaParameterDictionary::ReferenceCount’
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/lua_parameter_dictionary.h:45:3: note: candidate: cartographer::common::LuaParameterDictionary::LuaParameterDictionary(const string&, std::unique_ptrcartographer::common::FileResolver)
LuaParameterDictionary(const string& code,
^
/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/include/cartographer/common/lua_parameter_dictionary.h:45:3: note: candidate expects 2 arguments, 3 provided
CMakeFiles/cartographer_node.dir/build.make:110: recipe for target ‘CMakeFiles/cartographer_node.dir/src/msg_conversion.cc.o’ failed
make[2]: *** [CMakeFiles/cartographer_node.dir/src/msg_conversion.cc.o] Error 1
CMakeFiles/cartographer_node.dir/build.make:230: recipe for target ‘CMakeFiles/cartographer_node.dir/src/sensor_data_producer.cc.o’ failed
make[2]: *** [CMakeFiles/cartographer_node.dir/src/sensor_data_producer.cc.o] Error 1
CMakeFiles/cartographer_node.dir/build.make:62: recipe for target ‘CMakeFiles/cartographer_node.dir/src/cartographer_node_main.cc.o’ failed
make[2]: *** [CMakeFiles/cartographer_node.dir/src/cartographer_node_main.cc.o] Error 1
CMakeFiles/Makefile2:244: recipe for target ‘CMakeFiles/cartographer_node.dir/all’ failed
make[1]: *** [CMakeFiles/cartographer_node.dir/all] Error 2
Makefile:138: recipe for target ‘all’ failed
make: *** [all] Error 2
<== Failed to process package ‘cartographer_ros’:
Command ‘[’/media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/env.sh’, ‘make’, ‘-j8’, ‘-l8’]’ returned non-zero exit status 2

Reproduce this error by running:
==> cd /media/zc/E/mysnap/snap/parts/mycartographer/build/build_isolated/cartographer_ros && /media/zc/E/mysnap/snap/parts/mycartographer/install/opt/ros/kinetic/env.sh make -j8 -l8

Command failed, exiting.
Failed to run ‘/bin/bash /tmp/tmp5edq81uh’ for ‘mycartographer’: Exited with code 1.
Verify that the part is using the correct parameters and try again.

snapcraft.yaml
name: ceressolver # you probably want to 'snapcraft register ’
version: ‘1.0’ # just for humans, typically ‘1.2+git’ or ‘1.3.2’
summary: Single-line elevator pitch for your amazing snap # 79 char long summary
description: |
This is my-snap’s description. You have a paragraph or two to tell the
most important story about your snap. Keep it under 100 words though,
we live in tweetspace and your description wants to look good in the snap
store.

grade: devel # must be ‘stable’ to release into candidate/stable channels
confinement: devmode # use ‘strict’ once you have the right plugs and slots

parts:
mycartographer:
# See ‘snapcraft plugins’
source: /media/zc/E/mysnap
source-branch: kinetic-devel
plugin: catkin
rosdistro: kinetic
source-space: cartographer_ros/
catkin-packages: [cartographer_ros]
include-roscore: false

apps:
run:
command: roslaunch cartographer_ros zc.launch

cartographer is googlecartographer.

can you help me cartographer build snap.
thanks