FYI, Changing "64" to "96" fixes the problem. Changing it to "80" doesn't. --Nick On Dec 2, 2010, at 11:20 AM, Nicholas Butko wrote: > Sorry if this is a known issue. > --Nick > > > Compiling "nodelet" I get the following error: > > [ 80%] Building CXX object CMakeFiles/nodeletlib.dir/src/nodelet_class.o > In file included from /Users/nick/ros/stacks/common/nodelet/src/nodelet_class.cpp:32: > /Users/nick/ros/stacks/common/nodelet/include/nodelet/detail/callback_queue_manager.h:125: error: overflow in array dimension > /Users/nick/ros/stacks/common/nodelet/include/nodelet/detail/callback_queue_manager.h:125: error: size of array ‘pad’ is too large > make[3]: *** [CMakeFiles/nodeletlib.dir/src/nodelet_class.o] Error 1 > make[2]: *** [CMakeFiles/nodeletlib.dir/all] Error 2 > make[1]: *** [all] Error 2 > make: *** [all] Error 2 > > Here is the line for the header file. It looks like there is possibly some unsigned integer underflow going on. Presumably sizeof(V_Queue)+sizeof(boost::mutex) is greater than 64. > > > // Pad to then next cache line > // TODO: magic number > uint8_t pad[64 - sizeof(V_Queue) - sizeof(boost::mutex)];