c++roshectorslam

Error HectorSLAM on catkin_make command using RPLIDAR A2 on pi


For a robotic project i'm working on. We're building a rc car that is autonomous. so we're using ROS to manage all of it on a raspberryPi 3B+ with the RPLIDAR SDK and HECTOR SLAM.

the catkin_make command was successful for just the RPLIDAR and when cloning the hector slam into the same src folder, (src/hector_slam and src/rplidar_ros) when running catkin_make now that HECTOR_SLAM is introduced i get these errors and i'm not sure how to solve

catkin_make
Base path: /home/bres/rplidar_ws
Source space: /home/bres/rplidar_ws/src
Build space: /home/bres/rplidar_ws/build
Devel space: /home/bres/rplidar_ws/devel
Install space: /home/bres/rplidar_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/bres/rplidar_ws/build"
####
####
#### Running command: "make -j4 -l4" in "/home/bres/rplidar_ws/build"
####
[  0%] Built target nav_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target _hector_nav_msgs_generate_messages_check_deps_GetRecoveryInfo
[  0%] Built target _hector_nav_msgs_generate_messages_check_deps_GetSearchPosition
[  0%] Built target _hector_nav_msgs_generate_messages_check_deps_GetNormal
[  0%] Built target _hector_nav_msgs_generate_messages_check_deps_GetDistanceToObstacle
[  0%] Built target nav_msgs_generate_messages_py
[  0%] Built target nav_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target _hector_nav_msgs_generate_messages_check_deps_GetRobotTrajectory
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target nav_msgs_generate_messages_cpp
[  0%] Built target nav_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_cpp
[  0%] Built target _catkin_empty_exported_target
[  0%] Built target actionlib_msgs_generate_messages_py
[  0%] Built target actionlib_msgs_generate_messages_eus
[  0%] Built target actionlib_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target actionlib_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_eus
[  0%] Built target actionlib_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target roscpp_generate_messages_py
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target roscpp_generate_messages_nodejs
[  0%] Built target roscpp_generate_messages_eus
[  0%] Built target rosgraph_msgs_generate_messages_eus
[  0%] Built target roscpp_generate_messages_cpp
[  0%] Built target rosgraph_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_nodejs
[  0%] Built target roscpp_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_py
[  1%] Building CXX object hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/src/map_to_image_node.cpp.o
[  4%] Built target rplidarNodeClient
[ 14%] Built target rplidarNode
[ 17%] Built target imu_attitude_to_tf_node
[ 17%] Built target visualization_msgs_generate_messages_eus
[ 17%] Built target visualization_msgs_generate_messages_cpp
[ 20%] Built target pose_and_orientation_to_imu_node
[ 20%] Built target visualization_msgs_generate_messages_lisp
[ 20%] Built target visualization_msgs_generate_messages_py
[ 20%] Built target visualization_msgs_generate_messages_nodejs
[ 20%] Built target sensor_msgs_generate_messages_eus
[ 20%] Built target sensor_msgs_generate_messages_lisp
[ 20%] Built target sensor_msgs_generate_messages_nodejs
[ 20%] Built target sensor_msgs_generate_messages_cpp
[ 20%] Built target sensor_msgs_generate_messages_py
[ 20%] Built target tf_generate_messages_py
[ 20%] Built target tf_generate_messages_cpp
[ 20%] Built target actionlib_generate_messages_cpp
[ 20%] Built target tf_generate_messages_eus
[ 20%] Built target actionlib_generate_messages_eus
[ 20%] Built target actionlib_generate_messages_lisp
[ 20%] Built target actionlib_generate_messages_nodejs
[ 20%] Built target tf_generate_messages_lisp
[ 20%] Built target tf2_msgs_generate_messages_eus
[ 20%] Built target tf_generate_messages_nodejs
[ 20%] Built target tf2_msgs_generate_messages_nodejs
[ 20%] Built target actionlib_generate_messages_py
[ 20%] Built target tf2_msgs_generate_messages_lisp
[ 20%] Built target tf2_msgs_generate_messages_py
[ 20%] Built target tf2_msgs_generate_messages_cpp
[ 20%] Built target _hector_mapping_generate_messages_check_deps_HectorDebugInfo
[ 20%] Built target _hector_mapping_generate_messages_check_deps_HectorIterData
[ 35%] Built target hector_nav_msgs_generate_messages_nodejs
[ 35%] Built target hector_nav_msgs_generate_messages_py
[ 42%] Built target hector_nav_msgs_generate_messages_lisp
[ 50%] Built target hector_nav_msgs_generate_messages_cpp
[ 58%] Built target hector_nav_msgs_generate_messages_eus
[ 61%] Built target hector_mapping_generate_messages_cpp
[ 65%] Built target hector_mapping_generate_messages_py
[ 70%] Built target hector_mapping_generate_messages_eus
[ 72%] Built target hector_mapping_generate_messages_lisp
[ 75%] Built target hector_mapping_generate_messages_nodejs
[ 75%] Built target hector_nav_msgs_generate_messages
[ 77%] Building CXX object hector_slam/hector_trajectory_server/CMakeFiles/hector_trajectory_server.dir/src/hector_trajectory_server.cpp.o
[ 78%] Building CXX object hector_slam/hector_map_server/CMakeFiles/hector_map_server.dir/src/hector_map_server.cpp.o
[ 81%] Built target geotiff_writer
[ 82%] Building CXX object hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/src/HectorMappingRos.cpp.o
virtual memory exhausted: Cannot allocate memory
hector_slam/hector_map_server/CMakeFiles/hector_map_server.dir/build.make:62: recipe for target 'hector_slam/hector_map_server/CMakeFiles/hector_map_server.dir/src/hector_map_server.cpp.o' failed
make[2]: *** [hector_slam/hector_map_server/CMakeFiles/hector_map_server.dir/src/hector_map_server.cpp.o] Error 1
CMakeFiles/Makefile2:3580: recipe for target 'hector_slam/hector_map_server/CMakeFiles/hector_map_server.dir/all' failed
make[1]: *** [hector_slam/hector_map_server/CMakeFiles/hector_map_server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/build.make:62: recipe for target 'hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/src/HectorMappingRos.cpp.o' failed
make[2]: *** [hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/src/HectorMappingRos.cpp.o] Error 4
make[2]: *** Waiting for unfinished jobs....
[ 84%] Building CXX object hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/src/main.cpp.o
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
hector_slam/hector_trajectory_server/CMakeFiles/hector_trajectory_server.dir/build.make:62: recipe for target 'hector_slam/hector_trajectory_server/CMakeFiles/hector_trajectory_server.dir/src/hector_trajectory_server.cpp.o' failed
make[2]: *** [hector_slam/hector_trajectory_server/CMakeFiles/hector_trajectory_server.dir/src/hector_trajectory_server.cpp.o] Error 4
CMakeFiles/Makefile2:3689: recipe for target 'hector_slam/hector_trajectory_server/CMakeFiles/hector_trajectory_server.dir/all' failed
make[1]: *** [hector_slam/hector_trajectory_server/CMakeFiles/hector_trajectory_server.dir/all] Error 2
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/build.make:62: recipe for target 'hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/src/map_to_image_node.cpp.o' failed
make[2]: *** [hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/src/map_to_image_node.cpp.o] Error 4
CMakeFiles/Makefile2:2767: recipe for target 'hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/all' failed
make[1]: *** [hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/all] Error 2
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/build.make:86: recipe for target 'hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/src/main.cpp.o' failed
make[2]: *** [hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/src/main.cpp.o] Error 4
CMakeFiles/Makefile2:3758: recipe for target 'hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/all' failed
make[1]: *** [hector_slam/hector_mapping/CMakeFiles/hector_mapping.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

Solution

  • virtual memory exhausted: Cannot allocate memory

    The above shows you have run out of memory. You can fix this by increasing the swap space on your system. The below commands will create 4GB additional swap space on your system

    sudo dd if=/dev/zero of=/swapfile bs=1024 count=4194304
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    

    To make the change permanent, add to /etc/fstab

    /swapfile swap swap defaults 0 0
    

    While compiling, you can check the swap usage in other terminal using

    sudo swapon --show
    

    Increase the swap size if it is still not sufficient.