RaiaN/RuntimeImageLoader

Android Packaging Error Undefined Symbol FRuntimeTiffLoadHelper() (3bb5ed5)

Closed this issue · 2 comments

Environment

  • UE 4.27.2 (Launcher)
  • RuntimeImageLoader (commit 3bb5ed5)

What went wrong

Packaging for Android (ASTC) resulted in an undefined symbol error if the OculusVR plugin is disabled.

UATHelper: Packaging (Android (ASTC)):     ld.lld: error: undefined symbol: FRuntimeTiffLoadHelper::FRuntimeTiffLoadHelper()
UATHelper: Packaging (Android (ASTC)):     >>> referenced by RuntimeImageUtils.cpp:33 (D:/src\username\ue4\DebugRIL\Plugins\RuntimeImageLoader\Source\RuntimeImageLoader\Private\RuntimeImageUtils.cpp:33)
UATHelper: Packaging (Android (ASTC)):     >>>               D:/src/username/ue4/DebugRIL/Plugins/RuntimeImageLoader/Intermediate/Build/Android/UE4/Development/RuntimeImageLoader/RuntimeImageUtils.cppa7.o:(_GLOBAL__sub_I_RuntimeImageUtils.cpp)
UATHelper: Packaging (Android (ASTC)):   
UATHelper: Packaging (Android (ASTC)):     ld.lld: error: undefined symbol: FRuntimeTiffLoadHelper::~FRuntimeTiffLoadHelper()
UATHelper: Packaging (Android (ASTC)):     >>> referenced by RuntimeImageUtils.cpp:0 (D:/src\username\ue4\DebugRIL\Plugins\RuntimeImageLoader\Source\RuntimeImageLoader\Private\RuntimeImageUtils.cpp:0)
UATHelper: Packaging (Android (ASTC)):     >>>               D:/src/username/ue4/DebugRIL/Plugins/RuntimeImageLoader/Intermediate/Build/Android/UE4/Development/RuntimeImageLoader/RuntimeImageUtils.cppa7.o:(_GLOBAL__sub_I_RuntimeImageUtils.cpp)
UATHelper: Packaging (Android (ASTC)):     clang++: error: linker command failed with exit code 1 (use -v to see invocation)
PackagingResults: Error: undefined symbol: FRuntimeTiffLoadHelper::FRuntimeTiffLoadHelper()
PackagingResults: Error: undefined symbol: FRuntimeTiffLoadHelper::~FRuntimeTiffLoadHelper()
PackagingResults: Error: linker command failed with exit code 1 (use -v to see invocation)

How to Recreate The Issue

  • Create a new blueprint project from 4.27.2 (Launcher)
  • Close the Editor
  • Import RuntimeImageLoader to the Plugins folder (from commit 3bb5ed5)
  • Open the project and build the binaries for RuntimeImageLoader
  • Disable the OculusVR plugin and restart the editor
  • Attempt to package for Android (ASTC), but it fails
  • To verify, enable the OculusVR plugin and repackage and it will succeed.

I have a separate project and enabling OculusVR did not resolve the error, but so far this was how I found out that I could recreate the error from a new project.

Attachments

RaiaN commented

Hey @Skulltulla. Thanks for writing the summary of the issue. I'm hoping to look into it as I have time

RaiaN commented

It seems that TIFF format is not supported on Android so I made necessary changes