Comments (8)
I will happily accept your contributions.
from behaviortree.cpp.
I will test for this scenaio, and probably can add a CI check for it. It should be fixed.
from behaviortree.cpp.
I ran into a blocker, sorry. Issue linked above. The decision to use BT::
as the exported namespace for conan builds is not supported yet in ament_export_targets
. ament_export_targets
hard codes the project name as the namespace, which is more common convention.
In order to keep the usage semantics the same (BT::BT::behaviortree_cpp
everywhere), this issue will need to be put on hold till upstream has a recommendation.
If we rushed this in with a different namespace, then you'd have a support/documentation fiasco and downstream portable code would be annoying to write to account for both target names.
ROS users should continue to use ament_target_dependencies
for the time being, despite it not supporting PRIVATE linkage.
I've submitted an PR upstream. Once that goes in, we can revisit this issue.
from behaviortree.cpp.
I found a related problem here that causes linking to fail if there are two installations of this library: one in system (e.g., /opt/ros/{version}
via ros-{version}-behaviortree-cpp
and one cloned in your workspace). Because ament_export_dependencies(ament_index_cpp)
comes before ament_export_include_directories(include)
, the resulting ${behaviortree_cpp_INCLUDE_DIRS}
has /opt/ros/{version}/include
before /path/to/local/install/behaviortree_cpp/include
, so downstream users of the library link to symbols in /opt/ros/{version}/include
instead of /path/to/local/install/behaviortree_cpp/include
.
BehaviorTree.CPP/cmake/ament_build.cmake
Lines 21 to 37 in 789ce6e
Does this get resolved with a move to ament_export_targets
that also removes ament_export_include_directories
, or does it remain? I'm thinking that it fixes it, because the exported target should have /path/to/local/install/behaviortree_cpp/include
before /opt/ros/{version}/include
in its interface include directories, but I'm unsure.
from behaviortree.cpp.
@Ryanf55 if we can fix this the next week, it would be ideal, I want to release 4.6
from behaviortree.cpp.
@Ryanf55 if we can fix this the next week, it would be ideal, I want to release 4.6
Yes. It merged to rolling last week, but CI failed on the iron/humble backport for unrelated reasons. After a re-run, it should be good (in theory). I don't have permissions for a re-run.
from behaviortree.cpp.
Related Issues (20)
- Feature proposal `applySubtreeVisitor()` HOT 1
- Questions about using multithreading in version 3.8
- Re-ordering of ports and node TreeNodesModels in different Groot versions HOT 3
- [4.x] How to Pause and resume the tree? HOT 1
- `Sequence` of one repeated `StatefulActionNode` does not yield sequential execution
- Outdated static_assert error message HOT 2
- Missing a macro-node with an arbitrary number of nodes (parallel loop) HOT 1
- [3.8.6] Undefined symbol: Blackboard.getAny() HOT 2
- Idea: compile-time if-then-else node HOT 2
- Breaking change to ReactiveSequence in minor version v3.8.6 prevents backchaining pattern HOT 9
- Post script executes even when the node is skipped HOT 4
- change signature of registerNodeType to accept StringView HOT 3
- Bind is giving error for using function in registersimplecondition HOT 2
- Unable to link behaviortree_cpp to my CMake Project on Windows - (Missing .lib File) HOT 1
- Error sending information via a blackboard port on an action node HOT 5
- Allow concatenation of string and numbers in scripting HOT 2
- `logic_error` on `BT::BehaviorTreeFactory::registerNodeType()` When Setting `InputPort` `default_value` to `nullptr` After Commit 789ce6ea0ad3627923bd2389b8fb9199ffab6d84 HOT 5
- Tree Execution Error When Setting `InputPort` Value to Empty String with `std::optional<T>` Default Value as `std::nullopt` After Commit 789ce6ea0ad3627923bd2389b8fb9199ffab6d84 HOT 3
- Type checking XML/Cpp HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from behaviortree.cpp.