<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="">
<br class="">
<br class="">
<blockquote type="cite" class="">On 4 Feb 2020, at 16:41, Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de" class="">sebastian.huber@embedded-brains.de</a>> wrote:<br class="">
<br class="">
On 04/02/2020 14:37, M. Dodson wrote:<br class="">
<br class="">
<blockquote type="cite" cite="mid:D1350866-DA41-4E01-8E8E-3301693E9EF1@cam.ac.uk" class="">
<blockquote type="cite" style="" class="">
<blockquote type="cite" style="" class="">
<div class="">Specifically, my waf has:</div>
<div class=""><br class="">
</div>
<div class="">includes = [</div>
<div class="">...</div>
<div class="">'/Users/michaeldodson/projects/rtems_root/boost_1_72_0',</div>
<div class="">'/usr/local/include’]</div>
<div class=""><br class="">
</div>
<div class="">It seems to be finding the header files just fine, as the errors are associated with a declaration within the header that isn’t in scope.</div>
<br class="Apple-interchange-newline">
</blockquote>
<div class="">You should not use standard installation paths of your host system for header files of the RTEMS target. This may accidentally pull in undesired header files.</div>
<br class="Apple-interchange-newline">
</blockquote>
<div class="">I’m possibly misunderstanding your statement:</div>
<div class=""><br class="">
</div>
<div class="">I was only including '/Users/michaeldodson/projects/rtems_root/boost_1_72_0’ (the location of the Boost libraries built with the RTEMS cross-compilation tools.  The errors I reported were based on a build only using that include path.</div>
<br class="">
</blockquote>
In your first email there are also /usr/local/include paths in the log.<br class="">
<br class="">
<br class="">
</blockquote>
<br class="">
Yes, sorry.  After the first email Chris asked me if I’d actually built Boost with the RTEMS tools, which I hadn’t.  So I did that and then added the new trace (which was basically the same, but with different paths to the Boost libraries) to the thread.  I
 should have been clearer…. 
<div class=""><br class="">
<blockquote type="cite" class="">Do you have an example code which triggers the issue?<br class="">
<br class="">
</blockquote>
<br class="">
Sure, but it’s not even getting past the #include statements, I think.<br class="">
<br class="">
The file is copied below.  You can find ros.h (the first header file in the traces I copied) here:</div>
<div class=""><br class="">
</div>
<div class=""><a href="https://github.com/ros/ros_comm/blob/melodic-devel/clients/roscpp/include/ros/ros.h" class="">https://github.com/ros/ros_comm/blob/melodic-devel/clients/roscpp/include/ros/ros.h</a></div>
<div class=""><br class="">
</div>
<div class="">The main function in this file is called from a separate file that only contains an RTEMS Init() function.<br class="">
<br class="">
#include "ros/ros.h"<br class="">
#include "std_msgs/String.h"<br class="">
<br class="">
void chatterCallback(const std_msgs::String::ConstPtr& msg);<br class="">
int main(int argc, char **argv);</div>
<div class=""><br class="">
void chatterCallback(const std_msgs::String::ConstPtr& msg)<br class="">
{<br class="">
  ROS_INFO("I heard: [%s]", msg->data.c_str());<br class="">
}<br class="">
<br class="">
int main(int argc, char **argv)<br class="">
{<br class="">
  ros::init(argc, argv, "listener");<br class="">
<br class="">
  ros::NodeHandle n;<br class="">
<br class="">
  ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);<br class="">
<br class="">
  ros::spin();<br class="">
}</div>
</body>
</html>