[ros-users] Nodelet fails to build on OSX

Nicholas Butko nbutko at ucsd.edu
Thu Dec 2 19:24:54 UTC 2010


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)];

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101202/71abea00/attachment-0003.html>


More information about the ros-users mailing list