Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Eloquent] Undefined symbol when launching bt_navigator #1948

Closed
QQting opened this issue Aug 16, 2020 · 5 comments
Closed

[Eloquent] Undefined symbol when launching bt_navigator #1948

QQting opened this issue Aug 16, 2020 · 5 comments

Comments

@QQting
Copy link
Contributor

QQting commented Aug 16, 2020

Bug report

Required Info:

  • Operating System:
    • Ubuntu 18.04
  • ROS2 Version:
    • Eloquent
  • Version or commit hash:
    • ros-eloquent-navigation2 0.3.5-1bionic.20200630.140800
  • DDS implementation:
    • Cyclone DDS

Steps to reproduce issue

  1. Get ADLINK NeuronBot2 source codes
mkdir -p ~/neuronbot2_ros2_ws/src
cd ~/neuronbot2_ros2_ws/
wget https://raw.githubusercontent.com/Adlink-ROS/neuronbot2_ros2.repos/eloquent-devel/neuronbot2_ros2.repos
vcs import src < neuronbot2_ros2.repos
  1. Ignore BT.CPP source code which is the workaround to fix undefined symbol
touch ~/neuronbot2_ros2_ws/src/behavior_tree.cpp/COLCON_IGNORE
  1. Build code
source /opt/ros/eloquent/setup.bash
colcon build --symlink-install
  1. Bringup Gazebo simulaton
ros2 launch neuronbot2_gazebo neuronbot2_world.launch.py
  1. Bringup navigation
ros2 launch neuronbot2_nav bringup_launch.py use_sim_time:=true open_rviz:=true
  1. You will see the error messages as below:
    [bt_navigator-7] [ERROR] []: Original error: Could not load library: /opt/ros/eloquent/lib/libnav2_compute_path_to_pose_action_bt_node.so: undefined symbol: _ZTIN2BT14CoroActionNodeE
    bt_navigator_undefined_symbol

The way to solve this issue is to get the latest BehaviorTree.CPP and rebuild it:

rm ~/neuronbot2_ros2_ws/src/behavior_tree.cpp/COLCON_IGNORE
cd ~/neuronbot2_ros2_ws/
source /opt/ros/eloquent/setup.bash
colcon build --symlink-install
source ~/neuronbot2_ros2_ws/install/local_setup.bash
@SteveMacenski
Copy link
Member

SteveMacenski commented Aug 17, 2020

We've brought this up in a number of places but I understand that we haven't had any high level directives to users about this.

http://build.ros2.org/job/Ebin_uB64__behaviortree_cpp_v3__ubuntu_bionic_amd64__binary/

If you see, the BT.CPP released (https://github.com/ros/rosdistro/blob/master/eloquent/distribution.yaml#L247) is 3.5.1, which is what we support. This was released and sent to the build farm for debians. However, as you can see from that job manifest, it was failing for a long time and only recently(ish) made to work. However, there's been no ROS2 Eloquent sync since then for the new binaries to be installable on your machine, so you need to build from source for now.

Ping Davide on BT.CPP about this to make sure its included on the next sync, but there's nothing further for us to do here. You've found the right / best solution on your own to this issue. Really, we just need OR to run another Eloquent sync and this should be all taken care of. They haven't done one in a long while now.

@SteveMacenski
Copy link
Member

Closing - known solution.

@Phymin
Copy link

Phymin commented Sep 24, 2020

Hi, what's the status of the problem now? I still encounter this problem now

@ipa-kut
Copy link
Contributor

ipa-kut commented Mar 11, 2021

Hi, what's the status of the problem now? I still encounter this problem now

If you still need to get this to work, as steve mentions above, I tried to build both navigation2 -b eloquent devel and BehaviorTree.cpp -b master from source. This could also work for the neuronbot then.

@dverstandig
Copy link

Hello,

We are building the BehaviorTree.cpp (3.7.0 - 8db5593a880c60211a8871bfe4da5b2507f726b3) package from source and getting the navigation packages from debian (eloquent-navigation2), but are encountering a malloc issue when launching the BT navigator:
[bt_navigator-4] malloc(): memory corruption

Any ideas what the issue could be?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants