Relative noob having enough knowledge to get into trouble....
Attempting to compile robot_localization package (along with a couple of drivers- ublox gps and christa imu). Goes along fine at first:
#### Running command: "make cmake_check_build_system" in "/media/sdcard/catkin_ws/build"
####
####
#### Running command: "make -j1 -l1" in "/media/sdcard/catkin_ws/build"
####
[ 1%] Built target filter_utilities
[ 1%] Built target _robot_localization_generate_messages_check_deps_SetDatum
[ 1%] Built target geometry_msgs_generate_messages_cpp
[ 1%] Built target std_msgs_generate_messages_cpp
[ 1%] Built target _robot_localization_generate_messages_check_deps_SetPose
[ 1%] Built target geographic_msgs_generate_messages_cpp
[ 2%] Built target robot_localization_generate_messages_cpp
[ 2%] Built target robot_localization_gencpp
[ 3%] Built target filter_base
[ 3%] Built target ekf
[ 4%] Built target ros_filter_utilities
[ 5%] Built target ukf
[ 5%] Building CXX object robot_localization/CMakeFiles/ros_filter.dir/src/ros_filter.cpp.o
In file included from /opt/ros/indigo/include/ros/ros.h:40:0,
from /opt/ros/indigo/include/tf2_ros/buffer.h:38,
#################################################################
Then fails at the very end of the compilation:
^
/opt/ros/indigo/include/rosconsole/macros_generated.h:60:36: note: in expansion of macro ‘ROS_LOG’
#define ROS_DEBUG_NAMED(name, ...) ROS_LOG(::ros::console::levels::Debug, std::string(ROSCONSOLE_NAME_PREFIX) + "." + name, __VA_ARGS__)
^
/opt/ros/indigo/include/tf2_ros/message_filter.h:53:3: note: in expansion of macro ‘ROS_DEBUG_NAMED’
ROS_DEBUG_NAMED("message_filter", "MessageFilter [target=%s]: ", fmt, getTargetFramesString().c_str(), __VA_ARGS__)
^
/opt/ros/indigo/include/tf2_ros/message_filter.h:282:5: note: in expansion of macro ‘TF2_ROS_MESSAGEFILTER_DEBUG’
TF2_ROS_MESSAGEFILTER_DEBUG("%s", "Cleared");
^
virtual memory exhausted: Cannot allocate memory
make[2]: *** [robot_localization/CMakeFiles/ros_filter.dir/src/ros_filter.cpp.o] Error 1
make[1]: *** [robot_localization/CMakeFiles/ros_filter.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j1 -l1" failed
ubuntu@arm:/media/sdcard/catkin_ws$
#############################
This is being performed on a Beaglebone Black with: Linux arm 4.1.1-ti-r2 #1 SMP PREEMPT Wed Jul 8 18:40:57 UTC 2015 armv7l armv7l armv7l GNU/Linux
I am out of ideas now. There should be plenty of memory:
ubuntu@arm:/media/sdcard/catkin_ws$ free
total used free shared buffers cached
Mem: 502088 43824 458264 380 3104 9768
-/+ buffers/cache: 30952 471136
Swap: 0 0 0
Any ideas are gratefully accepted! Perhaps this is too much for this board/sd card mix? (sd card is vfat FAT32)
Thanks in advance,
B2256
----------
Thank you allenh1.
It seems that I was also able to find an answer based upon the swap file solution while waiting for answers. Other BBB users may also try [this](http://charette.no-ip.com:81/programming/2015-06-07_BeagleBoneBlack/) for a similar solution. It turns out that allenh1's point of the BBB only having 512MB is well founded and that "anything non-trivial will fail to compile with an out-of-memory error" according to the second source. Compiling was slow as noted, but appears to work aside from a clock skew warning. Thank you all again.
↧