Forum Discussion
demonixis
2 years agoMHCP Partner
MetaXR plugin 5.1.1 can't compile for Quest
Hello,
The last update of the plugin is not able to compile on my project. I got the following errors
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetDirectory::AssetListing
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusXRHMD.2_of_3.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetDirectory::AssetListing)
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.bss._ZN21FOculusAssetDirectory12AssetListingE+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::FOculusAssetManager()
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:156 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:156)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::FOculusAssetManager())
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManagerC2Ev+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: vtable for FOculusAssetManager
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusXRHMD.2_of_3.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(vtable for FOculusAssetManager)
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.data.rel.ro._ZTV19FOculusAssetManager+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::~FOculusAssetManager()
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:164 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:164)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::~FOculusAssetManager())
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManagerD2Ev+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::~FOculusAssetManager()
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:164 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:164)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::~FOculusAssetManager())
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManagerD0Ev+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::EnumerateRenderableDevices(TArray<int, TSizedDefaultAllocator<32> >&)
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:175 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:175)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::EnumerateRenderableDevices(TArray<int, TSizedDefaultAllocator<32> >&))
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManager26EnumerateRenderableDevicesER6TArrayIi22TSizedDefaultAllocatorILi32EEE+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::GetDeviceId(EControllerHand)
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:195 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:195)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::GetDeviceId(EControllerHand))
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManager11GetDeviceIdE15EControllerHand+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::CreateRenderComponent(int, AActor*, EObjectFlags, bool, TDelegate<void (UPrimitiveComponent*), FDefaultDelegateUserPolicy> const&)
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:238 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:238)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::CreateRenderComponent(int, AActor*, EObjectFlags, bool, TDelegate<void (UPrimitiveComponent*), FDefaultDelegateUserPolicy> const&))
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManager21CreateRenderComponentEiP6AActor12EObjectFlagsbRK9TDelegateIFvP19UPrimitiveComponentE26FDefaultDelegateUserPolicyE+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusEventDelegates::OculusDisplayRefreshRateChanged
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusXRHMD.2_of_3.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusEventDelegates::OculusDisplayRefreshRateChanged)
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.bss._ZN21FOculusEventDelegates31OculusDisplayRefreshRateChangedE+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: LogOculusPluginWrapper
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRPluginWrapper.cpp:11 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRPluginWrapper.cpp:11)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.3_of_3.cppa8.o:(LogOculusPluginWrapper)
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.bss.LogOculusPluginWrapper+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: FOculusAssetManager::~FOculusAssetManager()
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRAssetManager.cpp:164 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRHMD\Private/OculusXRAssetManager.cpp:164)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRHMD/Module.OculusXRHMD.2_of_3.cppa8.o:(FOculusAssetManager::~FOculusAssetManager())
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusHMD.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusHMD/Module.OculusHMD.cppa8.o:(.text._ZN19FOculusAssetManagerD2Ev+0x0)
UATHelper: Packaging (Android (ASTC)): ld.lld: error: duplicate symbol: BuildProjectionMatrix(float, float, float, UE::Math::TMatrix<double>&)
UATHelper: Packaging (Android (ASTC)): >>> defined at OculusXRMR_CastingCameraActor.cpp:865 (C:/Windows\Temp\Plugin\MetaXR\HostProject\Plugins\OculusXR\Source\OculusXRMR\Private/OculusXRMR_CastingCameraActor.cpp:865)
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Marketplace/MetaXR/Intermediate/Build/Android/UnrealGame/Shipping/OculusXRMR/Module.OculusXRMR.cppa8.o:(BuildProjectionMatrix(float, float, float, UE::Math::TMatrix<double>&))
UATHelper: Packaging (Android (ASTC)): >>> defined at Module.OculusMR.cpp
UATHelper: Packaging (Android (ASTC)): >>> D:/Devel/UE_5.1/Engine/Plugins/Runtime/Oculus/OculusVR/Intermediate/Build/Android/UnrealGame/Shipping/OculusMR/Module.OculusMR.cppa8.o:(.text._Z21BuildProjectionMatrixfffRN2UE4Math7TMatrixIdEE+0x0)
UATHelper: Packaging (Android (ASTC)): clang++: error: linker command failed with exit code 1 (use -v to see invocation)
UATHelper: Packaging (Android (ASTC)): [2/2] WriteMetadata Stormball-Android-Shipping.target cancelled
PackagingResults: Error: duplicate symbol: FOculusAssetDirectory::AssetListing
PackagingResults: Error: duplicate symbol: FOculusAssetManager::FOculusAssetManager()
PackagingResults: Error: duplicate symbol: vtable for FOculusAssetManager
PackagingResults: Error: duplicate symbol: FOculusAssetManager::~FOculusAssetManager()
PackagingResults: Error: duplicate symbol: FOculusAssetManager::~FOculusAssetManager()
PackagingResults: Error: duplicate symbol: FOculusAssetManager::EnumerateRenderableDevices(TArray<int, TSizedDefaultAllocator<32> >&)
PackagingResults: Error: duplicate symbol: FOculusAssetManager::GetDeviceId(EControllerHand)
PackagingResults: Error: duplicate symbol: FOculusAssetManager::CreateRenderComponent(int, AActor*, EObjectFlags, bool, TDelegate<void (UPrimitiveComponent*), FDefaultDelegateUserPolicy> const&)
PackagingResults: Error: duplicate symbol: FOculusEventDelegates::OculusDisplayRefreshRateChanged
PackagingResults: Error: duplicate symbol: LogOculusPluginWrapper
PackagingResults: Error: duplicate symbol: FOculusAssetManager::~FOculusAssetManager()
PackagingResults: Error: duplicate symbol: BuildProjectionMatrix(float, float, float, UE::Math::TMatrix<double>&)
PackagingResults: Error: linker command failed with exit code 1 (use -v to see invocation)
Any help or suggestion? I'm using stock 5.1.1
4 Replies
Replies have been turned off for this discussion
- V-PrepHonored Guest
Hi, i currently am having the exact same issue as you, did you end up finding a fix at all?
- demonixisMHCP Partner
Unfortunatly no. There is no support from Meta to Unreal developers. Last updates on the plugin are not really working. Best way to use the Quest with UE5 is to use the deprecated Oculus plugin.
- nastyjmanProtege
It would be great if any Meta dev or anyone can guide us through this error. I'm also encountering a similar problem.
- nastyjmanProtege
Ok! Been slamming my face on this problem today, and finally got my project to package to an APK ASTC successfully!
How to fix this:
- Delete the Oculus folder in your plugin ('X:\UE_5.1\Engine\Plugins\Runtime\Oculus')
- Right-click your uproject file (mygame.uproject)
- Select "Open With" and choose Notepad
- With the uproject opened in Notepad, look for "OculusInput" and delete it (there will be a comma with it, so delete that comma as well).
- Rebuild your code (if you're coding in C++)
---
I arrived at this solution by just Googling "How to remove a plugin in unreal." I came across a thread in the UE forums called "Removing a plugin" and in there the solution was to right-click the uproject, open it as text file, and then modify the modules specified in it.
What's happening is that OculusVR plugin is clashing with MetaXR plugin. That's why the error is saying 'error: duplicate symbol'. In the uproject file as text, you'll see 'OculusInput' and 'OculusXR'; we need to get rid of 'OculusInput' so 'OculusXR' can package properly. Also, you can see the error message is referencing two file paths: one for the OculusVR plugin, and the other for the MetaXR plugin.
Just finished successfully packaging my game to an APK...
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device