[IL2CPP] Android Build Failure/Crash after Changing Scripting Backend to IL2CPP

I’m trying to comply with Google’s new 64-bit policy, but no matter what my build fails (sometimes crashes) at “building native binary with IL2CPP.”

I’ve already installed Android NDK, and done just about everything recommended in every thread with a similar error to mine. Nothing has worked. I’ve tried switching Unity versions including 2020.1.0a11.

error

Failed running /Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/build/il2cppcore/il2cppcore.dll --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile=“unityaot” --compile-cpp --libil2cpp-static --platform=“Android” --architecture=“ARMv7” --configuration=“Release” --outputpath=“/Users/kayla/Messenger/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a/libil2cpp.so” --cachedirectory=“/Users/kayla/Messenger/Assets/…/Library/il2cpp_android_armeabi-v7a/il2cpp_cache” --additional-include-directories=“/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include” --additional-include-directories=“/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include” --tool-chain-path=“/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK” --profiler-report --map-file-parser=“/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser” --directory=“/Users/kayla/Messenger/Temp/StagingArea/assets/bin/Data/Managed” --generatedcppdir=“/Users/kayla/Messenger/Temp/StagingArea/Il2Cpp/il2cppOutput”

stdout:

Building libil2cpp.so with AndroidToolChain

Output directory: /Users/kayla/Messenger/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a

Cache directory: /Users/kayla/Messenger/Library/il2cpp_android_armeabi-v7a/il2cpp_cache

il2cpp.exe didn’t catch exception: Unity.IL2CPP.Building.BuilderFailedException:

Arguments: -DNET_4_0 -DUNITY_AOT -DIL2CPP_MONO_DEBUGGER_DISABLED -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/xxHash" -I"/Users/kayla/Messenger/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -fexceptions -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,–noexecstack -fno-rtti -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot” -gcc-toolchain “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64” -target armv7-none-linux-androideabi -isystem “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot/usr/include/arm-linux-androideabi” -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value "/Users/kayla/

Messenger/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.c" -o “/Users/kayla/Messenger/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/E0774A35A1903EBC15C9C16F413FDBF9.o”

at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)

at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)

at il2cpp.Program.DoRun(String[ ] args)

at il2cpp.Program.Run(String[ ] args)

at il2cpp.Program.Main(String[ ] args)

stderr:

Unhandled Exception: Unity.IL2CPP.Building.BuilderFailedException:

Invocation was: Executable: /Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang

Arguments: -DNET_4_0 -DUNITY_AOT -DIL2CPP_MONO_DEBUGGER_DISABLED -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include"

-I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/xxHash" -I"/Users/kayla/Messenger/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -fexceptions -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,–noexecstack -fno-rtti -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot” -gcc-toolchain “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64” -target armv7-none-linux-androideabi -isystem “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot/usr/include/arm-linux-androideabi” -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value “/Users/kayla/Messenger/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.c” -o “/Users/kayla/Messenger/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/E0774A35A1903EBC15C9C16F413FDBF9.o”

at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)

at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)

at il2cpp.Program.DoRun(String[ ] args)

at il2cpp.Program.Run(String[ ] args)

at il2cpp.Program.Main(String[ ] args)

at Program.Main(String[ ] args) in /Users/builduser/buildslave/unity/build/External/il2cpp/il2cpp/il2cppcore/Program.cs:line 24

UnityEngine.Debug:LogError(Object)

UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:126)

