Skip to content

Linking problem with ROS2 Foxy deb package #299

Closed
@macale-fitech

Description

@macale-fitech

Greetings,

I was debugging a problem of undefined linking references to BT in my ROS2 Foxy project, where I tried to use ros-foxy-behaviortree-cpp-v3 from the official ROS2 apt repository for Ubuntu 20.04 ( http://packages.ros.org/ros2/ubuntu/dists/focal/main/binary-amd64/Packages , find "Package: ros-foxy-behaviortree-cpp-v3" ). Here is a fragment of the linker output:

...
wait_for_variable.cpp:(.text+0x48c): undefined reference to `BT::CoroActionNode::setStatusRunningAndYield()'
/usr/bin/ld: wait_for_variable.cpp:(.text+0x59d): undefined reference to `BT::CoroActionNode::setStatusRunningAndYield()'
/usr/bin/ld: wait_for_variable.cpp:(.text+0x617): undefined reference to `BT::CoroActionNode::setStatusRunningAndYield()'
/usr/bin/ld: wait_for_variable.cpp:(.text+0x6c9): undefined reference to `BT::CoroActionNode::setStatusRunningAndYield()'
/usr/bin/ld: wait_for_variable.cpp:(.text+0x762): undefined reference to `BT::CoroActionNode::setStatusRunningAndYield()'
...

I have managed to overcome this issue by cloning the current master branch (278e60e). Of course, such solution is inconvenient in terms of freezing dependencies for the project. I looked further into the tags and I have found the potential source of the problem: manually building the tag 3.5.6 resulted in successful compilation. On the other hand the latest official release ( https://github.com/BehaviorTree/BehaviorTree.CPP/releases ) the tag 3.3.0 failed the build process. I speculate that the deb package in the ROS2 repository is actually older than 3.5.6 and it is probably based on the "latest release" 3.3.0 .

Regardless of my hypothesis I would like to highlighted this problem.
Thanks in advance for looking into this issue.
Maciej

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions