Search Unity

Fatal error in Unity CIL Linker

Discussion in 'VR' started by YJM_jazzcake, Nov 9, 2017.

  1. YJM_jazzcake

    YJM_jazzcake

    Joined:
    Jul 4, 2017
    Posts:
    2
    Hello,

    I'm currently working for porting project "Overturn" to MS device with Unity 2017.2.03f MRPT, UWP, IL2CPP backend, NET4.6 api level and Strip engine code disabled.

    I got some error when build the project.

    Anybody can help to solve this error? Thank you!

    stdout:
    Fatal error in Unity CIL Linker
    System.InvalidProgramException: Failed to resolve [UnityEngine]System.Resources.NeutralResourcesLanguageAttribute.
    ��ġ: Unity.IL2CPP.AssemblyDependenciesComponent.ResolveWindowsRuntimeReferences(AssemblyDefinition assembly)
    ��ġ: Unity.IL2CPP.AssemblyDependenciesComponent.CollectAssemblyDependencies(AssemblyDefinition assembly)
    ��ġ: Unity.IL2CPP.AssemblyDependenciesComponent.GetReferencedAssembliesFor(AssemblyDefinition assembly)
    ��ġ: UnityLinker.UnityLinkContext.ResolveReferences(AssemblyDefinition assembly)
    ��ġ: UnityLinker.Steps.UnityResolveFromXmlStep.GetAssembly(LinkContext context, AssemblyNameReference assemblyName)
    ��ġ: UnityLinker.Steps.UnityResolveFromXmlStep.ProcessAssemblies(LinkContext context, XPathNodeIterator iterator)
    ��ġ: Mono.Linker.Steps.BaseStep.Process(LinkContext context)
    ��ġ: Mono.Linker.Pipeline.Process(LinkContext context)
    ��ġ: UnityLinker.UnityDriver.Run()
    ��ġ: UnityLinker.UnityDriver.RunDriver()
     
  2. JasonCostanza

    JasonCostanza

    Unity Technologies

    Joined:
    May 23, 2017
    Posts:
    404
    to start with, could you try clearing out your build folder and doing a fresh build. Or, go to a fresh directory to see if that resolves it.
     
  3. YJM_jazzcake

    YJM_jazzcake

    Joined:
    Jul 4, 2017
    Posts:
    2
    Hello,

    I tried to build project just after freshing build folders. But it happen again. In case of Net build, Unity show different log.

    This tried with Unity 2017.2.0p1-MRTP4. UWP, IL2CPP/NET, .NET4.6, Strip engine code disabled.

    A: Scripting Backend: .NET

    UnityException: Failed to run assembly converter with command -metadata=0 -platform=uap -lock="UWP\project.lock.json" -uwpsdk=10.0.16299.0 Temp\StagingArea\ES2.dll -path="Temp\StagingArea".
    System.NullReferenceException: ��ü ������ ��ü�� �ν��Ͻ��� �������� �ʾҽ��ϴ�.
    ��ġ: Unity.FixReferencesStep.Visit(ICustomAttributeProvider provider, GenericContext context)
    ��ġ: Unity.FixReferencesStep.ProcessModule()
    ��ġ: Unity.ModuleStep.Execute()
    ��ġ: Unity.FixReferencesStep.Execute()
    ��ġ: Unity.Step.Execute(OperationContext operationContext, IStepContext previousStepContext)
    ��ġ: Unity.Operation.Execute()
    ��ġ: Unity.Program.Main(String[] args)

    PostProcessUAPDotNet.RunAssemblyConverterNoMetadata (System.String assembly) (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessUAPDotNet.cs:127)
    PostProcessWinRT.RunReferenceRewriter () (at C:/buildslave/unity/build/PlatformDependent/WinRT/SharedSources/CSharp/PostProcessWinRT.cs:718)
    PostProcessWinRT.Process () (at C:/buildslave/unity/build/PlatformDependent/WinRT/SharedSources/CSharp/PostProcessWinRT.cs:202)
    UnityEditor.WSA.BuildPostprocessor.DoPostProcess (BuildPostProcessArgs args) (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/ExtensionModule.cs:142)
    UnityEditor.WSA.BuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/ExtensionModule.cs:149)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)



    B: Scripting Backend: IL2CPP

    Failed running C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\il2cpp/build/UnityLinker.exe --api=NET_4_6 -out="C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\tempStrip" -l=none -c=link --link-symbols -x="C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Core.xml" -f="C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\il2cpp\LinkerDescriptors" -x "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS/Temp\StagingArea\Data/methods_pointedto_by_uievents.xml" -x "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS/Temp\StagingArea\Data/UnityEngine.xml" -x "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\preserved_derived_types.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\il2cpp\LinkerDescriptors\mscorlib45.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\il2cpp\LinkerDescriptors\System45.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Accessibility.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\AI.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Animation.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\AR.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Audio.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Cloth.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Core.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\CrashReporting.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Director.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\GameCenter.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Grid.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ImageConversion.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\IMGUI.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Input.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\JSONSerialize.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ParticlesLegacy.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ParticleSystem.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\PerformanceReporting.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Physics.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Physics2D.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ScreenCapture.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\SpriteMask.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\StyleSheets.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Terrain.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\TerrainPhysics.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\TextRendering.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Tilemap.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UI.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UIElements.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UNET.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityAnalytics.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityConnect.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequest.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequestAudio.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequestTexture.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequestWWW.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Vehicles.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Video.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\VR.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Web.xml" -x "C:\Program Files\Unity 2017.2.0p1-MRTP4\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Wind.xml" -d "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\Assembly-CSharp-firstpass.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\Assembly-CSharp.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\Assembly-UnityScript.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\ES2.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\I18N.CJK.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\I18N.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\I18N.MidEast.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\I18N.Other.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\I18N.Rare.dll" -a "C:\Project\overturn\overturn-multiplayer\OverturnVR_MS\Temp\StagingArea\Data\Managed\I18N.West.dll"

    stdout:
    Fatal error in Unity CIL Linker
    System.InvalidProgramException: Failed to resolve [UnityEngine]System.Resources.NeutralResourcesLanguageAttribute.
    ��ġ: Unity.IL2CPP.AssemblyDependenciesComponent.ResolveWindowsRuntimeReferences(AssemblyDefinition assembly)
    ��ġ: Unity.IL2CPP.AssemblyDependenciesComponent.CollectAssemblyDependencies(AssemblyDefinition assembly)
    ��ġ: Unity.IL2CPP.AssemblyDependenciesComponent.GetReferencedAssembliesFor(AssemblyDefinition assembly)
    ��ġ: UnityLinker.UnityLinkContext.ResolveReferences(AssemblyDefinition assembly)
    ��ġ: UnityLinker.Steps.UnityResolveFromXmlStep.GetAssembly(LinkContext context, AssemblyNameReference assemblyName)
    ��ġ: UnityLinker.Steps.UnityResolveFromXmlStep.ProcessAssemblies(LinkContext context, XPathNodeIterator iterator)
    ��ġ: Mono.Linker.Steps.BaseStep.Process(LinkContext context)
    ��ġ: Mono.Linker.Pipeline.Process(LinkContext context)
    ��ġ: UnityLinker.UnityDriver.Run()
    ��ġ: UnityLinker.UnityDriver.RunDriver()
    stderr:

    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
    UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
    UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:89)
    UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[], String[], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:82)
    UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(String, IEnumerable, String, String[], String[], String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:204)
    UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:114)
    UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:143)
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
    PostProcessUAPIl2Cpp:RunIL2CPP() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessUAPIl2Cpp.cs:394)
    PostProcessWinRT:process() (at C:/buildslave/unity/build/PlatformDependent/WinRT/SharedSources/CSharp/PostProcessWinRT.cs:222)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    Thank you!!
     
  4. JasonCostanza

    JasonCostanza

    Unity Technologies

    Joined:
    May 23, 2017
    Posts:
    404
    I noticed you have "-uwpsdk=10.0.16299.0"

    Are you using the correct SDK version? 10.0.14393 is the version you want. Try confirming that and if you're still having issues, we can go from there.
     
  5. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    I've seen this issue before. It was caused by ES2.dll referencing non-existing classes from UnityEngine.dll.
     
  6. GS796

    GS796

    Joined:
    Dec 16, 2016
    Posts:
    24
    I have the same issue. Was there any resolution to this?
    Thanks,
     
  7. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    This is a bug, but I don't think we received a bug report regarding it. If you could report a bug, it would be great.

    A workaround for now is to use windows standalone player version of ES2.dll.
     
  8. GS796

    GS796

    Joined:
    Dec 16, 2016
    Posts:
    24
    Hi Tautvydas-Zilys,

    Thanks for the reply.
    I am getting this error using the WSA version of the .dll.
    I have sent in a bug report - 969958.
    If there is some combination of settings that could get this to build for UWP that would be great.
    Thanks,
     
    Last edited: Nov 17, 2017
  9. zero_null

    zero_null

    Joined:
    Mar 11, 2014
    Posts:
    159
    having same issue
     
  10. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    Which Unity version are you on? It's been fixed for a while.
     
  11. zero_null

    zero_null

    Joined:
    Mar 11, 2014
    Posts:
    159
    Unity 2017.3.0f3
    Visual Studio 2017 15.5.7
    Latest Windows SDK .

    Never mind, It just get solved, seems like some incompatible code was there for win platform.