Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug Unity won't build for Android using IL2CPP on Macbook Pro using Big Sur

Discussion in 'Editor & General Support' started by tobias_unity, Dec 29, 2020.

  1. tobias_unity

    tobias_unity

    Joined:
    Feb 3, 2018
    Posts:
    66
    Unity version: 2018.4.30f1
    OS: Big Sur 11.1

    Build settings
    Scripting Backend: IL2CPP
    API Compatibility Level: .NET 2.0 Subset
    Target Architectures: ARMv7 + ARM64

    I get build errors on all Macbooks running Big Sur 11.1. I have created an empty project and I still get this error when building. It has been working perfectly until updating to Unity 2018.4.30f1 (but downgrade won't work anymore either).

    Can any of you help or try to recreate the build with this setup to see if it fails for you as well? I think it might be a Unity bug.
     
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,920
    Can you provide details about the error message?
     
  3. tobias_unity

    tobias_unity

    Joined:
    Feb 3, 2018
    Posts:
    66
    Hey Josh, thanks for your comment. I am getting these two errors:

    Failed running /Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/build/il2cppcore/il2cppcore.dll --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="legacyunity" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a/libil2cpp.so" --cachedirectory="/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Assets/../Library/il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" --additional-include-directories="/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" --tool-chain-path="/Users/easypoker/Documents/EasyPoker/android-ndk-r16b" --map-file-parser="/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --directory="/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/assets/bin/Data/Managed" --generatedcppdir="/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput"

    stdout:
    Building libil2cpp.so with AndroidToolChain
    Output directory: /Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a
    Cache directory: /Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Library/il2cpp_android_armeabi-v7a/il2cpp_cache
    il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException:

    Invocation was: Executable: /Users/easypoker/Documents/EasyPoker/android-ndk-r16b/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++
    Arguments: -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/external/boehmgc/include" -I"/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -funwind-tables -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,--noexecstack -fno-rtti -std=c++98 -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sysroot" -gcc-toolchain "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64" -target armv7-none-linux-androideabi -isystem "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sysroot/usr/include/arm-linux-androideabi" -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value "/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.cpp" -o "/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/2E8C8DE11511D66A48AC205B761ED34E.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: /Users/easypoker/Documents/EasyPoker/android-ndk-r16b/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++
    Arguments: -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/external/boehmgc/include" -I"/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -funwind-tables -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,--noexecstack -fno-rtti -std=c++98 -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sysroot" -gcc-toolchain "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64" -target armv7-none-linux-androideabi -isystem "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sysroot/usr/include/arm-linux-androideabi" -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value "/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.cpp" -o "/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/2E8C8DE11511D66A48AC205B761ED34E.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)

    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
    UnityEditorInternal.Runner:RunNetCoreProgram(String, String, String, CompilerOutputParserBase, Action`1) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:79)
    UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List`1, Action`1, String) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:374)
    UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(String, String, String, Boolean) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:357)
    UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:211)
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:35)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

    Error 2:

    Exception: /Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/build/il2cppcore/il2cppcore.dll 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/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:130)
    UnityEditorInternal.Runner.RunNetCoreProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1 setupStartInfo) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:79)
    UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1 arguments, System.Action`1 setupStartInfo, System.String workingDirectory) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:374)
    UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (System.String inputDirectory, System.String outputDirectory, System.String workingDirectory, Boolean platformSupportsManagedDebugging) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:357)
    UnityEditorInternal.IL2CPPBuilder.Run () (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:211)
    UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action`1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:35)
    UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
    UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report)
    UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties)
    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/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:288)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
     
  4. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,920
    Thanks for the details. I'm unsure why this happens, and the error message from the clang compiler in the Android NDK is not providing any information. When this happens, can you run the clang compilation that fails directly from the command line?

    /Users/easypoker/Documents/EasyPoker/android-ndk-r16b/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/libil2cpp" -I"/Applications/Unity/Hub/Editor/2018.4.30f1/Unity.app/Contents/il2cpp/external/boehmgc/include" -I"/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput" -I"." -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include" -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include/backward" -I"/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include" -c -g -DNDEBUG -funwind-tables -fno-limit-debug-info -fdata-sections -ffunction-sections -Wa,--noexecstack -fno-rtti -std=c++98 -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-overflow -fPIC -Os --sysroot "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sysroot" -gcc-toolchain "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64" -target armv7-none-linux-androideabi -isystem "/Users/easypoker/Documents/EasyPoker/android-ndk-r16b/sysroot/usr/include/arm-linux-androideabi" -D__ANDROID_API__=16 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-fp16 -Wno-unused-value "/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Temp/StagingArea/Il2Cpp/il2cppOutput/Il2CppTypeDefinitions.cpp" -o "/Users/easypoker/Downloads/EasyPoker-easypoker-d3497c5934bc/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/2E8C8DE11511D66A48AC205B761ED34E.o"

    Be sure to try this with the Unity Editor still open - that will keep all of the necessary temporary files in the right state. Hopefully this will give us an error from clang that we can make sense of.