Build Error Relating to IL2CCP When on Android

I get this build error whenever I’m building for android, and I have no idea what it means or how to fix it. If somebody could help out I would greatly appreciate it:

Exception: Failed running C:\Program Files\Unity\Hub\Editor\2020.3.25f1\Editor\Data\il2cpp/build/BeeSettings/offline/bee.exe --no-colors --prebuiltbuildprogram=“C:\Program Files\Unity\Hub\Editor\2020.3.25f1\Editor\Data\il2cpp/build/BeeSettings/offline/artifacts/buildprogram/buildprogram.exe”
stdout:
Require frontend run. tundra.dag no longer valid. FileSignature timestamp changed: il2cpp_settings.json
[ 0s] Executed build program. Created build graph with 2 nodes.
[ 0s] Freezing tundra.dag.json into .dag (.dag file didn’t exist)
[BUSY 6s] Il2Cpp C:/Users/cafeboy/Desktop/Unity/Practice/Parry_Slash/Library/Il2cppBuildCache/Android/arm64-v8a/Native/arm64-v8a/libil2cpp.so
[0/2 7s] Il2Cpp C:/Users/cafeboy/Desktop/Unity/Practice/Parry_Slash/Library/Il2cppBuildCache/Android/arm64-v8a/Native/arm64-v8a/libil2cpp.so

CommandLine

“C:\Program Files\Unity\Hub\Editor\2020.3.25f1\Editor\Data\il2cpp/build/deploy/netcoreapp3.1/il2cpp.exe” --compile-cpp --libil2cpp-static --platform=“Android” --architecture=“ARM64” --configuration=“Release” --outputpath=“C:\Users\cafeboy\Desktop\Unity\Practice\Parry_Slash\Library\Il2cppBuildCache\Android\arm64-v8a\Native\arm64-v8a\libil2cpp.so” --cachedirectory=“C:\Users\cafeboy\Desktop\Unity\Practice\Parry_Slash\Assets..\Library\il2cpp_android_arm64-v8a/il2cpp_cache” --additional-include-directories=“C:/Program Files/Unity/Hub/Editor/2020.3.25f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include” --additional-include-directories=“C:/Program Files/Unity/Hub/Editor/2020.3.25f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include” --baselib-directory=“C:/Program Files/Unity/Hub/Editor/2020.3.25f1/Editor/Data/PlaybackEngines/AndroidPlayer\Variations\il2cpp\Release\StaticLibs\arm64-v8a” --avoid-dynamic-library-copy --tool-chain-path=“C:/Program Files/Unity/Hub/Editor/2020.3.25f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK” --incremental-g-c-time-slice=3 --profiler-report --map-file-parser=“C:/Program Files/Unity/Hub/Editor/2020.3.25f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe” --generatedcppdir=C:/Users/cafeboy/Desktop/Unity/Practice/Parry_Slash/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppOutput --stats-output-dir=C:/Users/cafeboy/Desktop/Unity/Practice/Parry_Slash/Library/Il2cppBuildCache/Android/armeabi-v7a/il2cppStats --dotnetprofile=“unityaot”

ExitCode

-1

Output

