Mono scripting backend > Cross compilation job Assembly-CSharp.dll failed

Ok so this is frustrating.
Trying to establish a quicker testing workflow when building Xcodeprojects from Unity.

Mono scripting backend is supposed to be much quicker so I am trying to get to work, However I ALWAYS get a ‘Cross compilation’ error

Unity 5.5.1f1, Windows 10

Is there NO workaround? DO I have to use IL2CPP even for development??

I amusing the Simple Mobile Placeholder project from the Asset Store

Here is my Console

Cross compilation job Assembly-CSharp.dll failed.
UnityEngine.UnityException: Failed AOT cross compiler: C:/Program Files/Unity5.5/Editor/Data/PlaybackEngines/iOSSupport\Tools/Win/mono-xcompiler.exe --debug --optimize=-linears --aot=full,asmonly,write-symbols,soft-debug,static,outfile="Assembly-CSharp.dll.s" "Assembly-CSharp.dll"  current dir : D:\Fourthwall\_delete_me!\SimpleMobilePlaceholder\Temp/StagingArea/Data/Managed
 result file exists: False. Timed out: False

stdout:

stderr:

  at UnityEditor.MonoProcessUtility.RunMonoProcess (System.Diagnostics.Process process, System.String name, System.String resultingFile) [0x000e2] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoAssemblyStripping.cs:113 
  at UnityEditor.MonoCrossCompile.CrossCompileAOT (BuildTarget target, System.String crossCompilerAbsolutePath, System.String assembliesAbsoluteDirectory, CrossCompileOptions crossCompileOptions, System.String input, System.String output, System.String additionalOptions) [0x0034e] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoCrossCompile.cs:318 
  at UnityEditor.MonoCrossCompile+JobCompileAOT.ThreadPoolCallback (System.Object threadContext) [0x0002c] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoCrossCompile.cs:52 
UnityEditor.HostView:OnGUI()

So, this is NOT the entire Editor log, but just the portion with the errors. Also, can someone tell me how to read an Editor log. Do you start at the bottom and work your way up? I assume you focus on what is happening just before the error occurs, so does this mean ABOVE the error, or BELOW the error? Any feedback appreciated!

Failed AOT cross compiler: C:/Program Files/Unity5.5/Editor/Data/PlaybackEngines/iOSSupport\Tools/Win/mono-xcompiler.exe --debug --optimize=-linears --aot=full,asmonly,write-symbols,soft-debug,ficall,static,outfile="Assembly-CSharp.dll.s" "Assembly-CSharp.dll"  current dir : D:\Fourthwall\_delete_me!\SimpleMobilePlaceholder\Temp/StagingArea/Data/Managed
 result file exists: False. Timed out: False

stdout:

stderr:


Cross compilation job Assembly-CSharp.dll failed.
UnityEngine.UnityException: Failed AOT cross compiler: C:/Program Files/Unity5.5/Editor/Data/PlaybackEngines/iOSSupport\Tools/Win/mono-xcompiler.exe --debug --optimize=-linears --aot=full,asmonly,write-symbols,soft-debug,ficall,static,outfile="Assembly-CSharp.dll.s" "Assembly-CSharp.dll"  current dir : D:\Fourthwall\_delete_me!\SimpleMobilePlaceholder\Temp/StagingArea/Data/Managed
 result file exists: False. Timed out: False

stdout:

