UnityLInker.exe did not run properly

I attempted to make an iOS build in the Editor and ran across this error:

Exception: /Applications/Unity/Hub/Editor/2018.1.0b5/Unity2018.1.0b5.app/Contents/il2cpp/build/UnityLinker.exe did not run properly!
UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:130)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action1 setupStartInfo) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73) UnityEditorInternal.AssemblyStripper.RunAssemblyLinker (IEnumerable1 args, System.String& out, System.String& err, System.String linkerPath, System.String workingDirectory) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:89)
UnityEditorInternal.AssemblyStripper.StripAssembliesTo (System.String[ ] assemblies, System.String[ ] searchDirs, System.String outputFolder, System.String workingDirectory, System.String& output, System.String& error, System.String linkerPath, IIl2CppPlatformProvider platformProvider, IEnumerable1 additionalBlacklist) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:82) UnityEditorInternal.AssemblyStripper.RunAssemblyStripper (IEnumerable assemblies, System.String managedAssemblyFolderPath, System.String[ ] assembliesToStrip, System.String[ ] searchDirs, System.String monoLinkerPath, IIl2CppPlatformProvider platformProvider, UnityEditor.RuntimeClassRegistry rcr) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:203) UnityEditorInternal.AssemblyStripper.StripAssemblies (System.String managedAssemblyFolderPath, IIl2CppPlatformProvider platformProvider, UnityEditor.RuntimeClassRegistry rcr) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:113) UnityEditorInternal.IL2CPPBuilder.Run () (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:153) UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
UnityEditor.iOS.PostProcessiPhonePlayer.CrossCompileManagedDlls (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.AssemblyReferenceChecker checker, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport buildReport) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:795)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport buildReport) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:631)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (PostProcessorSettings postProcessorSettings, BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:584)
UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:37)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Modules/DefaultBuildPostprocessor.cs:27)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:285)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

This failed prior to the exception above:
stdout:
Fatal error in Unity CIL Linker
System.DllNotFoundException: ole32.dll
at (wrapper managed-to-native) Mono.Cecil.Pdb.SymWriter.CoCreateInstance(System.Guid&,object,uint,System.Guid&,object&)
at Mono.Cecil.Pdb.SymWriter…ctor () [0x00006] in <0aeb6346647e473194ff2988bbc3392b>:0
at Mono.Cecil.Pdb.NativePdbWriterProvider.CreateWriter (Mono.Cecil.ModuleDefinition module, System.String pdb) [0x00000] in <0aeb6346647e473194ff2988bbc3392b>:0
at Mono.Cecil.Pdb.NativePdbWriterProvider.GetSymbolWriter (Mono.Cecil.ModuleDefinition module, System.String fileName) [0x00014] in <0aeb6346647e473194ff2988bbc3392b>:0
at Mono.Cecil.Pdb.PdbWriterProvider.GetSymbolWriter (Mono.Cecil.ModuleDefinition module, System.String fileName) [0x00026] in <0aeb6346647e473194ff2988bbc3392b>:0
at Mono.Cecil.ModuleWriter.GetSymbolWriter (Mono.Cecil.ModuleDefinition module, System.String fq_name, Mono.Cecil.Cil.ISymbolWriterProvider symbol_writer_provider, Mono.Cecil.WriterParameters parameters) [0x0001b] in <99a636aaf9994cf9a22f0334e6277be1>:0
at Mono.Cecil.ModuleWriter.Write (Mono.Cecil.ModuleDefinition module, Mono.Disposable1[T] stream, Mono.Cecil.WriterParameters parameters) [0x000e3] in <99a636aaf9994cf9a22f0334e6277be1>:0 at Mono.Cecil.ModuleWriter.WriteModule (Mono.Cecil.ModuleDefinition module, Mono.Disposable1[T] stream, Mono.Cecil.WriterParameters parameters) [0x00002] in <99a636aaf9994cf9a22f0334e6277be1>:0
at Mono.Cecil.ModuleDefinition.Write (System.String fileName, Mono.Cecil.WriterParameters parameters) [0x00017] in <99a636aaf9994cf9a22f0334e6277be1>:0
at Mono.Cecil.AssemblyDefinition.Write (System.String fileName, Mono.Cecil.WriterParameters parameters) [0x00000] in <99a636aaf9994cf9a22f0334e6277be1>:0
at Unity.Linker.Steps.UnityOutputStep.OutputAssembly (Mono.Cecil.AssemblyDefinition assembly) [0x00051] in <639e17e9fe6f42e4ad198b85936bd408>:0
at Unity.Linker.Steps.UnityOutputStep.ProcessAssembly (Mono.Cecil.AssemblyDefinition assembly) [0x00001] in <639e17e9fe6f42e4ad198b85936bd408>:0
at Mono.Linker.Steps.BaseStep.Process (Mono.Linker.LinkContext context) [0x00031] in <595db02836e14929974068a4ba156176>:0
at Mono.Linker.Pipeline.Process (Mono.Linker.LinkContext context) [0x00020] in <595db02836e14929974068a4ba156176>:0
at Unity.Linker.UnityDriver.Run () [0x00086] in <639e17e9fe6f42e4ad198b85936bd408>:0
at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling () [0x00001] in <639e17e9fe6f42e4ad198b85936bd408>:0
at Unity.Linker.UnityDriver.RunDriver () [0x00002] in <639e17e9fe6f42e4ad198b85936bd408>:0
stderr:

0 Unity 0x0000000101ad6a4c _Z13GetStacktracei + 92
1 Unity 0x0000000100c95f7a _Z17DebugStringToFileRK21DebugStringToFileData + 810
2 Unity 0x0000000102968063 _ZN15DebugLogHandler12Internal_LogE7LogTypeN4core12basic_stringIcNS1_20StringStorageDefaultIcEEEEP6Object + 323
3 Unity 0x0000000102967e2e _Z35DebugLogHandler_CUSTOM_Internal_Log7LogTypeP10MonoStringP10MonoObject + 334
4 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,string,UnityEngine.Object)
5 (Mono JIT Code) [DebugLogHandler.cs:10] UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[ ])
6 (Mono JIT Code) [Logger.cs:48] UnityEngine.Logger:Log (UnityEngine.LogType,object)
7 (Mono JIT Code) [Debug.bindings.cs:117] UnityEngine.Debug:LogError (object)
8 (Mono JIT Code) [BuildUtils.cs:130] UnityEditorInternal.Runner:RunProgram (UnityEditor.Utils.Program,string,string,string,UnityEditor.Scripting.Compilers.CompilerOutputParserBase)
9 (Mono JIT Code) [BuildUtils.cs:74] UnityEditorInternal.Runner:RunManagedProgram (string,string,string,UnityEditor.Scripting.Compilers.CompilerOutputParserBase,System.Action1<System.Diagnostics.ProcessStartInfo>) 10 (Mono JIT Code) [AssemblyStripper.cs:91] UnityEditorInternal.AssemblyStripper:RunAssemblyLinker (System.Collections.Generic.IEnumerable1,string&,string&,string,string)
11 (Mono JIT Code) [AssemblyStripper.cs:82] UnityEditorInternal.AssemblyStripper:StripAssembliesTo (string[ ],string[ ],string,string,string&,string&,string,UnityEditorInternal.IIl2CppPlatformProvider,System.Collections.Generic.IEnumerable1<string>) 12 (Mono JIT Code) [AssemblyStripper.cs:203] UnityEditorInternal.AssemblyStripper:RunAssemblyStripper (System.Collections.IEnumerable,string,string[ ],string[ ],string,UnityEditorInternal.IIl2CppPlatformProvider,UnityEditor.RuntimeClassRegistry) 13 (Mono JIT Code) [AssemblyStripper.cs:114] UnityEditorInternal.AssemblyStripper:StripAssemblies (string,UnityEditorInternal.IIl2CppPlatformProvider,UnityEditor.RuntimeClassRegistry) 14 (Mono JIT Code) [IL2CPPUtils.cs:156] UnityEditorInternal.IL2CPPBuilder:Run () 15 (Mono JIT Code) [IL2CPPUtils.cs:35] UnityEditorInternal.IL2CPPUtils:RunIl2Cpp (string,string,UnityEditorInternal.IIl2CppPlatformProvider,System.Action1,UnityEditor.RuntimeClassRegistry)
16 (Mono JIT Code) [BuildPostProcessor.cs:795] UnityEditor.iOS.PostProcessiPhonePlayer:CrossCompileManagedDlls (UnityEditor.iOS.PostProcessiPhonePlayer/BuildSettings,UnityEditor.iOS.PostProcessiPhonePlayer/ProjectPaths,UnityEditor.AssemblyReferenceChecker,UnityEditor.RuntimeClassRegistry,UnityEditor.Build.Reporting.BuildReport)
17 (Mono JIT Code) [BuildPostProcessor.cs:631] UnityEditor.iOS.PostProcessiPhonePlayer:PostProcess (UnityEditor.iOS.PostProcessiPhonePlayer/BuildSettings,UnityEditor.iOS.PostProcessiPhonePlayer/ProjectPaths,UnityEditor.RuntimeClassRegistry,UnityEditor.Build.Reporting.BuildReport)
18 (Mono JIT Code) [BuildPostProcessor.cs:585] UnityEditor.iOS.PostProcessiPhonePlayer:PostProcess (UnityEditor.iOS.PostProcessorSettings,UnityEditor.Modules.BuildPostProcessArgs)
19 (Mono JIT Code) [ExtensionModule.cs:38] UnityEditor.iOS.iOSBuildPostprocessor:PostProcess (UnityEditor.Modules.BuildPostProcessArgs)
20 (Mono JIT Code) [DefaultBuildPostprocessor.cs:31] UnityEditor.Modules.DefaultBuildPostprocessor:PostProcess (UnityEditor.Modules.BuildPostProcessArgs,UnityEditor.BuildProperties&)
21 (Mono JIT Code) [PostprocessBuildPlayer.cs:286] UnityEditor.PostprocessBuildPlayer:Postprocess (UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,string,string,string,int,int,UnityEditor.BuildOptions,UnityEditor.RuntimeClassRegistry,UnityEditor.Build.Reporting.BuildReport)
22 (Mono JIT Code) (wrapper runtime-invoke) :runtime_invoke_void_int_int_object_object_object_int_int_int_object_object (object,intptr,intptr,intptr)
23 libmono.0.dylib 0x000000014179a04a mono_jit_runtime_invoke + 1766
24 libmono.0.dylib 0x00000001418c69d6 mono_runtime_invoke + 117
25 Unity 0x00000001010ff11a _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 106
26 Unity 0x0000000101300f4f _ZL8CallMonoPKcS0_S0_RK18ScriptingArguments + 159
27 Unity 0x00000001012e74be _ZL23DoBuildPlayer_PostBuildRN4core12basic_stringIcNS_20StringStorageDefaultIcEEEE18BuildPlayerOptions18ScriptingObjectPtr24BuildTargetPlatformGroup19BuildTargetPlatformRN14BuildReporting11BuildReportE + 2606
28 Unity 0x00000001012e67de _Z13DoBuildPlayerRK16BuildPlayerSetupRSt6vectorIN18EditorSceneManager11SceneBackupE13stl_allocatorIS4_L18MemLabelIdentifier106ELi16EEEN4core12basic_stringIcNSA_20StringStorageDefaultIcEEEES2_ISE_SaISE_EEbRN14BuildReporting11BuildReportEPNSH_20BuiltAssetBundleInfoE + 2830
29 Unity 0x00000001012eb106 Z11BuildPlayerRK16BuildPlayerSetupRN14BuildReporting11BuildReportE + 2710
30 Unity 0x000000010286de74 Z47BuildPipeline_CUSTOM_BuildPlayerInternalNoCheckP9MonoArrayP10MonoStringS2_24BuildTargetPlatformGroup19BuildTargetPlatform18BuildPlayerOptionsh + 692
31 (Mono JIT Code) (wrapper managed-to-native) UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck (string[ ],string,string,UnityEditor.BuildTargetGroup,UnityEditor.BuildTarget,UnityEditor.BuildOptions,bool)
32 (Mono JIT Code) [BuildPlayerWindowBuildMethods.cs:165] UnityEditor.BuildPlayerWindow/DefaultBuildMethods:BuildPlayer (UnityEditor.BuildPlayerOptions)
33 (Mono JIT Code) [BuildPlayerWindowBuildMethods.cs:90] UnityEditor.BuildPlayerWindow:CallBuildMethods (bool,UnityEditor.BuildOptions)
34 (Mono JIT Code) [BuildPlayerWindow.cs:886] UnityEditor.BuildPlayerWindow:GUIBuildButtons (UnityEditor.Modules.IBuildWindowExtension,bool,bool,bool,UnityEditor.Build.BuildPlatform)
35 (Mono JIT Code) [BuildPlayerWindow.cs:812] UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings ()
36 (Mono JIT Code) [BuildPlayerWindow.cs:416] UnityEditor.BuildPlayerWindow:OnGUI ()
37 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this
(object,intptr,intptr,intptr)
38 libmono.0.dylib 0x000000014179a04a mono_jit_runtime_invoke + 1766
39 libmono.0.dylib 0x00000001418c69d6 mono_runtime_invoke + 117
40 libmono.0.dylib 0x00000001418cc77c mono_runtime_invoke_array + 946
41 libmono.0.dylib 0x000000014188b074 ves_icall_InternalInvoke + 481
42 (Mono JIT Code) (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[ ],System.Exception&)
43 (Mono JIT Code) [MonoMethod.cs:222] System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[ ],System.Globalization.CultureInfo)
44 (Mono JIT Code) [MethodBase.cs:115] System.Reflection.MethodBase:Invoke (object,object[ ])
45 (Mono JIT Code) [HostView.cs:292] UnityEditor.HostView:Invoke (string,object)
46 (Mono JIT Code) [HostView.cs:285] UnityEd

Hi, Could you please install 2018.1.0b5 without using the Hub, but with the download assistant and try to build again?

This is a known issue which we have corrected. The fix is on its way to a beta release. You can work around the issue by using this utility though:

https://github.com/Unity-Technologies/symbolstrip

The problem is that some assemblies used in the Unity project might have PDB files (used for debugging information), which are only compatible with Windows. The symbolstrip utility removes them.

The fix we have on its way will properly handle these PDB files, even on macOS.

1 Like