Building libil2cpp.so with AndroidToolChain
Output directory: C:\Users\cafeboy\Desktop\Unity\Practice\Parry_Slash\Library\Il2cppBuildCache\Android\arm64-v8a\Native\arm64-v8a
Cache directory: C:\Users\cafeboy\Desktop\Unity\Practice\Parry_Slash\Library\il2cpp_android_arm64-v8a\il2cpp_cache
ObjectFiles: 387 of which compiled: 15
Time Compile: 3186 milliseconds Il2CppCCalculateFieldValues.cpp
Time Compile: 3172 milliseconds Il2CppCCalculateFieldValues1.cpp
Time Compile: 2983 milliseconds Il2CppCCalculateTypeValues.cpp
Time Compile: 1701 milliseconds GoogleMobileAds.cpp
Time Compile: 1580 milliseconds Il2CppTypeDefinitions.c
Time Compile: 1399 milliseconds Il2CppMetadataUsage.c
Time Compile: 1257 milliseconds GoogleMobileAds.Common.cpp
Time Compile: 1209 milliseconds Il2CppCCalculateTypeValues1.cpp
Time Compile: 849 milliseconds Il2CppCCFieldValuesTable.cpp
Time Compile: 825 milliseconds Il2CppCCTypeValuesTable.cpp
Total compilation time: 6115 milliseconds.
Error: System.IO.IOException: Access to the path ‘\?\C:\Users\cafeboy\Desktop\Unity\Practice\Parry_Slash\Library\il2cpp_android_arm64-v8a\il2cpp_cache\linkresult_883AF8FA1F5B9312C39A7AF85E9B1117’ is denied.
at System.IO.FileSystem.RemoveDirectoryInternal(String fullPath, Boolean topLevel, Boolean allowDirectoryNotEmpty)
at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath, WIN32_FIND_DATA& findData, Boolean topLevel)
at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive)
at NiceIO.NPath.Delete(DeleteMode deleteMode)
at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet1 objectFiles, CppToolChainContext toolChainContext) at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics) at il2cpp.Compilation.CompilationDriver.Run(RuntimePlatform platform, BuildingOptions buildingOptions, ReadOnlyCollection1 matchedAssemblyMethodSourceFiles)
at il2cpp.Program.DoRun(String[ ] args, RuntimePlatform platform, BuildingOptions buildingOptions, Boolean throwExceptions)
*** Bee build failed (9.37 seconds), 1 items updated, 2 evaluated
stderr:
UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action1[T] setupStartInfo) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0) UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List1[T] arguments, System.Action1[T] setupStartInfo) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0) UnityEditorInternal.IL2CPPBuilder.RunCompileAndLink (System.String il2cppBuildCacheSource) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0) UnityEditorInternal.IL2CPPUtils.RunCompileAndLink (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry, System.String il2cppBuildCacheSource) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

The error seems to be this:

Access to the path ‘\?\C:\Users\cafeboy\Desktop\Unity\Practice\Parry_Slash\Library\il2cpp_android_arm64-v8a\il2cpp_cache\linkresult_883AF8FA1F5B9312C39A7AF85E9B1117’ is denied.

It looks like something it trying to use an extended length path or use some special characters in the path. See windows - What does \\?\ mean when prepended to a file path - Stack Overflow for more details.

I’m unsure why that is happening in this case though. Could it have something to do with the way you started the Unity editor?

I recently changed the project folder name. Could this be a large factor?

That might be the case. I wonder if something is cached in the Library folder with the previous project name. You could try deleting or renaming the Library folder (with the editor closed). Then it will be regenerated.

Deleted the Library folder, then tried to Build. It resulted in this error:

