ros / bond_core Goto Github PK
View Code? Open in Web Editor NEWMaintains a bond (i.e. heart beat ) between ROS nodes and provides feedback when the bond is broken
Home Page: http://www.ros.org/wiki/bond_core
Maintains a bond (i.e. heart beat ) between ROS nodes and provides feedback when the bond is broken
Home Page: http://www.ros.org/wiki/bond_core
Robot Operating System (ROS) =============================================================================== ROS is a meta-operating system for your robot. It provides language-independent and network-transparent communication for a distributed robot control system. Installation Notes ------------------ For full installation instructions, including system prerequisites and platform-specific help, see: http://wiki.ros.org/ROS/Installation
when building from source
running build
running build_py
creating /home/ale/catkin_ws/build_isolated/bondpy/lib
creating /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy
copying python/bondpy/BondSM_sm.py -> /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy
copying python/bondpy/__init__.py -> /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy
copying python/bondpy/bondpy.py -> /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy
running install
running install_lib
creating /opt/ros/lunar/lib64/python3.5/site-packages/bondpy
copying /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy/BondSM_sm.py -> /opt/ros/lunar/lib64/python3.5/site-packages/bondpy
copying /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy/__init__.py -> /opt/ros/lunar/lib64/python3.5/site-packages/bondpy
copying /home/ale/catkin_ws/build_isolated/bondpy/lib/bondpy/bondpy.py -> /opt/ros/lunar/lib64/python3.5/site-packages/bondpy
byte-compiling /opt/ros/lunar/lib64/python3.5/site-packages/bondpy/BondSM_sm.py to BondSM_sm.cpython-35.pyc
byte-compiling /opt/ros/lunar/lib64/python3.5/site-packages/bondpy/__init__.py to __init__.cpython-35.pyc
byte-compiling /opt/ros/lunar/lib64/python3.5/site-packages/bondpy/bondpy.py to bondpy.cpython-35.pyc
running install_egg_info
Writing /opt/ros/lunar/lib64/python3.5/site-packages/bondpy-1.7.19-py3.5.egg-info
File "/opt/ros/lunar/lib64/python3.5/site-packages/bondpy/BondSM_sm.py", line 38
raise statemap.TransitionUndefinedException, msg
^
SyntaxError: invalid syntax
-- Installing: /opt/ros/lunar/lib/pkgconfig/bondpy.pc
-- Installing: /opt/ros/lunar/share/bondpy/cmake/bondpyConfig.cmake
-- Installing: /opt/ros/lunar/share/bondpy/cmake/bondpyConfig-version.cmake
-- Installing: /opt/ros/lunar/share/bondpy/package.xml
<== Finished processing package [153 of 241]: 'bondpy'
In CMakeLists.txt
of bondcpp, there's no mention of UUID_INCLUDE_DIRS
. I've just found out it's a problem on a system without root privileges where I'm compiling ROS from sources and installing some dependencies in non-standard paths. If the libuuid-dev files aren't installed in a default system location, the build process fails to find uuid/uuid.h
, even though the CMake module finds the correct include dir.
Looking in nodelet, UUID_INCLUDE_DIRS
are exported there in catkin_package(INCLUDE ...)
and not used as an include_directory()
. I'm not sure that works, too, because uuid is used there only inside a cpp file and in no header file. The same situation is in bondcpp - I've only found the include inside .cpp files.
So my assumption is adding
include_directories(${UUID_INCLUDE_DIRS})
and not adding UUID_INCLUDE_DIRS
to catkin_package(INCLUDE ...)
should solve the issue. I tested it on my system and it works.
If all my assumptions are correct, uuid should only be marked as <build_depend>
and <exec_depend>
in package.xml.
I'll send a PR with this change so that CI can be run on it, but it'd also be nice if somebody tested it on his system. For the test, I think the following is needed:
dpkg -L libuuid-dev
to a different directoryCMAKE_PREFIX_PATH
set so that cmake finds the moved include dirbond is not robust to forward time jumps, if the time source is updated with a more recent time, every bond breaks (tearing down any process/nodelet relying on it).
Alternatives could be:
I'd lean toward option 3 because it respects the ros time source chosen by the user and should not break in the case of a paused simulated time or the update of the system time on a real system
Hi,
i got one issue line No . 13 " bond.waitUntilBroken(); " in this example for bond, its giving error ambiguity . and not forming Bond also. give me solution as soon as possible.
Toggle line numbers
1 #include <bondcpp/bond.h>
2
3 std::string id = generateUniqueId();
4 // Sends id to B using a service or action
5 bond::Bond bond("example_bond_topic", id);
6 bond.start();
7 if (!bond.waitUntilFormed(ros::Duration(1.0)))
8 {
9 ROS_ERROR("ERROR!");
10 return false;
11 }
12 // ... do things with B ...
# 13 bond.waitUntilBroken();
14 printf("B has broken the bond\n");
Process B:
Toggle line numbers
1 #include <bondcpp/bond.h>
2
3 // Receives id from A using a service or action
4 bond::Bond bond("example_bond_topic", id);
5 bond.start();
6 // ... do things ...
7 bond.breakBond();
I get this error when compiling a piece of code which uses bondcpp with clang. Compile command is as follows:
catkin build -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_BUILD_TYPE=Release
Errors << iarc7_safety:make /home/vasu/Documents/projects/SubT/workspaces/stix_release/ugv/logs/iarc7_safety/build.make.000.log
In file included from /home/vasu/Documents/projects/SubT/workspaces/stix_release/ugv/src/iarc7_safety/src/iarc7_safety/SafetyClient.cpp:13:
In file included from /home/vasu/Documents/projects/SubT/workspaces/stix_release/ugv/src/iarc7_safety/include/iarc7_safety/SafetyClient.hpp:13:
/opt/ros/melodic/include/bondcpp/bond.h:189:1: error: 'BondSM' defined as a struct here but previously declared as a class [-Werror,-Wmismatched-tags]
struct BondSM
^
/opt/ros/melodic/include/bondcpp/BondSM_sm.h:25:1: note: did you mean struct here?
class BondSM;
^~~~~
struct
1 error generated.
make[2]: *** [CMakeFiles/iarc7_safety.dir/src/iarc7_safety/SafetyClient.cpp.o] Error 1
make[1]: *** [CMakeFiles/iarc7_safety.dir/all] Error 2
make: *** [all] Error 2
Direct link to affected code:
bond_core/bondcpp/include/bondcpp/bond.h
Line 189 in 2e9289d
Hi,
It would be great to have this released for ROS2 to use.
At least for the rospy bonds. I haven't looked at the cpp bonds yet.
Relevant Code: the shutdown() method which publishes a message to the sister bond and then promptly unregisters the publisher.
Is there a way that can reliably guarantee that a terminating node can properly shutdown a bond without having to rely on the sister inferring it from a heartbeat that has gone missing?
Seems as though there are two difficulties with this:
publish()
, followed immediately by unregister()
...can this disrupt the sending?shutdown()
from __del__
may, or may not happen before the ros communications have shut down.You could put the bond shutdown function in a rospy shutdown hook, but that is only guaranteed for services, not publishers. So the only way to do this properly is if sister bonds had a service that could accept a one-time request from the bond.
If this is actually not possible to guarantee with the current code, ideas? I wouldn't mind putting some time into a PR for this.
Currently, bond relies on sending ReliabilityPolicy::Reliable
messages periodically, with managed timers, timeouts, etc. In ROS2 over DDS, these sorts of features are actually built into the RMW in a more efficient way, by using Liveliness QoS, and liveliness event callbacks.
That way, if you just want a heartbeat, it is possible even to simply renew your lease duration periodically, and not even actually publish a message at all, if no data needs to be transmitted.
bond
uses quite a lot of DDS bandwidth for the task of keeping multiple nodes alive together.
Since advanced QoS is not used by most ROS2 users, the common middlewares (FastDDS, CycloneDDS) are inconsistent in their implementation of liveliness qos events at the rclcpp
level, from my experience.
@mjcarroll can you create a noetic-devel
branch ?
We need to do some changes according with the migration guide http://wiki.ros.org/noetic/Migration
I created this PR but it was targeting kinetic #59
Bond::setCallbackQueue is setting the callback queue for only the Bond::bondStatusCB thread while the heartbeat_timer_ still uses the node's global callbackqueue. This disparity seems odd. This means that we don't know in which thread the bond broken callback function will execute.
If the other process breaks the bond explicitly, bondStatusCB will trigger the bond broken callback in the callbackqueue set from Bond::setCallbackQueue()
On the other hand, if there is a heartbeat timeout, then the bond broken callback is executed in the global queue.
This indeterministic behaviour is impossible for a programmer that wishes his broken callback queue to execute consistently in a specified thread.
IANAL and I'm not entirely sure if the following concern is valid.
bondcpp
statically links to uuid, and bond.cpp
includes a header uuid.h.
On Ubuntu rosdep key uuid references to uuid-dev. Content of /usr/share/doc/uuid-dev/copyright
shows large part of the package is licensed GPL-2+. I haven't found uuid-dev's repo nor website, but package info on debian.org also lists the similar copyright file with GPL-2+.
Ins't bondcpp considered to be a derived work, and doesn't GPL force the derived work to be declared as GPL?
Right now Indigo and Jade are at 1.7.16 and Kinetic is at 1.7.17. Given how low-impact the changes were, maybe best to keep them all together?
Originally posted at http://answers.ros.org/question/194158/bondcpp-fails-on-osx/?answer=194299#post-id-194299
I tried the solution from the tutorial. But doesn't work.
Result:
Built target roscpp_generate_messages_cpp
Linking CXX shared library /Users/tiberio/ros_catkin_ws/devel_isolated/bondcpp/lib/libbondcpp.dylib
ld: library not found for -luuid
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/tiberio/ros_catkin_ws/devel_isolated/bondcpp/lib/libbondcpp.dylib] Error 1
make[1]: *** [CMakeFiles/bondcpp.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'bondcpp':
Command '/Users/tiberio/ros_catkin_ws/install_isolated/env.sh make -j8 -l8' returned non-zero exit status 2
Reproduce this error by running:
==> cd /Users/tiberio/ros_catkin_ws/build_isolated/bondcpp && /Users/tiberio/ros_catkin_ws/install_isolated/env.sh make -j8 -l8
Command failed, exiting.
I also did a run with VERBOSE=1
, but the output is enormous, I'm not sure if I should post here. Anyway, it is in the original question link.
Apparently bondcpp
or who ever is originally finding uuid is either not passing along the library directory or not converting the relative library (-L/usr/local/Cellar/uuid/1.6.2/lib -luuid
) into an absolute library (maybe /usr/local/Cellar/uuid/1.6.2/lib/libuuid.dylib
).
The Bond destructor constructs a TimerBase:
0# rclcpp::TimerBase::TimerBase(std::shared_ptr<rclcpp::Clock>, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::shared_ptr<rclcpp::Context>) in /home/mbryan/Projects/ros/ros2_rolling/install/rclcpp/lib/librclcpp.so
1# bond::Bond::deadpublishingTimerReset() in /opt/ros/rolling/lib/libbondcpp.so
2# SM_Alive::Die(BondSMContext&) in /opt/ros/rolling/lib/libbondcpp.so
3# bond::Bond::breakBond() in /opt/ros/rolling/lib/libbondcpp.so
4# bond::Bond::~Bond() in /opt/ros/rolling/lib/libbondcpp.so
5# nav2_util::LifecycleNode::~LifecycleNode() in /home/mbryan/Projects/ros/navigation2/install/nav2_util/lib/libnav2_util_core.so
6# behavior_server::BehaviorServer::~BehaviorServer() in /home/mbryan/Projects/ros/navigation2/install/nav2_behaviors/lib/libbehavior_server_core.so
7# std::_Sp_counted_ptr_inplace<behavior_server::BehaviorServer, std::allocator<behavior_server::BehaviorServer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() in /home/mbryan/Projects/ros/navigation2/install/nav2_behaviors/lib/nav2_behaviors/behavior_server
8# std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() in /home/mbryan/Projects/ros/navigation2/install/nav2_behaviors/lib/nav2_behaviors/behavior_server
9# 0x000055F5FE8BB964 in /home/mbryan/Projects/ros/navigation2/install/nav2_behaviors/lib/nav2_behaviors/behavior_server
10# 0x00007FA05CCD9D90 in /lib/x86_64-linux-gnu/libc.so.6
11# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
12# 0x000055F5FE8BBA35 in /home/mbryan/Projects/ros/navigation2/install/nav2_behaviors/lib/nav2_behaviors/behavior_server
Unfortunately this means that we hit exceptions if destruction happens after rclcpp::shutdown is called. Basically this exception translates to "why are you trying to make timer stuff after shutdown?"
[43.062857] (nav2_system_tests) StdoutLine: {'line': b'9: [behavior_server-10] [INFO] [1673598507.589703428] [behavior_server]: Destroying\n'}
[43.062996] (nav2_system_tests) StdoutLine: {'line': b"9: [behavior_server-10] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'\n"}
[43.063104] (nav2_system_tests) StdoutLine: {'line': b"9: [behavior_server-10] what(): Couldn't initialize rcl timer handle: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at ./src/rcl/guard_condition.c:67\n"}
Construction for the purpose of doing some operation in a destruction path is not insane per se, but this particular one is requiring us to get careful with shutdown callbacks blah blah in the Nav2 code. It would be good to avoid it if possible.
I don't see deadpublishingTimerReset in today's code base, so I'm not sure what versions of libbond this may affect. Having said that: this is affecting today's Nav2 system tests. Not sure what version those CI rigs are running... The version in the stack above is from the Ubuntu 22.04 repository I believe.
Filed per request of Steve Macenski (who I can't tag for some reason).
Currently trying to get bondcpp working:
This is my main:
int main(int argc, char **argv)
{
rclcpp::init(argc, argv);
rclcpp::executors::SingleThreadedExecutor exec;
auto robot_bond = std::make_shared<RobotBond>();
auto pickplace = std::make_shared<PickPlaceDemo>(robot_bond);
exec.add_node(robot_bond->get_node_base_interface());
exec.add_node(pickplace);
exec.spin();
rclcpp::shutdown();
return 0;
}
In the constructor of PickPlace demo I call robot_bond->startBond()
.
This is my Bond class
RobotBond::RobotBond()
: rclcpp_lifecycle::LifecycleNode("bond_node_client")
{
}
void RobotBond::startBond(){
if (client_bond_ && !client_bond_->isBroken()) // skip starting if already bonded
return;
RCLCPP_INFO_STREAM(rclcpp::get_logger("tm_ros"),"[TM Bonding]: starting bonding node.");
client_bond_ = std::unique_ptr<bond::Bond>(new bond::Bond("/tm_driver_bond", this->get_name(),
this->shared_from_this(),
std::bind(&RobotBond::onClientBoundBrokenCallback, this),
std::bind(&RobotBond::onClientBoundFormedCallback, this)
));
client_bond_->setHeartbeatPeriod(0.5);
client_bond_->setHeartbeatTimeout(1);
client_bond_->start();
RCLCPP_INFO_STREAM(rclcpp::get_logger("tm_ros"),"[TM Bonding]: bonding node has started");
}
void RobotBond::onClientBoundFormedCallback(){
RCLCPP_INFO_STREAM(rclcpp::get_logger("tm_ros"),"[TM Bonding]: bond to client established.");
}
void RobotBond::onClientBoundBrokenCallback(){
}
The exception I am getting:
terminate called after throwing an instance of 'statemap::TransitionUndefinedException'
what(): no such transition in current state
The error is thrown by the smclib
, I'm not really understanding why. I guess the BondSM
is not correctly set when instantiating the class. Please advice on solving this problem.
Maybe we should think about renaming these functions to something less dark... Isn't it also more of a TimeOut instead of certain death?
The example below demonstrates the problem. Running this as a node and cancelling (ctrl+c) it before the duration of wait_until_formed
is over results in the terminal hanging for the specified duration. In the case where the duration passes and the node waits on ros to shutdown before continuing, cancelling execution causes the terminal to be available immediately. If instead the cancellation is sent before the duration is up, subsequent code will execute and the node will be destroyed (i.e. not visible with rosnode list
), but the terminal will still be occupied.
#!/usr/bin/env python
from bondpy import bondpy
import rospy
if __name__ == '__main__':
rospy.init_node('timeout_test')
bond = bondpy.Bond("bondtopic", "identifier")
bond.start()
bond.wait_until_formed(rospy.Duration(45))
print("finished waiting")
loop = rospy.Rate(1)
while not rospy.is_shutdown():
print("spinning")
loop.sleep()
print("breaking")
bond.break_bond()
bond.shutdown()
print("past broken")
This is my first time trying to use this package. I ran into these errors when trying to build bond_core on kinetic-devel branch (not sure how to paste the error. Let me know and I can edit this to conform with github rules):
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:30:0:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:58:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer timer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:59:8: error: ‘SteadyTime’ in namespace ‘ros’ does not name a type
ros::SteadyTime deadline_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:63:33: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void timerCallback(const ros::SteadyTimerEvent &e);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In destructor ‘bond::Timeout::~Timeout()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:50:3: error: ‘timer_’ was not declared in this scope
timer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In member function ‘void bond::Timeout::reset()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:66:3: error: ‘timer_’ was not declared in this scope
timer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:67:16: error: ‘class ros::NodeHandle’ has no member named ‘createSteadyTimer’
timer_ = nh_.createSteadyTimer(duration_, &Timeout::timerCallback, this, true
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:68:3: error: ‘deadline_’ was not declared in this scope
deadline_ = ros::SteadyTime::now() + duration_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:68:20: error: ‘ros::SteadyTime’ has not been declared
deadline_ = ros::SteadyTime::now() + duration_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In member function ‘void bond::Timeout::cancel()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:73:3: error: ‘timer_’ was not declared in this scope
timer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In member function ‘ros::WallDuration bond::Timeout::left()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:78:43: error: ‘deadline_’ was not declared in this scope
return std::max(ros::WallDuration(0.0), deadline_ - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:78:60: error: ‘ros::SteadyTime’ has not been declared
return std::max(ros::WallDuration(0.0), deadline_ - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: At global scope:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:81:40: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void Timeout::timerCallback(const ros::SteadyTimerEvent &)
^
bond_core/bondcpp/CMakeFiles/bondcpp.dir/build.make:62: recipe for target 'bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/timeout.cpp.o' failed
make[2]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/timeout.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:41:0,
from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:32:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:58:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer timer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:59:8: error: ‘SteadyTime’ in namespace ‘ros’ does not name a type
ros::SteadyTime deadline_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:63:33: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void timerCallback(const ros::SteadyTimerEvent &e);
^
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:41:0,
from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:58:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer timer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:59:8: error: ‘SteadyTime’ in namespace ‘ros’ does not name a type
ros::SteadyTime deadline_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:63:33: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void timerCallback(const ros::SteadyTimerEvent &e);
^
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:32:0:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:170:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer publishingTimer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:178:32: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void doPublishing(const ros::SteadyTimerEvent &e);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In destructor ‘bond::Bond::~Bond()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:110:3: error: ‘publishingTimer_’ was not declared in this scope
publishingTimer_.stop();
^
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:0:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:170:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer publishingTimer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:178:32: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void doPublishing(const ros::SteadyTimerEvent &e);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘void bond::Bond::start()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:181:3: error: ‘publishingTimer_’ was not declared in this scope
publishingTimer_ = nh_.createSteadyTimer(
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:181:26: error: ‘class ros::NodeHandle’ has no member named ‘createSteadyTimer’
publishingTimer_ = nh_.createSteadyTimer(
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘bool bond::Bond::waitUntilFormed(ros::WallDuration)’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:205:3: error: ‘SteadyTime’ is not a member of ‘ros’
ros::SteadyTime deadline(ros::SteadyTime::now() + timeout);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:214:39: error: ‘deadline’ was not declared in this scope
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:214:55: error: ‘ros::SteadyTime’ has not been declared
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘bool bond::Bond::waitUntilBroken(ros::WallDuration)’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:233:3: error: ‘SteadyTime’ is not a member of ‘ros’
ros::SteadyTime deadline(ros::SteadyTime::now() + timeout);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:242:39: error: ‘deadline’ was not declared in this scope
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:242:55: error: ‘ros::SteadyTime’ has not been declared
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: At global scope:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:340:36: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void Bond::doPublishing(const ros::SteadyTimerEvent &)
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘void bond::Bond::doPublishing(const int&)’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:349:5: error: ‘publishingTimer_’ was not declared in this scope
publishingTimer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘void BondSM::StartDying()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:416:6: error: ‘class bond::Bond’ has no member named ‘publishingTimer_’
b->publishingTimer_.setPeriod(ros::WallDuration(bond::Constants::DEAD_PUBLISH_PERIOD));
^
bond_core/bondcpp/CMakeFiles/bondcpp.dir/build.make:110: recipe for target 'bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/BondSM_sm.cpp.o' failed
make[2]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/BondSM_sm.cpp.o] Error 1
bond_core/bondcpp/CMakeFiles/bondcpp.dir/build.make:86: recipe for target 'bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/bond.cpp.o' failed
make[2]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/bond.cpp.o] Error 1
CMakeFiles/Makefile2:1521: recipe for target 'bond_core/bondcpp/CMakeFiles/bondcpp.dir/all' failed
make[1]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
mobilerobot@intern187:~/hamster_ws$ catkin_make > ./err_log.txt
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:30:0:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:58:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer timer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:59:8: error: ‘SteadyTime’ in namespace ‘ros’ does not name a type
ros::SteadyTime deadline_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:63:33: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void timerCallback(const ros::SteadyTimerEvent &e);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In destructor ‘bond::Timeout::~Timeout()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:50:3: error: ‘timer_’ was not declared in this scope
timer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In member function ‘void bond::Timeout::reset()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:66:3: error: ‘timer_’ was not declared in this scope
timer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:67:16: error: ‘class ros::NodeHandle’ has no member named ‘createSteadyTimer’
timer_ = nh_.createSteadyTimer(duration_, &Timeout::timerCallback, this, true);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:68:3: error: ‘deadline_’ was not declared in this scope
deadline_ = ros::SteadyTime::now() + duration_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:68:20: error: ‘ros::SteadyTime’ has not been declared
deadline_ = ros::SteadyTime::now() + duration_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In member function ‘void bond::Timeout::cancel()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:73:3: error: ‘timer_’ was not declared in this scope
timer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: In member function ‘ros::WallDuration bond::Timeout::left()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:78:43: error: ‘deadline_’ was not declared in this scope
return std::max(ros::WallDuration(0.0), deadline_ - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:78:60: error: ‘ros::SteadyTime’ has not been declared
return std::max(ros::WallDuration(0.0), deadline_ - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp: At global scope:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/timeout.cpp:81:40: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void Timeout::timerCallback(const ros::SteadyTimerEvent &)
^
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:41:0,
from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:32:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:58:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer timer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:59:8: error: ‘SteadyTime’ in namespace ‘ros’ does not name a type
ros::SteadyTime deadline_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:63:33: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void timerCallback(const ros::SteadyTimerEvent &e);
^
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:32:0:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:170:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer publishingTimer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:178:32: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void doPublishing(const ros::SteadyTimerEvent &e);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In destructor ‘bond::Bond::~Bond()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:110:3: error: ‘publishingTimer_’ was not declared in this scope
publishingTimer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘void bond::Bond::start()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:181:3: error: ‘publishingTimer_’ was not declared in this scope
publishingTimer_ = nh_.createSteadyTimer(
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:181:26: error: ‘class ros::NodeHandle’ has no member named ‘createSteadyTimer’
publishingTimer_ = nh_.createSteadyTimer(
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘bool bond::Bond::waitUntilFormed(ros::WallDuration)’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:205:3: error: ‘SteadyTime’ is not a member of ‘ros’
ros::SteadyTime deadline(ros::SteadyTime::now() + timeout);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:214:39: error: ‘deadline’ was not declared in this scope
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:214:55: error: ‘ros::SteadyTime’ has not been declared
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘bool bond::Bond::waitUntilBroken(ros::WallDuration)’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:233:3: error: ‘SteadyTime’ is not a member of ‘ros’
ros::SteadyTime deadline(ros::SteadyTime::now() + timeout);
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:242:39: error: ‘deadline’ was not declared in this scope
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:242:55: error: ‘ros::SteadyTime’ has not been declared
wait_time = std::min(wait_time, deadline - ros::SteadyTime::now());
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: At global scope:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:340:36: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void Bond::doPublishing(const ros::SteadyTimerEvent &)
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘void bond::Bond::doPublishing(const int&)’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:349:5: error: ‘publishingTimer_’ was not declared in this scope
publishingTimer_.stop();
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp: In member function ‘void BondSM::StartDying()’:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/bond.cpp:416:6: error: ‘class bond::Bond’ has no member named ‘publishingTimer_’
b->publishingTimer_.setPeriod(ros::WallDuration(bond::Constants::DEAD_PUBLISH_PERIOD));
^
make[2]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/timeout.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:41:0,
from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:58:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer timer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:59:8: error: ‘SteadyTime’ in namespace ‘ros’ does not name a type
ros::SteadyTime deadline_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/timeout.h:63:33: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void timerCallback(const ros::SteadyTimerEvent &e);
^
In file included from /home/mobilerobot/hamster_ws/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:0:
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:170:8: error: ‘SteadyTimer’ in namespace ‘ros’ does not name a type
ros::SteadyTimer publishingTimer_;
^
/home/mobilerobot/hamster_ws/src/bond_core/bondcpp/include/bondcpp/bond.h:178:32: error: ‘SteadyTimerEvent’ in namespace ‘ros’ does not name a type
void doPublishing(const ros::SteadyTimerEvent &e);
^
make[2]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/BondSM_sm.cpp.o] Error 1
make[2]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/src/bond.cpp.o] Error 1
make[1]: *** [bond_core/bondcpp/CMakeFiles/bondcpp.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
Thank you for your work on migrating bondpy
to ROS2!
I am currently using bondpy
to create a Python lifecycle node as part of my development with the nav2 lifecycle manager. While the bond is formed successfully using bondpy
, I encountered an issue where the node quickly dies due to a heartbeat timeout. After investigation, I discovered that bondpy
fails to respond to all bond_status
messages published by the lifecycle manager at high speed.
To resolve this issue, I referred to the implementation of bondcpp and increased the message buffer size from 1 to 100 in bondpy
as follows:
def start(self):
with self.lock:
self.connect_timer.reset()
self.sub = self.node.create_subscription(Status, self.topic, self._on_bond_status, 100)
self.thread = threading.Thread(target=self._publishing_thread)
self.thread.daemon = True
self.thread.start()
self.__started = True
If this modification does not lead to any potential errors, I would appreciate it if it could be included in an update to bondpy
.
Hi,
In my efforts to make navigation have some heartbeats I found a particular issue that plagues both ROS1 and ROS2 that would only show up when:
The default state on bring up is WaitingForSister, which does not have a heartbeat timeout override (https://github.com/ros/bond_core/blob/kinetic-devel/bondcpp/src/BondSM_sm.cpp#L63-L147). Because of this, when the heartbeat timeout is triggered, it will call Default()
and throw an exception (and probably crash). This is even though the Connection timeout hasn't yet been triggered because by default its set to 10 seconds, larger than the heartbeat timeout. That means in the case that it takes greater than the heartbeat timeout duration to connect, your liable to crash even though there's valid time left to connect via that timeout.
The 2 solutions without modifying bond are:
I think we need to fix bond in ROS1/ROS2 to deal with this bring up issue better. I think the waiting for sister state needs a valid heartbeat timeout override that won't throw an exception and won't do anything until after connection timeout or the first active status message is received.
It seems that because of line 309 in bond.cpp, it is not possible to re-form a bond after a node on one end died and was revived. The use case story is as follows:
waitUntilFormed
callMore than two locations are trying to use a single bond...
errorIs this intentional in the bond package? It means that, when the bond is broken, what A should do in the above use case is delete the old bond and create a new, identical ("fresh") one and use that with waitUntilFormed
.
Below you will see a lengthy error output. Do I do something wrong?
Thanks
Jens
==> Processing catkin package: 'bondcpp'
==> Creating build directory: 'build_isolated/bondcpp'
==> Building with env: '/Users/jensi/ros_catkin_ws3/install_isolated/env.sh'
==> cmake /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp -DCATKIN_DEVEL_PREFIX=/Users/jensi/ros_catkin_ws3/devel_isolated/bondcpp -DCMAKE_INSTALL_PREFIX=/Users/jensi/ros_catkin_ws3/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_CXX_STANDARD=14 -DCMAKE_INSTALL_RPATH=/Users/jensi/ros_catkin_ws/install_isolated/lib -G Unix Makefiles in '/Users/jensi/ros_catkin_ws3/build_isolated/bondcpp'
-- The C compiler identification is AppleClang 11.0.0.11000033
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/local/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0")
-- Using CATKIN_DEVEL_PREFIX: /Users/jensi/ros_catkin_ws3/devel_isolated/bondcpp
-- Using CMAKE_PREFIX_PATH: /Users/jensi/ros_catkin_ws3/install_isolated
-- This workspace overlays: /Users/jensi/ros_catkin_ws3/install_isolated
-- Found PythonInterp: /usr/local/bin/python3 (found suitable version "3.7.6", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/local/bin/python3
-- Using default Python package layout
-- Found PY_em: /usr/local/lib/python3.7/site-packages/em.py
-- Using empy: /usr/local/lib/python3.7/site-packages/em.py
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /Users/jensi/ros_catkin_ws3/build_isolated/bondcpp/test_results
-- Found gtest: gtests will be built
-- nosetests not found, Python tests can not be run (try installing package 'python3-nose')
-- catkin 0.7.20
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/jensi/ros_catkin_ws3/build_isolated/bondcpp
==> make -j8 -l8 in '/Users/jensi/ros_catkin_ws3/build_isolated/bondcpp'
Scanning dependencies of target std_msgs_generate_messages_nodejs
Scanning dependencies of target roscpp_generate_messages_eus
Scanning dependencies of target rosgraph_msgs_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_nodejs
Scanning dependencies of target rosgraph_msgs_generate_messages_cpp
Scanning dependencies of target rosgraph_msgs_generate_messages_nodejs
[ 0%] Built target roscpp_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_nodejs
[ 0%] Built target roscpp_generate_messages_nodejs
[ 0%] Built target rosgraph_msgs_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_py
[ 0%] Built target rosgraph_msgs_generate_messages_nodejs
Scanning dependencies of target std_msgs_generate_messages_cpp
Scanning dependencies of target rosgraph_msgs_generate_messages_eus
Scanning dependencies of target rosgraph_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_eus
Scanning dependencies of target std_msgs_generate_messages_lisp
[ 0%] Built target rosgraph_msgs_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_eus
Scanning dependencies of target bond_generate_messages_py
Scanning dependencies of target bond_generate_messages_nodejs
Scanning dependencies of target bond_generate_messages_lisp
Scanning dependencies of target roscpp_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_cpp
Scanning dependencies of target bond_generate_messages_eus
[ 0%] Built target bond_generate_messages_lisp
[ 0%] Built target bond_generate_messages_py
[ 0%] Built target bond_generate_messages_nodejs
[ 0%] Built target roscpp_generate_messages_py
[ 0%] Built target roscpp_generate_messages_cpp
[ 0%] Built target bond_generate_messages_eus
Scanning dependencies of target roscpp_generate_messages_lisp
Scanning dependencies of target bond_generate_messages_cpp
[ 0%] Built target bond_generate_messages_cpp
[ 0%] Built target roscpp_generate_messages_lisp
Scanning dependencies of target bondcpp
[ 25%] Building CXX object CMakeFiles/bondcpp.dir/src/timeout.cpp.o
[ 50%] Building CXX object CMakeFiles/bondcpp.dir/src/bond.cpp.o
[ 75%] Building CXX object CMakeFiles/bondcpp.dir/src/BondSM_sm.cpp.o
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:642:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:79:9: error: no member named
'strcoll' in the global namespace; did you mean 'strtoll'?
using ::strcoll;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdlib.h:172:3: note: 'strtoll'
declared here
strtoll(const char *__str, char **__endptr, int __base);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:642:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:80:9: error: no member named
'strxfrm' in the global namespace
using ::strxfrm;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:81:9: error: no member named
'memchr' in the global namespace
using ::memchr;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:83:9: error: no member named
'strcspn' in the global namespace
using ::strcspn;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:84:9: error: no member named
'strpbrk' in the global namespace
using ::strpbrk;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:85:9: error: no member named
'strrchr' in the global namespace; did you mean 'strchr'?
using ::strrchr;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:86:18: note:
'strchr' declared here
extern char *strchr(const char *s, int c);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:642:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:86:9: error: no member named
'strspn' in the global namespace
using ::strspn;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:87:9: error: no member named
'strstr' in the global namespace; did you mean 'strnstr'?
using ::strstr;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:85:18: note:
'strnstr' declared here
extern char *strnstr(char *s, const char *find, size_t slen);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:642:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:89:9: error: no member named
'strtok' in the global namespace
using ::strtok;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:92:9: error: no member named
'strerror' in the global namespace
using ::strerror;
~~^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:643:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:979:5: error: no member named
'__builtin___memcpy_chk' in namespace 'std'; did you mean simply '__builtin___memcpy_chk'?
std::memcpy(&__r, __p, sizeof(__r));
^~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:79:9: error: no member named
'strcoll' in the global namespace; did you mean 'strtoll'?
using ::strcoll;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdlib.h:172:3: note: 'strtoll'
declared here
strtoll(const char *__str, char **__endptr, int __base);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:79:9: error: no member named
'strcoll' in the global namespace; did you mean 'strtoll'?
using ::strcoll;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdlib.h:172:3: note: 'strtoll'
declared here
strtoll(const char *__str, char **__endptr, int __base);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:80:9: error: no member named
'strxfrm' in the global namespace
using ::strxfrm;
~~^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:80:9: error: no member named
'strxfrm' in the global namespace
using ::strxfrm;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:81:9: error: no member named
'memchr' in the global namespace
using ::memchr;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:81:9: error: no member named
'memchr' in the global namespace
using ::memchr;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:83:9: error: no member named
'strcspn' in the global namespace
using ::strcspn;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:83:9: error: no member named
'strcspn' in the global namespace
using ::strcspn;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:84:9: error: no member named
'strpbrk' in the global namespace
using ::strpbrk;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:84:9: error: no member named
'strpbrk' in the global namespace
using ::strpbrk;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:85:9: error: no member named
'strrchr' in the global namespace; did you mean 'strchr'?
using ::strrchr;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:86:18: note:
'strchr' declared here
extern char *strchr(const char *s, int c);
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:85:9: error: no member named
'strrchr' in the global namespace; did you mean 'strchr'?
using ::strrchr;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:86:18: note:
'strchr' declared here
extern char *strchr(const char *s, int c);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:86:9: error: no member named
'strspn' in the global namespace
using ::strspn;
~~^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:86:9: error: no member named
'strspn' in the global namespace
using ::strspn;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:87:9: error: no member named
'strstr' in the global namespace; did you mean 'strnstr'?
using ::strstr;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:85:18: note:
'strnstr' declared here
extern char *strnstr(char *s, const char *find, size_t slen);
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:87:9: error: no member named
'strstr' in the global namespace; did you mean 'strnstr'?
using ::strstr;
~~^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:85:18: note:
'strnstr' declared here
extern char *strnstr(char *s, const char *find, size_t slen);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:89:9: error: no member named
'strtok' in the global namespace
using ::strtok;
~~^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:204:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:89:9: error: no member named
'strtok' in the global namespace
using ::strtok;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:92:9: error: no member named
'strerror' in the global namespace
using ::strerror;
~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:92:9: error: no member named
'strerror' in the global namespace
using ::strerror;
~~^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:979:5: error: no member named
'__builtin___memcpy_chk' in namespace 'std'; did you mean simply '__builtin___memcpy_chk'?
std::memcpy(&__r, __p, sizeof(__r));
^~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:658:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:979:5: error: no member named
'__builtin___memcpy_chk' in namespace 'std'; did you mean simply '__builtin___memcpy_chk'?
std::memcpy(&__r, __p, sizeof(__r));
^~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:644:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1634:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(__begin2, __begin1, _Np * sizeof(_Tp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:644:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1667:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(const_cast<_RawDestTp*>(__begin2), __begin1, _Np * sizeof(_DestTp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:644:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1700:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1634:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(__begin2, __begin1, _Np * sizeof(_Tp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1634:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(__begin2, __begin1, _Np * sizeof(_Tp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1667:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(const_cast<_RawDestTp*>(__begin2), __begin1, _Np * sizeof(_DestTp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1667:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(const_cast<_RawDestTp*>(__begin2), __begin1, _Np * sizeof(_DestTp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1700:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:35:
In file included from /usr/local/include/boost/scoped_ptr.hpp:13:
In file included from /usr/local/include/boost/smart_ptr/scoped_ptr.hpp:22:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1700:17: error: no member named
'__builtin___memcpy_chk' in namespace 'std::__1'; did you mean simply '__builtin___memcpy_chk'?
_VSTD::memcpy(__end2, __begin1, _Np * sizeof(_Tp));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:107:9: note:
'__builtin___memcpy_chk' declared here
return __builtin___memcpy_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1652:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1690:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1791:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:53:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/platform.h:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1829:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from /usr/local/include/boost/thread/exceptions.hpp:20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1652:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config::8873:
:In file included from 15/Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:: 36:
noteIn file included from : /usr/local/include/boost/thread/mutex.hpp:16expanded:
In file included from from/usr/local/include/boost/thread/pthread/mutex.hpp
: 14macro:
In file included from '_VSTD'/usr/local/include/boost/thread/exceptions.hpp:
20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1652:9: error: #define _VSTD std::_LIBCPP_ABI_NAMESPACE
no ^
member named
'__builtin___memmove_chk' in namespace 'std::__1';/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h :did112 :you9 :mean simply note'__builtin___memmove_chk'?:
'__builtin___memmove_chk' declared here
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^~~~~~~
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from /usr/local/include/boost/thread/exceptions.hpp:20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1690:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14 _VSTD::memmove(__result, __first, __n * sizeof(_Up));:
In file included from /usr/local/include/boost/thread/exceptions.hpp ^~~~~~~:
20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config176::
873In file included from :/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string15::57 :
note/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm: :1690expanded: 9from:
macro error'_VSTD':
no member named
'__builtin___memmove_chk' in namespace #define _VSTD std::_LIBCPP_ABI_NAMESPACE'std::__1';
did ^
you mean simply '__builtin___memmove_chk'?
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config: return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));873
:15 ^:
note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from /usr/local/include/boost/thread/exceptions.hpp:20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1791:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from /usr/local/include/boost/thread/exceptions.hpp:20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1791:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from /usr/local/include/boost/thread/exceptions.hpp:20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1829:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp:32:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from /usr/local/include/boost/thread/exceptions.hpp:20:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:1829:9: error: no member named
'__builtin___memmove_chk' in namespace 'std::__1'; did you mean simply '__builtin___memmove_chk'?
_VSTD::memmove(__result, __first, __n * sizeof(_Up));
^~~~~~~
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__config:873:15: note: expanded from
macro '_VSTD'
#define _VSTD std::_LIBCPP_ABI_NAMESPACE
^
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Headers/string.h:112:9: note:
'__builtin___memmove_chk' declared here
return __builtin___memmove_chk(dest, src, len, XNU_BOS(dest, 0));
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/timeout.cpp:30:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/timeout.h:33:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/ros.h:38:
In file included from /Users/jensi/ros_catkin_ws3/install_isolated/include/ros/time.h:54:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iostream:38:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ios:216:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__locale:18:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/mutex:191:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_base:17:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__threading_support:375:44: error: use of
undeclared identifier 'errno'
while (nanosleep(&__ts, &__ts) == -1 && errno == EINTR);
^
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/BondSM_sm.cpp:8:
In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h:36:
In file included from /usr/local/include/boost/thread/mutex.hpp:16:
In file included from /usr/local/include/boost/thread/pthread/mutex.hpp:14:
In file included from In file included from /Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/src/bond.cpp/usr/local/include/boost/thread/exceptions.hpp::2232:
:
In file included from In file included from /usr/local/include/boost/system/system_error.hpp/Users/jensi/ros_catkin_ws3/src/bond_core/bondcpp/include/bondcpp/bond.h::1136:
:
In file included from In file included from /usr/local/include/boost/system/error_code.hpp/usr/local/include/boost/thread/mutex.hpp::1716:
:
In file included from In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ostream/usr/local/include/boost/thread/pthread/mutex.hpp::13814:
:
In file included from In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ios:/usr/local/include/boost/thread/exceptions.hpp:21622:
:
In file included from In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__locale/usr/local/include/boost/system/system_error.hpp::1811:
:
In file included from In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/mutex/usr/local/include/boost/system/error_code.hpp::19117:
:
In file included from In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_base/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ostream::17138:
:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/ios:/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__threading_support216::
375In file included from :/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__locale44::18 :
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/mutexerror:: 191:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__mutex_baseuse: 17of:
undeclared/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__threading_support :identifier375 :'errno'44:
error: use of
undeclared identifier 'errno'
while (nanosleep(&__ts, &__ts) == -1 && errno == EINTR);
^
while (nanosleep(&__ts, &__ts) == -1 && errno == EINTR);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/bondcpp.dir/src/timeout.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
20 errors generated.
20 errors generated.
make[2]: *** [CMakeFiles/bondcpp.dir/src/bond.cpp.o] Error 1
make[2]: *** [CMakeFiles/bondcpp.dir/src/BondSM_sm.cpp.o] Error 1
make[1]: *** [CMakeFiles/bondcpp.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'bondcpp':
Command '['/Users/jensi/ros_catkin_ws3/install_isolated/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2.
queue_size is recommended for Publishers from indigo. I wish bondpy would give me any syntax warning. I couldn't create a PR since it is only branch which would influence groovy, hydro, and indigo all of them..
Related discussions : http://ros-users.122217.n3.nabble.com/RFC-warning-for-lacking-queue-size-for-python-publishers-in-Indigo-tt4020772.html
Related PR : ros/ros_comm#372
While building the Nav2 package on a Win10x64 for Ros2 Humble I downloaded bond_core ROS2 branch and received the following error message from VS2019
CMake Error at C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
Call Stack (most recent call first):
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/FindPkgConfig.cmake:70 (find_package_handle_standard_args)
CMakeLists.txt:19 (find_package)
This seems similar to one of the comments in issue #69 by @SteveMacenski
Any help would be appreciated.
ROS 2 Colcon Build not working.
It is getting stuck with broncpp givint out this error at the beginning: error: ‘from_nanoseconds’ is not a member of ‘rclcpp::Duration’
Please help :)
If you try to wait for a bond to be formed for more than 10 seconds it returns true leading to believe a bond has been established.
How to reproduce
ros::init(argc, argv, "ProcessA", true);
ros::AsyncSpinner spinner(1);
spinner.start();
bond::Bond bond("example_bond_topic", "myBondId123456");
printf("A starting bond\n");
bond.start();
printf("A waiting for bond to be formed\n");
if (!bond.waitUntilFormed(ros::Duration(15.0))) {
ROS_ERROR("ERROR!");
return false;
}
else {
ROS_INFO("a bond has been established right?");
}
The return value should be fixed and the documentation improved to mention the ConnectTimeout limit for waiting
While building the package, "ros2" branch with ros2-foxy, the compiler complains that:
‘from_nanoseconds’ is not a member of ‘rclcpp::Duration’
Hi,
We have ported Bond package in ros2, and want to share this development.
https://discourse.ros.org/t/migration-of-bond-core-package/6399
Thanks,
Kishor
Hi,
I'm working on adding bond to nav2 and running into a consistent issue I think is a result of the ROS2 port fundamentally not working (or I'm really missing something).
I'm able to connect bond servers together and test the connection. But after the 4 second default heartbeat timeout, the heartbeat timeout always triggers so it can't be relied on stably. I made some printouts on both sides of the bond connection to make sure they are indeed publishing active heartbeats at 4x the heartbeat timeout rate.
But every time the servers triggers a failed heartbeat connection.
I think bondcpp is broken or something really weird happening at least with default settings. I think it has to do with the ROS1 to ROS2 port trying to use new ROS2 tools and ended up messing up a bit.
Take particular attention at the heartbeat items in ROS2 & the ROS1 versions. I see the Heartbeat()
method being triggered by the state machine every time we have a new message from the bond status callback (it calls SisterAlive() which in turns calls Heartbeat() in the state machine). In Heartbeat()
for ROS1 it resets the timer without triggering the heartbeat timeout callback but in this one for ROS2, it sets a flag and resets the timer which calls it and triggers the timeout procedure to bring things down, which then promises that every timeout period, we always trigger heartbeat failures any time we receive bond statuses from the other server. It is supposed to, I believe, instead reset the timeout clock without triggering the callback as it did in ROS1 to reset the heartbeat as valid when we get a new active one.
I think the timeout.cpp from ROS1 is not equivalent to the timer reset / cancel functions added. As a result, I think BondCpp in ROS2 is non-operable. I'd really appreciate if someone can sanity check me. As a result, I think at least heartbeats aren't properly working, but further I think none of bond for ROS2 is actually working (though I'm narrowly looking at Heartbeats right now) if all of the timer reset flags / timers aren't equatable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.