UnityEditorInternal.Runner:RunNetCoreProgram(String, String, String, CompilerOutputParserBase, Action`1) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:77)

UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List1, Action1, String) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:501)

UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(String, String, String, Boolean) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:484)

UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:334)

UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:63)

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

Are you on OSX Catalina? Do you get any security related pop-ups when building?
I so, then I believe you can work this around by installing the correct version of NDK via Android Studio and then point Unity to it. It’s a known issue, but it is still being worked on.

hi there. I think I got the same issue. This is what I get when I try to build to android. In my project x86 architecture is also selected. I tried to install ndk 16 with android studio but doing that I immideately get “NDK not found”. If that will solve my issue what is the correct way to point unity to android studio’s NDK.
when I check android studio preferences


As i see here ndk is installed under this directory.
/Users/eytan/Library/Android/sdk
but when I tried unity couldnt find the NDK. So I searched over internet and read that the NDK is installed in a subdirectory
/Users/eytan/Library/Android/sdk/ndk-bundle
Still did not work. What am i doing wrong? Thanks. My unity version is 2019.2.11.f1 And I am using MACOS Mojave

Failed running /Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/build/il2cppcore/il2cppcore.dll --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile=“unityaot” --compile-cpp --libil2cpp-static --platform=“Android” --architecture=“ARMv7” --configuration=“Release” --outputpath=“/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a/libil2cpp.so” --cachedirectory=“/Users/eytan/Desktop/voyager game/voyager/Assets/…/Library/il2cpp_android_armeabi-v7a/il2cpp_cache” --additional-include-directories=“/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include” --additional-include-directories=“/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include” --tool-chain-path=“/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK” --profiler-report --map-file-parser=“/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser” --directory=“/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/assets/bin/Data/Managed” --generatedcppdir=“/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/Il2Cpp/il2cppOutput”

stdout:
Building libil2cpp.so with AndroidToolChain
Output directory: /Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a
Cache directory: /Users/eytan/Desktop/voyager game/voyager/Library/il2cpp_android_armeabi-v7a/il2cpp_cache
il2cpp.exe didn’t catch exception: Unity.IL2CPP.Building.BuilderFailedException:

Invocation was: Executable: /Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
Arguments: -DNET_4_0 -DUNITY_AOT -DIL2CPP_MONO_DEBUGGER_DISABLED -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/xxHash" -I"/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -fexceptions -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,–noexecstack -fno-rtti -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot” -gcc-toolchain “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64” -target armv7-none-linux-androideabi -isystem “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot/usr/include/arm-linux-androideabi” -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value “/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.c” -o “/Users/eytan/Desktop/voyager game/voyager/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/7CD2BBA1153A54CF2DAF76D95B03A115.o”

at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)
at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
at il2cpp.Program.DoRun(String[ ] args)
at il2cpp.Program.Run(String[ ] args)
at il2cpp.Program.Main(String[ ] args)
stderr:

Unhandled Exception: Unity.IL2CPP.Building.BuilderFailedException:

Invocation was: Executable: /Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang
Arguments: -DNET_4_0 -DUNITY_AOT -DIL2CPP_MONO_DEBUGGER_DISABLED -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/Unity.app/Contents/il2cpp/external/xxHash" -I"/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -fexceptions -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,–noexecstack -fno-rtti -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot” -gcc-toolchain “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64” -target armv7-none-linux-androideabi -isystem “/Applications/Unity/Hub/Editor/2019.2.11f1/PlaybackEngines/AndroidPlayer/NDK/sysroot/usr/include/arm-linux-androideabi” -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value “/Users/eytan/Desktop/voyager game/voyager/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.c” -o “/Users/eytan/Desktop/voyager game/voyager/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/7CD2BBA1153A54CF2DAF76D95B03A115.o”

at Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)
at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
at il2cpp.Program.DoRun(String[ ] args)
at il2cpp.Program.Run(String[ ] args)
at il2cpp.Program.Main(String[ ] args)
at Program.Main(String[ ] args) in /Users/builduser/buildslave/unity/build/External/il2cpp/il2cpp/il2cppcore/Program.cs:line 24

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:126)
UnityEditorInternal.Runner:RunNetCoreProgram(String, String, String, CompilerOutputParserBase, Action1) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:77) UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List1, Action1, String) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:501) UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(String, String, String, Boolean) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:484) UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:334) UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action1, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:63)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)