stderr:


  at UnityEditor.MonoProcessUtility.RunMonoProcess (System.Diagnostics.Process process, System.String name, System.String resultingFile) [0x000e2] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoAssemblyStripping.cs:113 
  at UnityEditor.MonoCrossCompile.CrossCompileAOT (BuildTarget target, System.String crossCompilerAbsolutePath, System.String assembliesAbsoluteDirectory, CrossCompileOptions crossCompileOptions, System.String input, System.String output, System.String additionalOptions) [0x0034e] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoCrossCompile.cs:318 
  at UnityEditor.MonoCrossCompile+JobCompileAOT.ThreadPoolCallback (System.Object threadContext) [0x0002c] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoCrossCompile.cs:52 
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:LogFormat(LogType, String, Object[])
UnityEngine.Debug:LogErrorFormat(String, Object[])
UnityEditor.MonoCrossCompile:CrossCompileAOTDirectoryParallel(String, BuildTarget, CrossCompileOptions, String, String, String) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\MonoCrossCompile.cs:223)
UnityEditor.iOS.PostProcessiPhonePlayer:CrossCompileManagedDlls(BuildSettings, ProjectPaths, AssemblyReferenceChecker, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:648)
UnityEditor.iOS.PostProcessiPhonePlayer:PostProcess(BuildSettings, ProjectPaths, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:516)
UnityEditor.iOS.PostProcessiPhonePlayer:PostProcess(PostProcessorSettings, BuildPostProcessArgs) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:487)
UnityEditor.iOS.iOSBuildPostprocessor:PostProcess(BuildPostProcessArgs) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:34)
UnityEditor.PostprocessBuildPlayer:Postprocess(BuildTarget, String, String, String, Int32, Int32, String, String, BuildOptions, RuntimeClassRegistry, BuildReport) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:186)
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTarget, BuildOptions, Boolean)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:464)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:321)
UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1359)
UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1286)
UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:887)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:249)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:242)
UnityEditor.HostView:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:76)

(Filename: /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs Line: 648)

UnityException: Cross compilation failed.
  at UnityEditor.iOS.PostProcessiPhonePlayer.CrossCompileManagedDlls (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.AssemblyReferenceChecker checker, UnityEditor.RuntimeClassRegistry usedClassRegistry) [0x00084] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:651 
  at UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.RuntimeClassRegistry usedClassRegistry) [0x000e2] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:516 
  at UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (PostProcessorSettings postProcessorSettings, BuildPostProcessArgs args) [0x00063] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:487 
  at UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args) [0x00008] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:34 
  at UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) [0x000d4] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:186 
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTarget, BuildOptions, Boolean)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:464)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:321)
UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1359)
UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1286)
UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:887)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:249)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:242)
UnityEditor.HostView:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:76)

(Filename: /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs Line: 651)

UnityException: Cross compilation failed.
  at UnityEditor.iOS.PostProcessiPhonePlayer.CrossCompileManagedDlls (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.AssemblyReferenceChecker checker, UnityEditor.RuntimeClassRegistry usedClassRegistry) [0x00084] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:651 
  at UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (BuildSettings bs, UnityEditor.iOS.ProjectPaths paths, UnityEditor.RuntimeClassRegistry usedClassRegistry) [0x000e2] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:516 
  at UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (PostProcessorSettings postProcessorSettings, BuildPostProcessArgs args) [0x00063] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:487 
  at UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args) [0x00008] in /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:34 
  at UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, System.String manualDownloadWebplayerUrl, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) [0x000d4] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:186 
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck(String[], String, String, BuildTarget, BuildOptions, Boolean)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:464)
UnityEditor.BuildPlayerWindow:BuildPlayerWithDefaultSettings(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:321)
UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1359)
UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:1286)
UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:887)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
System.Reflection.MethodBase:Invoke(Object, Object[]) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:249)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:242)
UnityEditor.HostView:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:76)

This should work. Can you try it on a Mac machine and see if the same error occurs? Maybe something in this project is causing a problem.

Yes. At least for the Xcode Project build from Unity using Mono backend works on Mac. However now I always get the following error during the 2nd .ipa class compiling step in XCode.

line 3144 in RegisterMonoModules.cpp RegisterAllClasses() function

RegisterClass<Unity::Component>(); Use of undeclared identifier 'Unity'

Op, ok so it seems that when using Mono you need to disable any Stripping. Build-compile times are much better though when compared with Windows.

Windows (Metal, IL2CPP, Stripping, .NetSubset)
XCode build 22 seconds
.ipa compile (using iOS Project Builder) 45 seconds

OSX (Metal, Mono, NO stripping .NetSubset)
XCode build (Symlink Unity libraries) 18 seconds
.ipa compile in XCode 19 seconds