Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
demonixis's avatar
demonixis
MHCP Partner
2 years ago

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-Prep's avatar
    V-Prep
    Honored Guest

    Hi, i currently am having the exact same issue as you, did you end up finding a fix at all?

    • demonixis's avatar
      demonixis
      MHCP 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.

  • It would be great if any Meta dev or anyone can guide us through this error. I'm also encountering a similar problem.

  • 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...