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

undefined symbol: msr::airlib #20

Open
hseysen opened this issue Aug 19, 2022 · 4 comments
Open

undefined symbol: msr::airlib #20

hseysen opened this issue Aug 19, 2022 · 4 comments

Comments

@hseysen
Copy link

hseysen commented Aug 19, 2022

I'm running a fresh installation of Ubuntu 20.04 on VMWare and have installed Unreal Engine 4.25.4. Followed the instructions in README.md, and all goes well until I build AirSim and Blocks projects. Here's the part of the log file that is relevant:

Building BlocksEditor...
Performing 6 actions (4 in parallel)
[1/6] Compile Module.AirSim.cpp
[2/6] Compile Module.AirSim.gen.cpp
[3/6] Compile Blocks.cpp
[4/6] Link (lld) libUE4Editor-AirSim.so
ld.lld: error: undefined symbol: msr::airlib::VtolRpcLibServer::VtolRpcLibServer(msr::airlib::ApiProvider*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned short)
>>> referenced by SimModeWorldTiltrotor.cpp:85 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/Vehicles/Tiltrotor/SimModeWorldTiltrotor.cpp:85)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(ASimModeWorldTiltrotor::createApiServer() const)

ld.lld: error: undefined symbol: vtable for msr::airlib::VtolApiBase
>>> referenced by VtolApiBase.hpp:25 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/api/VtolApiBase.hpp:25)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::VtolApiBase::VtolApiBase())
>>> referenced by VtolApiBase.hpp:91 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/api/VtolApiBase.hpp:91)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::VtolApiBase::~VtolApiBase())
the vtable symbol may be undefined because the class is missing its key function (see https://lld.llvm.org/missingkeyfunction)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::resetImplementation()
>>> referenced by MavLinkVtolApi.hpp:115 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/firmwares/mavlink/MavLinkVtolApi.hpp:115)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkVtolApi::resetImplementation())
>>> referenced by VtolSimpleApi.hpp:52 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/firmwares/vtol_simple/VtolSimpleApi.hpp:52)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::VtolSimpleApi::resetImplementation())

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::waitForZ(float, float, float)
>>> referenced by MavLinkVtolApi.hpp:473 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/firmwares/mavlink/MavLinkVtolApi.hpp:473)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkVtolApi::takeoff(float))

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::waitForFunction(std::__1::function<bool ()>, float)
>>> referenced by MavLinkVtolApi.hpp:497 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/firmwares/mavlink/MavLinkVtolApi.hpp:497)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkVtolApi::land(float))
>>> referenced by MavLinkVtolApi.hpp:425 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/firmwares/mavlink/MavLinkVtolApi.hpp:425)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkVtolApi::waitForHomeLocation(float))
>>> referenced by MavLinkVtolApi.hpp:440 (/home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/vtol/firmwares/mavlink/MavLinkVtolApi.hpp:440)
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkVtolApi::waitForStableGroundPosition(float))

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::getAutoLookahead(float, float, float, float) const
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::getObsAvoidanceVelocity(float, float) const
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByRC(msr::airlib::RCData const&)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByVelocityBodyFrame(float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByVelocityZBodyFrame(float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByMotorPWMs(std::__1::vector<float, std::__1::allocator<float> > const&, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByRollPitchYawZ(float, float, float, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByRollPitchYawThrottle(float, float, float, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByRollPitchYawrateThrottle(float, float, float, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByRollPitchYawrateZ(float, float, float, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByAngleRatesZ(float, float, float, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByAngleRatesThrottle(float, float, float, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByVelocity(float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveByVelocityZ(float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: undefined symbol: msr::airlib::VtolApiBase::moveOnPath(std::__1::vector<Eigen::Matrix<float, 3, 1, 0, 3, 1>, std::__1::allocator<Eigen::Matrix<float, 3, 1, 0, 3, 1> > > const&, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&, float, float)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::MavLinkVtolApi)
>>> referenced by Module.AirSim.cpp
>>>               /home/seysen/gitcl/AirSim/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(vtable for msr::airlib::VtolSimpleApi)

ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
LogInit: Warning: Still incompatible or missing module: Blocks
LogInit: Warning: Still incompatible or missing module: AirSim
LogCore: Engine exit requested (reason: EngineExit() was called)
LogExit: Preparing to exit.
LogModuleManager: Shutting down and abandoning module DesktopPlatform (44)
LogModuleManager: Shutting down and abandoning module PlatformCryptoOpenSSL (42)
LogModuleManager: Shutting down and abandoning module PlatformCryptoTypes (40)
LogModuleManager: Shutting down and abandoning module PlatformCrypto (38)
LogModuleManager: Shutting down and abandoning module AnimationModifiers (36)
LogModuleManager: Shutting down and abandoning module PropertyEditor (35)
LogModuleManager: Shutting down and abandoning module AudioEditor (32)
LogModuleManager: Shutting down and abandoning module TextureCompressor (30)
LogModuleManager: Shutting down and abandoning module RenderCore (28)
LogModuleManager: Shutting down and abandoning module Landscape (26)
LogModuleManager: Shutting down and abandoning module SlateRHIRenderer (24)
LogModuleManager: Shutting down and abandoning module OpenGLDrv (22)
LogModuleManager: Shutting down and abandoning module AnimGraphRuntime (20)
LogModuleManager: Shutting down and abandoning module Renderer (18)
LogModuleManager: Shutting down and abandoning module Engine (16)
LogModuleManager: Shutting down and abandoning module CoreUObject (14)
LogModuleManager: Shutting down and abandoning module NetworkFile (12)
LogModuleManager: Shutting down and abandoning module CookedIterativeFile (10)
LogModuleManager: Shutting down and abandoning module StreamingFile (8)
LogModuleManager: Shutting down and abandoning module SandboxFile (6)
LogModuleManager: Shutting down and abandoning module PakFile (4)
LogModuleManager: Shutting down and abandoning module RSA (3)
LogExit: Exiting.
LogInit: Tearing down SDL.
Log file closed, 08/19/22 04:51:48

This error is related to msr::airlib and it basically does not recognize the symbols defined in the VTOL libs. However, I've already run build_static_libs.sh file without errors. How can I solve this error?

Edit: Also, I've merely copied the VTOL fork of the AirSim repo. Should I run the files setup.sh and build.sh according to the Microsoft's documentation? Or does the build_static_libs.sh handle all of these?

@abdelhakim96
Copy link

I am facing the same issue

@Lychannnn
Copy link

sh

I'm also facing the same issue. is there any update?

@ville-alex
Copy link

Hi @hseysen @abdelhakim96 @Lychannnn did you find the cause of the problem?

@thknx
Copy link

thknx commented Sep 16, 2023

I'm also facing this issue.
Guys, did you find any solution? @Lychannnn @hseysen

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