microsoft / AirSim

Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research
https://microsoft.github.io/AirSim/
Other
16.05k stars 4.48k forks source link

compilation failed #4805

Closed denk1 closed 1 year ago

denk1 commented 1 year ago

Does anybody know why this happens while compilation? Platform: Ubuntu 22.04

[4/6] Link (lld) libUE4Editor-AirSim.so ld.lld: error: undefined symbol: msr::airlib::CarRpcLibServer::CarRpcLibServer(msr::airlib::ApiProvider*, std::1::basic_string<char, std::__1::char_traits, std::1::allocator >, unsigned short)

referenced by SimModeCar.cpp:86 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/Vehicles/Car/SimModeCar.cpp:86) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(ASimModeCar::createApiServer() const)

ld.lld: error: undefined symbol: msr::airlib::RpcLibServerBase::RpcLibServerBase(msr::airlib::ApiProvider*, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, unsigned short)

referenced by SimModeComputerVision.cpp:24 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/Vehicles/ComputerVision/SimModeComputerVision.cpp:24) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(ASimModeComputerVision::createApiServer() const)

ld.lld: error: undefined symbol: msr::airlib::MultirotorRpcLibServer::MultirotorRpcLibServer(msr::airlib::ApiProvider*, std::1::basic_string<char, std::__1::char_traits, std::1::allocator >, unsigned short)

referenced by SimModeWorldMultiRotor.cpp:85 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/Vehicles/Multirotor/SimModeWorldMultiRotor.cpp:85) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(ASimModeWorldMultiRotor::createApiServer() const)

ld.lld: error: undefined symbol: common_utils::FileSystem::createDirectory(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&)

referenced by FileSystem.hpp:63 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/common/common_utils/FileSystem.hpp:63) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(common_utils::FileSystem::getLogFolderPath(bool, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&)) referenced by FileSystem.hpp:69 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/common/common_utils/FileSystem.hpp:69) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(common_utils::FileSystem::ensureFolder(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&)) referenced by FileSystem.hpp:63 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/common/common_utils/FileSystem.hpp:63) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(common_utils::FileSystem::getLogFileNamePath(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, bool)) referenced 1 more times

ld.lld: error: undefined symbol: common_utils::FileSystem::getExecutableFolder()

referenced by Settings.hpp:57 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/common/Settings.hpp:57) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::Settings::getExecutableFullPath(std::1::basic_string<char, std::__1::char_traits, std::1::allocator >))

ld.lld: error: undefined symbol: common_utils::FileSystem::getUserDocumentsFolder()

referenced by FileSystem.hpp:57 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/common/common_utils/FileSystem.hpp:57) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(common_utils::FileSystem::getAppDataFolder())

ld.lld: error: undefined symbol: mavlinkcom::UdpSocket::bind(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int)

referenced by ArduRoverApi.hpp:148 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/car/firmwares/ardurover/ArduRoverApi.hpp:148) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::ArduRoverApi::connect()) referenced by ArduCopterApi.hpp:324 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/arducopter/ArduCopterApi.hpp:324) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::ArduCopterApi::connect())

ld.lld: error: undefined symbol: mavlinkcom::UdpSocket::sendto(void const*, unsigned long, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, unsigned short)

referenced by ArduRoverApi.hpp:302 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/car/firmwares/ardurover/ArduRoverApi.hpp:302) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::ArduRoverApi::sendSensors()) referenced by ArduCopterApi.hpp:476 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/arducopter/ArduCopterApi.hpp:476) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::ArduCopterApi::sendSensors())

ld.lld: error: undefined symbol: msr::airlib::MultirotorApiBase::waitForFunction(std::__1::function<bool ()>, float)

referenced by MavLinkMultirotorApi.hpp:482 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:482) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::land(float)) referenced by MavLinkMultirotorApi.hpp:410 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:410) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::waitForHomeLocation(float)) referenced by MavLinkMultirotorApi.hpp:425 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:425) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::waitForStableGroundPosition(float))

ld.lld: error: undefined symbol: mavlinkcom::MavLinkNode::getParameter(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&)

referenced by MavLinkMultirotorApi.hpp:522 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:522) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::moveToPosition(float, float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&, float, float)) referenced by MavLinkMultirotorApi.hpp:523 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:523) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::moveToPosition(float, float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&, float, float)) referenced by MavLinkMultirotorApi.hpp:524 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:524) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::moveToPosition(float, float, float, float, float, msr::airlib::DrivetrainType, msr::airlib::YawMode const&, float, float))

ld.lld: error: undefined symbol: mavlinkcom::MavLinkConnection::startLoggingSendMessage(std::__1::shared_ptr)

referenced by MavLinkMultirotorApi.hpp:1190 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1190) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::connectToLogViewer()) referenced by MavLinkMultirotorApi.hpp:1193 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1193) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::connectToLogViewer()) referenced by MavLinkMultirotorApi.hpp:370 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:370) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::onArmed()) referenced 1 more times

ld.lld: error: undefined symbol: mavlinkcom::MavLinkConnection::startLoggingReceiveMessage(std::__1::shared_ptr)

referenced by MavLinkMultirotorApi.hpp:1191 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1191) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::connectToLogViewer()) referenced by MavLinkMultirotorApi.hpp:1194 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1194) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::connectToLogViewer()) referenced by MavLinkMultirotorApi.hpp:371 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:371) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::onArmed()) referenced 1 more times

ld.lld: error: undefined symbol: mavlinkcom::MavLinkConnection::subscribe(std::1::function<void (std::1::shared_ptr, mavlinkcom::MavLinkMessage const&)>)

referenced by MavLinkMultirotorApi.hpp:1212 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1212) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::connectToQGC()) referenced by MavLinkMultirotorApi.hpp:1500 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1500) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::createMavSerialConnection(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int)) referenced by MavLinkMultirotorApi.hpp:1317 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1317) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::createMavEthernetConnection(msr::airlib::AirSimSettings::MavLinkConnectionInfo const&)) referenced 1 more times

ld.lld: error: undefined symbol: mavlinkcom::MavLinkConnection::connectSerial(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int, std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&)

referenced by MavLinkMultirotorApi.hpp:1493 (/home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Source/AirLib/include/vehicles/multirotor/firmwares/mavlink/MavLinkMultirotorApi.hpp:1493) /home/den/Projects/AirSim-1.8.0-linux/Unreal/Environments/Blocks/Plugins/AirSim/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/AirSim/Module.AirSim.cpp.o:(msr::airlib::MavLinkMultirotorApi::createMavSerialConnection(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int))

ld.lld: error: undefined symbol: mavlinkcom::MavLinkNode::connect(std::__1::shared_ptr) LogInit: Warning: Still incompatible or missing module: Blocks LogInit: Warning: Still incompatible or missing module: AirSim

kalind-seneos commented 1 year ago

What was the solution, I'm encountering a similar issue ?

denk1 commented 1 year ago

I moved from gcc to clang