What is Mono.Linker.LinkerFatalErrorException?

Hello.
I am new to Unity development and would like to know how to resolve the following error content.
(The editor version is 2021.3.5f1)
The content is probably a linker error (error IL1005), but I am not sure how to fix it.

I would appreciate any advice you could give me.

Building Library\Bee\artifacts\Android\ManagedStripped failed with output:
C:\Program Files\Unity\Hub\Editor\2021.3.5f1\Editor\Data\il2cpp\build\deploy\UnityLinker.exe --search-directory=C:/UnityProject/ProjectName/Temp/StagingArea/Data/Managed --out=Library/Bee/artifacts/Android/ManagedStripped --include-link-xml=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed\TypesInScenes.xml --include-link-xml=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed\SerializedTypes.xml --include-link-xml=C:/Program Files/Unity/Hub/Editor/2021.3.5f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools/AndroidNativeLink.xml --include-directory=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed --dotnetprofile=unityaot-linux --dotnetruntime=Il2Cpp --platform=Android --use-editor-options --editor-settings-flag=None,Development --enable-engine-module-stripping --engine-modules-asset-file=C:/Program Files/Unity/Hub/Editor/2021.3.5f1/Editor/Data/PlaybackEngines/AndroidPlayer/modules.asset --editor-data-file=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.Voice.Demo.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.AudioManager.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.VoiceSDK.Mic.Common.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.Interaction.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/AssistantCoreSDKRuntime.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.WitAi.Conduit.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.Interaction.OVR.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.WitAi.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Facebook.Wit.Dictation.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.VR.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Unity.XR.Management.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.WitAi.TTS.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.Interaction.OVR.Samples.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.VoiceSDK.Mic.Other.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.Spatializer.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Unity.TextMeshPro.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/VoiceSDK.Dictation.Runtime.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.Platform.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.WitAi.TTS.Samples.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Oculus.LipSync.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Unity.XR.Oculus.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/VoiceSDK.Runtime.dll --include-unity-root-assembly=C:/UnityProject/MetaverseGamelift/Temp/StagingArea/Data/Managed/Meta.WitAi.Lib.dll --print-command-line
Fatal error in Unity CIL Linker
Mono.Linker.LinkerFatalErrorException: ILLink: error IL1005: Amazon.Runtime.Internal.Util.InternalLog4netLogger.loadStatics(): Error processing method 'Amazon.Runtime.Internal.Util.InternalLog4netLogger.loadStatics()' in assembly 'AWSSDK.Core.dll'
---> System.InvalidOperationException: No action for the assembly log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a defined
   at Mono.Linker.AnnotationStore.GetAction(AssemblyDefinition assembly)
   at Mono.Linker.Steps.MarkStep.IsFullyPreserved(TypeDefinition type)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, IMemberDefinition sourceLocationMember)
   at Mono.Linker.Steps.MarkStep.MarkTypeVisibleToReflection(TypeReference reference, DependencyInfo reason, IMemberDefinition sourceLocationMember)
   at Mono.Linker.Dataflow.ReflectionMethodBodyScanner.<>c__DisplayClass20_4.<HandleCall>b__7()
   at Mono.Linker.Dataflow.ReflectionMethodBodyScanner.HandleCall(MethodBody callingMethodBody, MethodReference calledMethod, Instruction operation, ValueNodeList methodParams, ValueNode& methodReturnValue)
   at Mono.Linker.Dataflow.MethodBodyScanner.HandleCall(MethodBody callingMethodBody, Instruction operation, Stack`1 currentStack)
   at Mono.Linker.Dataflow.MethodBodyScanner.Scan(MethodBody methodBody)
   at Mono.Linker.Dataflow.ReflectionMethodBodyScanner.ScanAndProcessReturnValue(MethodBody methodBody)
   at Unity.Linker.Steps.UnityMarkStep.MarkReflectionLikeDependencies(MethodBody body, Boolean requiresReflectionMethodBodyScanner)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Unity.Linker.Steps.UnityMarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason)
   at Unity.Linker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method, DependencyInfo& reason)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
   at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
   at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at Unity.Linker.UnityDriver.UnityRun(Boolean noProfilerAllowed, ILogger customLogger)
   at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling(ILogger customLogger, Boolean noProfilerAllowed)
   at Unity.Linker.UnityDriver.RunDriver()
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Sorry.
I updated the editor version to the latest one and that solved the problem.
However, I regret to say that I am not certain what factor solved this :frowning:

Yeah, sometimes that is a thing, alas.

Glad you’re back online anyway!

Here’s my go-to build troubleshooting list:

How to troubleshoot build failures:

First, make a blank project with a single blank scene and prove that it builds successfully.

If the blank project does NOT build, go fix your Unity installation or your other tools, such as Android SDK, NDK, JDK, etc. It may even be necessary to change to a different version of Unity3D. It is generally best to stay with LTS versions of Unity3D.

Until you can build a blank project to the target platform, don’t fiddle with anything else.

Once you can build a blank project, now bisect the problem by bringing over parts of your current project and building it one subsystem at a time, perhaps stubbing things out that might trigger compiler errors.

Most often things that prevent building are third-party libraries such as Firebase.

Once you identify the subsystem, go to the documentation for it and make sure you are doing it correctly.

It may also be helpful to work through a tutorial or two for whatever subsystem is making the build fail.

Android build not building:

Recently (circa July 2022) there have been reports of Unity’s installer failing to install the Android Tools.

https://discussions.unity.com/t/887277

Here was how I brought up Unity2020.3.41 and the Android SDK 31 on October 30, 2022:

https://discussions.unity.com/t/891017/7

Android Gradle errors and other related stuff:

https://discussions.unity.com/t/901712/2

1 Like