Autoware.Auto ros2 pkg
benchmark_tool colcon build Failed
environment :
Ubnutu 20.04 / ROS foxy
reference :
https://autowarefoundation.gitlab.io/...
https://gitlab.com/autowarefoundation...
Step :
$ sudo apt update
$ sudo apt install -y python3-rosdep
$ sudo rosdep init
$ rosdep update
$ git clone https://gitlab.com/autowarefoundation...
$ cd AutowareAuto
$ vcs import < autoware.auto.$ROS_DISTRO.repos
$ export ROS_VERSION=2
$ rosdep install -y -i --from-paths src
$ cd ~/AutowareAuto
$ colcon build
error log
stderr: benchmark_tool
/usr/bin/ld: kittiobjeval.so: undefined reference to '_PyArg_ParseTuple_SizeT'
/usr/bin/ld: kittiobjeval.so: undefined reference to 'PyModule_Create2'
/usr/bin/ld: kittiobjeval.so: undefined reference to 'PyBool_FromLong'
collect2: error: ld returned 1 exit status
make[2] * [CMakeFiles/test_benchmark_tool.dir/build.make:106 test_benchmark_tool] Error 1
make[2] * [CMakeFiles/Makefile2:122: CMakeFiles/test_benchmark_tool.dir/all] Error 2
make: * [Makefile:160: all] Error 2
Failed <<< benchmark_tool [17.5s, exited with code 2]
Aborted <<<
https://gitlab.com/autowarefoundation...
I want to solve this problem.
If anyone knows how, please give me advice.
If you can add a more complete excerpt from the colcon build log file for the benchmark_tool package that would provide a bit more detail.
At a glance it looks like the undefined symbols identified by ld are from the Python C API. Did rosdep install exit without errors?
no problem with the rosdep install, but rosdep init have Problem
error log
sudo rosdep init
ERRO: default sources list file already exits:
/etc/ros/rosdep/source.list.d/20-default.list
But, this problem was solved by deleting the 20-default.list file.
More detail error log that appears when building AutowareAuto packages is as follows.
error log
stderr: benchmark_tool
/usr/bin/ld: kittiobjeval.so: undefined reference to _PyArg_ParseTuple_SizeT
/usr/bin/ld: kittiobjeval.so: undefined reference to PyModule_Create2
/usr/bin/ld: kittiobjeval.so: undefined reference to PyBool_FromLong
collect2: error: ld returned 1 exit status
make[2]: [CMakeFiles/test_benchmark_tool.dir/build.make:106: test_benchmark_tool] Error 1
make[1]: [CMakeFiles/Makefile2:122: CMakeFiles/test_benchmark_tool.dir/all] Error 2
make: [Makefile:160: all] Error 2
Failed <<< benchmark_tool [18.6s, exited with code 2]
Aborted <<< autoware_auto_geometry [3.57s]
Aborted <<< emergency_handler [3.57s]
Aborted <<< controller_testing [4.90s]
Aborted <<< measurement_conversion [18.8s]
Aborted <<< localization_nodes [3.69s]
Aborted <<< ground_truth_detections [27.1s]
Aborted <<< lidar_integration [28.0s]
Aborted <<< off_map_obstacles_filter [29.3s]
Aborted <<< autoware_state_monitor [35.0s]
Aborted <<< vehicle_interface [48.5s]
Aborted <<< had_map_utils [58.9s]
Summary: 43 packages finished [2min 46s]
1 package failed: benchmark_tool
11 packages aborted: autoware_auto_geometry autoware_state_monitor controller_testing
emergency_handler ground_truth_detections had_map_utils lidar_integration localization_nodes
measurement_conversion off_map_obstacles_filter vehicle_interface
6 packages had stderr output: benchmark_tool neural_networks rosapi spinnaker_camera_driver
spinnaker_camera_nodes tvm_utility
67 packages not processed
I'm running into the same issue with Ubuntu 20.04. I've checked all the deps a few times but nothing obvious is jumping out. Did this ever get resolved?