Virtual memory exhausted: Cannot allocate memory

Trying to get teb local planner

After catkin_make I am getting this error - virtual memory exhausted.

husarion@test-612836-2307:~/ros_workspace$ catkin_make
Base path: /home/husarion/ros_workspace
Source space: /home/husarion/ros_workspace/src
Build space: /home/husarion/ros_workspace/build
Devel space: /home/husarion/ros_workspace/devel
Install space: /home/husarion/ros_workspace/install

Running command: “make cmake_check_build_system” in “/home/husarion/ros_workspace/build”

Running command: “make -j4 -l4” in “/home/husarion/ros_workspace/build”

[ 4%] Built target pose_to_tf_transform
[ 9%] Built target depth_clipping_node
[ 17%] Built target map_to_img_node
[ 21%] Built target tf_to_pose
[ 26%] Built target drive_controller_node
[ 26%] Built target geometry_msgs_generate_messages_cpp
[ 26%] Built target std_msgs_generate_messages_cpp
[ 26%] Built target _teb_local_planner_generate_messages_check_deps_TrajectoryPointMsg
[ 26%] Built target costmap_converter_generate_messages_cpp
[ 26%] Built target _teb_local_planner_generate_messages_check_deps_TrajectoryMsg
[ 29%] Built target teb_local_planner_gencfg
[ 29%] Built target _teb_local_planner_generate_messages_check_deps_FeedbackMsg
[ 29%] Built target std_msgs_generate_messages_nodejs
[ 29%] Built target geometry_msgs_generate_messages_nodejs
[ 29%] Built target costmap_converter_generate_messages_nodejs
[ 29%] Built target std_msgs_generate_messages_py
[ 29%] Built target geometry_msgs_generate_messages_py
[ 29%] Built target costmap_converter_generate_messages_py
[ 29%] Built target std_msgs_generate_messages_lisp
[ 29%] Built target geometry_msgs_generate_messages_lisp
[ 29%] Built target costmap_converter_generate_messages_lisp
[ 29%] Built target std_msgs_generate_messages_eus
[ 29%] Built target geometry_msgs_generate_messages_eus
[ 29%] Built target costmap_converter_generate_messages_eus
[ 36%] Built target teb_local_planner_generate_messages_cpp
[ 43%] Built target teb_local_planner_generate_messages_nodejs
[ 53%] Built target teb_local_planner_generate_messages_py
[ 60%] Built target teb_local_planner_generate_messages_lisp
[ 70%] Built target teb_local_planner_generate_messages_eus
[ 70%] Built target teb_local_planner_generate_messages
[ 73%] Building CXX object teb_local_planner/CMakeFiles/teb_local_planner.dir/src/timed_elastic_band.cpp.o
[ 78%] Building CXX object teb_local_planner/CMakeFiles/teb_local_planner.dir/src/visualization.cpp.o
[ 78%] Building CXX object teb_local_planner/CMakeFiles/teb_local_planner.dir/src/optimal_planner.cpp.o
[ 80%] Building CXX object teb_local_planner/CMakeFiles/teb_local_planner.dir/src/homotopy_class_planner.cpp.o
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
virtual memory exhausted: Cannot allocate memory
teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:62: recipe for target ‘teb_local_planner/CMakeFiles/teb_local_planner.dir/src/timed_elastic_band.cpp.o’ failed
make[2]: *** [teb_local_planner/CMakeFiles/teb_local_planner.dir/src/timed_elastic_band.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs…
teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:86: recipe for target ‘teb_local_planner/CMakeFiles/teb_local_planner.dir/src/optimal_planner.cpp.o’ failed
make[2]: *** [teb_local_planner/CMakeFiles/teb_local_planner.dir/src/optimal_planner.cpp.o] Error 1
teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:134: recipe for target ‘teb_local_planner/CMakeFiles/teb_local_planner.dir/src/visualization.cpp.o’ failed
make[2]: *** [teb_local_planner/CMakeFiles/teb_local_planner.dir/src/visualization.cpp.o] Error 1
teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:206: recipe for target ‘teb_local_planner/CMakeFiles/teb_local_planner.dir/src/homotopy_class_planner.cpp.o’ failed
make[2]: *** [teb_local_planner/CMakeFiles/teb_local_planner.dir/src/homotopy_class_planner.cpp.o] Error 1
CMakeFiles/Makefile2:3466: recipe for target ‘teb_local_planner/CMakeFiles/teb_local_planner.dir/all’ failed
make[1]: *** [teb_local_planner/CMakeFiles/teb_local_planner.dir/all] Error 2
Makefile:138: recipe for target ‘all’ failed
make: *** [all] Error 2
Invoking “make -j4 -l4” failed

Hello thiaga,

Package teb_local_planner is available to install through apt:

sudo apt install ros-kinetic-teb-local-planner

If it in not the case for you, it should be easier.

To build it anyway, try to use -j 1 option:

catkin_make -j 1

This will force compiler to use only single thread for compilation. Build process will take more time, but will release some memory.

Regards,
Łukasz

1 Like