[ros-users] Nodelet fails to build on OSX

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: [ros-users] Nodelet fails to build on OSX
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)];