IOException: Win32 IO returned 112. Path: Library\Il2cppBuildCache\Android\armeabi-v7a\Native\armeabi-v7a\libil2cpp.sym.so" or "Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.sym.so
System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) (at <695d1cc93cca45069c528c15c9fdd749>:0)
UnityEditor.FileUtil.UnityFileCopy (System.String from, System.String to, System.Boolean overwrite) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.FileUtil.CopyDirectoryFiltered (System.String source, System.String target, System.Boolean overwrite, System.Func2[T,TResult] includeCallback, System.Boolean recursive) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0) UnityEditor.FileUtil.CopyDirectoryFiltered (System.String source, System.String target, System.Boolean overwrite, System.Func2[T,TResult] includeCallback, System.Boolean recursive) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.FileUtil.CopyDirectoryFiltered (System.String source, System.String target, System.Boolean overwrite, System.String regExExcludeFilter, System.Boolean recursive) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.FileUtil.CopyDirectoryRecursiveFiltered (System.String source, System.String target, System.Boolean overwrite, System.String regExExcludeFilter) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.FileUtil.CopyDirectoryRecursive (System.String source, System.String target, System.Boolean overwrite, System.Boolean ignoreMeta) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.FileUtil.CopyDirectoryRecursive (System.String source, System.String target, System.Boolean overwrite) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List1[T] arguments, System.Action1[T] setupStartInfo) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (UnityEditor.Il2Cpp.Il2CppBuildPipelineData data) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditorInternal.IL2CPPBuilder.Run () (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

Based on this thread, it looks like that happens when the disk is out of space: Win IO 32 returned 112

Is that the case for your build?

Hi, I am stuck here please help me and i get this build error with unity version 2022.1.5f1

Building Library\Bee\artifacts\Android\ManagedStripped failed with output:
C:\Program Files\Unity\Hub\Editor\2022.1.5f1\Editor\Data\il2cpp\build\deploy\UnityLinker.exe --search-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Library/Bee/PlayerScriptAssemblies --search-directory=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/PlaybackEngines/AndroidPlayer/Variations/il2cpp/Managed --search-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Library/PackageCache/com.unity.nuget.newtonsoft-json@3.0.2/Runtime/AOT --search-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Assets/GoogleMobileAds --search-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Library/PackageCache/com.unity.visualscripting@1.7.8/Runtime/VisualScripting.Flow/Dependencies/NCalc --search-directory=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux --search-directory=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux/Facades --out=Library/Bee/artifacts/Android/ManagedStripped --include-link-xml=D:/WORK/My Projects After Big Bang/Admobbbb/Temp/StagingArea/Data/Managed\MethodsToPreserve.xml --include-link-xml=D:/WORK/My Projects After Big Bang/Admobbbb/Temp/StagingArea/Data/Managed\TypesInScenes.xml --include-link-xml=D:/WORK/My Projects After Big Bang/Admobbbb/Temp/StagingArea/Data/Managed\SerializedTypes.xml --include-link-xml=D:\WORK\My Projects After Big Bang\Admobbbb\Assets\GoogleMobileAds\link.xml --include-link-xml=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools/AndroidNativeLink.xml --include-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Library/Bee/PlayerScriptAssemblies --include-directory=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/PlaybackEngines/AndroidPlayer/Variations/il2cpp/Managed --include-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Library/PackageCache/com.unity.nuget.newtonsoft-json@3.0.2/Runtime/AOT --include-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Assets/GoogleMobileAds --include-directory=D:/WORK/My Projects After Big Bang/Admobbbb/Library/PackageCache/com.unity.visualscripting@1.7.8/Runtime/VisualScripting.Flow/Dependencies/NCalc --include-directory=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux --include-directory=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/MonoBleedingEdge/lib/mono/unityaot-linux/Facades --dotnetprofile=unityaot-linux --dotnetruntime=Il2Cpp --platform=Android --use-editor-options --enable-engine-module-stripping --engine-modules-asset-file=C:/Program Files/Unity/Hub/Editor/2022.1.5f1/Editor/Data/PlaybackEngines/AndroidPlayer/modules.asset --editor-data-file=D:/WORK/My Projects After Big Bang/Admobbbb/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --include-unity-root-assembly=D:/WORK/My Projects After Big Bang/Admobbbb/Library/Bee/PlayerScriptAssemblies/Assembly-CSharp.dll --include-unity-root-assembly=D:/WORK/My Projects After Big Bang/Admobbbb/Library/Bee/PlayerScriptAssemblies/UnityEngine.UI.dll --print-command-line
Fatal error in Unity CIL Linker
Mono.Linker.LinkerFatalErrorException: ILLink: error IL1005: GoogleMobileAds.Api.MobileAds.GetClientFactory(): Error processing method ‘GoogleMobileAds.Api.MobileAds.GetClientFactory()’ in assembly ‘GoogleMobileAds.dll’
—> System.InvalidOperationException: No action for the assembly GoogleMobileAds.Unity, Version=7.1.0.0, Culture=neutral, PublicKeyToken=null defined
at Mono.Linker.AnnotationStore.GetAction(AssemblyDefinition assembly)
at Mono.Linker.Steps.MarkStep.MarkCustomAttributes(ICustomAttributeProvider provider, DependencyInfo& reason, IMemberDefinition sourceLocationMember)
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.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&)

I’ve responded here: https://discussions.unity.com/t/828061/15