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

Symbol lookup error: /opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so: undefined symbol: rmw_time_equal #92

Open
arjuntheprogrammer opened this issue Jan 10, 2025 · 6 comments

Comments

@arjuntheprogrammer
Copy link

Ubuntu 22.04.2 LTS
ROS2 Humble
UE 5.1
Git Branch: devel

UE crashed with the following error on hitting the play button in UE Editor after running ./run_editor.sh true $(pwd) command:

[2025.01.10-16.12.11:629][815]LogInit: FAudioDevice initialized.
[2025.01.10-16.12.11:629][815]LogAudio: Display: Audio Device (ID: 2) registered with world 'Turtlebot3_benchmark'.
[2025.01.10-16.12.11:631][815]LogLoad: Game class is 'RRROS2GameMode'
[2025.01.10-16.12.11:632][815]LogWorld: Bringing World /Game/Maps/UEDPIE_0_Turtlebot3_benchmark.Turtlebot3_benchmark up for play (max tick rate 0) at 2025.01.10-21.42.11
[2025.01.10-16.12.11:632][815]LogRapyutaCore: [RRROS2GameMode.cpp@31, virtual void ARRROS2GameMode::InitGame(const FString &, const FString &, FString &)] INIT GAME [UEDPIE_0_Turtlebot3_benchmark/Turtlebot3_benchmark] - Options: 

[2025.01.10-16.12.11:632][815]LogRapyutaCore: [RRROS2GameMode.cpp@37, virtual void ARRROS2GameMode::InitGame(const FString &, const FString &, FString &)] NUM OF CPU CORES: [16] - WITH HYPERTHREADS: [32] - RECOMMENDED NUM OF WORKER THREADS: [30]
[2025.01.10-16.12.11:632][815]LogRapyutaCore: Display: [RRROS2GameMode.cpp@39, virtual void ARRROS2GameMode::InitGame(const FString &, const FString &, FString &)] ShouldUseThreadingForPerformance: 1
[2025.01.10-16.12.11:632][815]LogRapyutaCore: Display: [RRBaseRobot.cpp@225, void ARRBaseRobot::CreateROS2Interface()] [BP_TurtlebotWaffle_C_3] IsNetMode: 0
[2025.01.10-16.12.11:632][815]LogRapyutaCore: Warning: [RRGameSingleton.cpp@77, static URRGameSingleton *URRGameSingleton::Get()] RF_Standalone!!
[2025.01.10-16.12.11:632][815]LogROS2Node: [ROS2NodeComponent.cpp@103, void UROS2NodeComponent::Init()] [ROS2NodeComponent_0] start initializing..
[2025.01.10-16.12.11:632][815]LogROS2Node: [ROS2NodeComponent.cpp@108, void UROS2NodeComponent::Init()] [ROS2NodeComponent_0] rclc_node_init_default

/home/ubuntu/UE5.1/Engine/Binaries/Linux/UnrealEditor: symbol lookup error: /opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so: undefined symbol: rmw_time_equal
@arjuntheprogrammer
Copy link
Author

I tried to change the branch to humble - but ran into following issue in that case:
#91

@noahl1
Copy link

noahl1 commented Feb 4, 2025

I'm 22.04, ROS2 Humble, running a precomiled linux UE5.3, turtlebot3-UE is jammy_UE5.3*, rclue is UE5.3, RapyutaSimulationPlugins is UE5.3.

/home/ubuntu/Linux_Unreal_Engine_532_precompiled/Engine/Binaries/Linux/UnrealEditor: symbol lookup error: /opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so: undefined symbol: rmw_time_equal

*If I use any other branch of turtlebot3-UE, my editor segfaults before opening.

@yuokamoto
Copy link
Contributor

Sorry for late response.
Did you execute ./run_editor.sh without source /opt/ros/humble ?

@noahl1
Copy link

noahl1 commented Feb 5, 2025

Sorry for late response. Did you execute ./run_editor.sh without source /opt/ros/humble ?

No worries. Thank you for maintaining this as well as you do.

source /opt/ros/humble/setup.bash is in my ~/.bashrc and I can see the library is installed with ros2 pkg list | grep rmw_fastrtps_shared_cpp and see /opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so.

It's not being linked to my UnrealEditor during the build. I run ldd ~/Linux_Unreal_Engine_532_precompiled/Engine/Binaries/Linux/UnrealEditor | grep librmw_fastrtps_shared_cpp.so and get no output.

I tried going into turtlebot3.Build.cs and adding these lines:

        PublicIncludePaths.Add("/opt/ros/humble/include");
        PublicAdditionalLibraries.Add("/opt/ros/humble/lib/librmw_fastrtps_shared_cpp.so");

I used UnrealBuildTool to clean, ran your ./cleanup.sh, ran ./update_project_files.sh, ran ./make_editor.sh, ran ./run_editor.sh. No changes in the linking. Same errors.

@james-yoo
Copy link
Contributor

Hi @noahl1,
Try rclUE with 'UE5_devel_humble' branch not 'UE5.3'

@noahl1
Copy link

noahl1 commented Feb 5, 2025

@james-yoo this was it!

I see it mentioned in line 64 of the readme to use UE5_devel_humble so woops.

So my current setup:
UE5.3 (prebuilt)
Ubuntu 22.04
ROS2 Humble
turtlebot3 - branch jammy_UE5.3
rclUE - UE5_devel_humble
RapyutaSimulationPlugins - UE5.3

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

4 participants