<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div class="">*** I am hitting the mailing list with two questions because I’m not sure they’re sufficiently related to be in the same email. Much of this information will be the identical between them, but the traces will be different. ***</div>
<div class=""><br class="">
</div>
<div class="">I am trying to build the simplest of demo applications from the Robot Operating System (ROS) on top of RTEMS.</div>
<div class=""><br class="">
</div>
<div class="">I have a .c file (talker_init.c) that contains my Init function and a .cpp file (talker.cpp) that contains a function creating a ROS talker (just looping “hello world [counter value]”). The Init function in the .c file calls the talker function
in the .cpp file.</div>
<div class=""><br class="">
</div>
<div class="">The ROS libraries rely on Boost libraries. I think I’ve figured out how to get waf to find them (at least, that’s not where I appear to have problems).</div>
<div class=""><br class="">
</div>
<div class="">My 'waf configure' command seems to complete without error.</div>
<div class=""><br class="">
</div>
<div class="">When I 'waf build -v’, I get a slew of errors associated with things being out of scope for boost. I’ve copied two such traces below. I can build this just fine when I’m not cross-compiling for RTEMS.</div>
<div class=""><br class="">
</div>
<div class="">I am using MacO Catalina 10.15.2 on a MacBook Pro.</div>
<div class=""><br class="">
</div>
<div class="">I have added my own project directory within the rtems-examples repository and effectively copied a wscript file from another example project, so I’m still relying on the top-level wscript file and the additional elements in the rtems_waf directory.</div>
<div class=""><br class="">
</div>
<div class="">Mike</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><font face="Monaco" size="1" class="">—</font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">examples $ ./waf build</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">Waf: Entering directory `/Users/michaeldodson/projects/rtems_root/examples/build/riscv-rtems5-rv64imac_medany'</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">[1/4] Compiling ros/talker/talker.cpp</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">[2/4] Compiling ros/talker/talker_init.c</span></font></div>
</div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">...</span></font></div>
<div class="">
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">In file included from ../../../../ros/melodic_catkin_ws/install_isolated/include/ros/assert.h:35,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from /usr/local/include/boost/assert.hpp:58,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from /usr/local/include/boost/math/policies/policy.hpp:21,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from /usr/local/include/boost/math/policies/error_handling.hpp:21,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from /usr/local/include/boost/math/special_functions/round.hpp:14,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from ../../../../ros/melodic_catkin_ws/install_isolated/include/ros/time.h:58,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from ../../../../ros/melodic_catkin_ws/install_isolated/include/ros/ros.h:38,</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> from ../../ros/talker/talker.cpp:1:</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">../../../../ros/melodic_catkin_ws/install_isolated/include/ros/console.h:126:16: error: 'shared_ptr' in namespace 'boost' does not name a template type; did you mean
'shared_array'?</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> 126 | typedef boost::shared_ptr<Token> TokenPtr;</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> | ^~~~~~~~~~</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> | shared_array</span></font></div>
</div>
<div class="">
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">../../../../ros/melodic_catkin_ws/install_isolated/include/ros/console.h:127:21: error: 'TokenPtr' was not declared in this scope; did you mean 'Token'?</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> 127 | typedef std::vector<TokenPtr> V_Token;</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> | ^~~~~~~~</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> | Token</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">../../../../ros/melodic_catkin_ws/install_isolated/include/ros/console.h:127:29: error: template argument 1 is invalid</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> 127 | typedef std::vector<TokenPtr> V_Token;</span></font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class=""> | ^</span></font></div>
</div>
<div class=""><font face="Monaco" size="1" class="">---</font></div>
<div class=""><font face="Monaco" size="1" class=""><span style="font-style: normal;" class="">
<div class="">In file included from /usr/local/include/boost/smart_ptr/shared_ptr.hpp:25,</div>
<div class=""> from /usr/local/include/boost/shared_ptr.hpp:17,</div>
<div class=""> from ../../../../ros/melodic_catkin_ws/install_isolated/include/ros/forwards.h:37,</div>
<div class=""> from ../../../../ros/melodic_catkin_ws/install_isolated/include/ros/common.h:37,</div>
<div class=""> from ../../../../ros/melodic_catkin_ws/install_isolated/include/ros/ros.h:43,</div>
<div class=""> from ../../ros/talker/talker.cpp:1:</div>
<div class="">/usr/local/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of 'typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = ros::Publisher::Impl; typename boost::detail::sp_member_access<T>::type
= ros::Publisher::Impl*]':</div>
<div class="">../../../../ros/melodic_catkin_ws/install_isolated/include/ros/publisher.h:148:52: required from here</div>
<div class="">/usr/local/include/boost/assert.hpp:60:35: error: 'assert' was not declared in this scope; did you mean 'mpl_::assert'?</div>
<div class=""> 60 | # define BOOST_ASSERT(expr) assert(expr)</div>
<div class=""> | ~~~~~~^~~~~~</div>
<div class="">/usr/local/include/boost/smart_ptr/shared_ptr.hpp:734:9: note: in expansion of macro 'BOOST_ASSERT'</div>
<div class=""> 734 | BOOST_ASSERT( px != 0 );</div>
<div class=""> | ^~~~~~~~~~~~</div>
</span></font></div>
</body>
</html>