Autoware master branch fails to compile at twist_gate
Required information:
- Operating system and version:
- Ubuntu 16.04
- Autoware installation type:
- From source
- Autoware version or commit hash
- master
- ROS distribution and version:
- Kinetic
- ROS installation type:
- from binaries
- Package or library, if applicable:
- twist_gate
Description of the bug
Compilation of autoware master branch failes.
Steps to reproduce the bug
- get master repos file
wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/master/autoware.ai.repos?inline=false"
- clone source
vcs import src < autoware.ai.repos
- rosdep
$ rosdep update
$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
- compile
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
or
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to twist_gate
Expected behavior
compile succeeds
Actual behavior
compile fails with following error
Starting >>> autoware_system_msgs
Starting >>> autoware_build_flags
Starting >>> autoware_config_msgs
Starting >>> autoware_msgs
Starting >>> tablet_socket_msgs
Finished <<< autoware_build_flags [3.33s]
Finished <<< tablet_socket_msgs [6.29s]
Finished <<< autoware_system_msgs [6.35s]
Starting >>> autoware_health_checker
Finished <<< autoware_config_msgs [7.70s]
Finished <<< autoware_msgs [9.11s]
Finished <<< autoware_health_checker [18.8s]
Starting >>> twist_gate
--- stderr: twist_gate
In file included from /home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h:27:0,
from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/include/twist_gate/twist_gate.h:40,
from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/src/twist_gate.cpp:31:
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/constants.h:38:5: error: ‘UNEXPECTED_RATE’ is not a member of ‘autoware_system_msgs::DiagnosticStatus {aka autoware_system_msgs::DiagnosticStatus_<std::allocator<void> >}’
autoware_system_msgs::DiagnosticStatus::UNEXPECTED_RATE;
^
In file included from /home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h:27:0,
from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/include/twist_gate/twist_gate.h:40,
from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/src/twist_gate_node.cpp:21:
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/constants.h:38:5: error: ‘UNEXPECTED_RATE’ is not a member of ‘autoware_system_msgs::DiagnosticStatus {aka autoware_system_msgs::DiagnosticStatus_<std::allocator<void> >}’
autoware_system_msgs::DiagnosticStatus::UNEXPECTED_RATE;
^
In file included from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/include/twist_gate/twist_gate.h:40:0,
from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/src/twist_gate.cpp:31:
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h: In member function ‘uint8_t autoware_health_checker::HealthChecker::CHECK_VALUE(std::__cxx11::string, T, std::function<unsigned char(T)>, std::function<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >(T)>, std::__cxx11::string)’:
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h:70:23: error: ‘INVALID_VALUE’ is not a member of ‘autoware_system_msgs::DiagnosticStatus {aka autoware_system_msgs::DiagnosticStatus_<std::allocator<void> >}’
addNewBuffer(key, autoware_system_msgs::DiagnosticStatus::INVALID_VALUE,
^
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h:77:23: error: ‘INVALID_VALUE’ is not a member of ‘autoware_system_msgs::DiagnosticStatus {aka autoware_system_msgs::DiagnosticStatus_<std::allocator<void> >}’
new_status.type = autoware_system_msgs::DiagnosticStatus::INVALID_VALUE;
^
In file included from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/include/twist_gate/twist_gate.h:40:0,
from /home/mitsudome-r/AutowareGitlab_test/src/autoware/core_planning/twist_gate/src/twist_gate_node.cpp:21:
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h: In member function ‘uint8_t autoware_health_checker::HealthChecker::CHECK_VALUE(std::__cxx11::string, T, std::function<unsigned char(T)>, std::function<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >(T)>, std::__cxx11::string)’:
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h:70:23: error: ‘INVALID_VALUE’ is not a member of ‘autoware_system_msgs::DiagnosticStatus {aka autoware_system_msgs::DiagnosticStatus_<std::allocator<void> >}’
addNewBuffer(key, autoware_system_msgs::DiagnosticStatus::INVALID_VALUE,
^
/home/mitsudome-r/AutowareGitlab_test/install/autoware_health_checker/include/autoware_health_checker/health_checker/health_checker.h:77:23: error: ‘INVALID_VALUE’ is not a member of ‘autoware_system_msgs::DiagnosticStatus {aka autoware_system_msgs::DiagnosticStatus_<std::allocator<void> >}’
new_status.type = autoware_system_msgs::DiagnosticStatus::INVALID_VALUE;
^
make[2]: *** [CMakeFiles/twist_gate.dir/src/twist_gate_node.cpp.o] エラー 1
make[2]: *** 未完了のジョブを待っています....
make[2]: *** [CMakeFiles/twist_gate.dir/src/twist_gate.cpp.o] エラー 1
make[1]: *** [CMakeFiles/twist_gate.dir/all] エラー 2
make: *** [all] エラー 2
---
Failed <<< twist_gate [ Exited with code 2 ]
Summary: 6 packages finished [29.8s]
1 package failed: twist_gate
1 package had stderr output: twist_gate
Additional information
This seems to occur due to link error. The error is related to autoware_system_msgs which was updated recently messages!15 (merged), and the compiler seems to link with the binary installed message(ros-kinetic-autoware-system-msgs).
After removing the binary installed package, the compilation finishes properly. sudo apt remove ros-kinetic-autoware-system-msgs