MAC Build Failures - Undefined symbols for architecture x86_64: "___darwin_check_fd_set_overflow"

I develop on a mac.
When i build my game locally it works fine.
Same codebase when built for mac using the Cloud Build fails.

This looks like a build environment issue and less like a code issue to me.
Anyone else encounter this? Any formal response from Unity?

Thanks
j.

1670: [Unity] /UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/il2cpp/build/deploy/net471/UnityLinker.exe exited after 7024 ms.
1671: [Unity] Invoking il2cpp with arguments: --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="MacOSX" --architecture="x64" --configuration="Release" --outputpath="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/Native/GameAssembly.dylib" --cachedirectory="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Assets/../Library/il2cpp_cache" --profiler-report --map-file-parser="/UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --directory="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/Managed" --generatedcppdir="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/il2cppOutput"
1672: [Unity] /UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/il2cpp/build/deploy/il2cppcore/il2cppcore.dll exited after 62486 ms.
1673: [Unity] ERROR: Failed running /UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/il2cpp/build/deploy/il2cppcore/il2cppcore.dll --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="MacOSX" --architecture="x64" --configuration="Release" --outputpath="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/Native/GameAssembly.dylib" --cachedirectory="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Assets/../Library/il2cpp_cache" --profiler-report --map-file-parser="/UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --directory="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/Managed" --generatedcppdir="/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/il2cppOutput"
1674: [Unity] stdout:
1675: [Unity] Building GameAssembly.dylib with ClangToolChain
1676: [Unity]     Mac Dev SDK: /APPLICATION_PATH/Xcode11_4_1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
1677: [Unity]     Output directory: /BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Temp/StagingArea/Data/Native
1678: [Unity]     Cache directory: /BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache
1679: [Unity] ObjectFiles: 213 of which compiled: 0
1680: [Unity] Total compilation time: 848 milliseconds.
1681: [Unity] il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: /usr/bin/ld -o "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/linkresult_F3BA5D11F38F8888CDD7D6FF4238F814/GameAssembly.dylib" -dylib -arch x86_64 -macosx_version_min 10.9 -lSystem -lc++ -lpthread -map "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/linkresult_F3BA5D11F38F8888CDD7D6FF4238F814/GameAssembly.map" -dead_strip -liconv -framework Foundation -framework Security -framework CoreFoundation "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/99BB2256B2221EAFECCCBBC124348282.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/6FD06805BAB33BC161E8A6CAAFC3212F.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/50E65CD9A4C15D25B828EB1307601F8A.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/9A0FD19D082D81E667597E03630279F0.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/E093193EAFF41F6602F2543313F4F914.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/0638825B57F0D6A5C0AE58F5372668ED.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/604C01EE74A583A2C1C91BEC1A949098.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/5003FF821960C8B7157542B0F8F5CC5D.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/3C49E9EE96D83B4D58CBB67502862C83.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/9E1E9F78310C650847BFF5E7E0833854.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/9DD1F9B56C9804DE8A062472E08BFB11.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/04CD7B17BD7D3E65A3D5189D79C643B4.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/96BEFD0B64EA835B702E390EEC07AFCD.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/D4CED6C70F0606EB74F7F640C0E24899.o" "/BUILD_PATH/jamie-guillemette.thelastknight.dev-mac-build/Library/il2cpp_cache/1AE10D33666043BA022A2B...
1682: [Unity] Undefined symbols for architecture x86_64:
1683: [Unity]   "___darwin_check_fd_set_overflow", referenced from:
1684: [Unity]       __ZN6il2cpp2os7Console20InternalKeyAvailableEi in 9E4E601FF301AF9A1991212F57191BD1.o
1685: [Unity] ld: symbol(s) not found for architecture x86_64
1686: [Unity]    at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet`1 objectFiles, CppToolChainContext toolChainContext)
1687: [Unity]    at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
1688: [Unity]    at il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
1689: [Unity]    at il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
1690: [Unity]    at il2cpp.Program.Main(String[] args)
1 Like

I’m having the same issue. I develop on Windows using Unity 2019.4.5f1, and my local build settings are configured for a WebGL build, I was hoping to have cloud build take care of MacOs without much change from my side. Is there anything I’m doing wrong here?

8813: [Unity] Invoking il2cpp with arguments: --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="MacOSX" --architecture="x64" --configuration="Release" --outputpath="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/Native/GameAssembly.dylib" --cachedirectory="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Assets/../Library/il2cpp_cache" --profiler-report --map-file-parser="/UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --directory="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/Managed" --generatedcppdir="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/il2cppOutput"
8814: [Unity] /UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/il2cpp/build/deploy/il2cppcore/il2cppcore.dll exited after 173457 ms.
8815: [Unity] ERROR: Failed running /UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/il2cpp/build/deploy/il2cppcore/il2cppcore.dll --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="MacOSX" --architecture="x64" --configuration="Release" --outputpath="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/Native/GameAssembly.dylib" --cachedirectory="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Assets/../Library/il2cpp_cache" --profiler-report --map-file-parser="/UNITY_PATH/Unity/macos/published/Unity-2019_4_5f1/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --directory="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/Managed" --generatedcppdir="/BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/il2cppOutput"
8816: [Unity] stdout:
8817: [Unity] Building GameAssembly.dylib with ClangToolChain
8818: [Unity]     Mac Dev SDK: /APPLICATION_PATH/Xcode11_4_1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
8819: [Unity]     Output directory: /BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Temp/StagingArea/Data/Native
8820: [Unity]     Cache directory: /BUILD_PATH/kingpandu.new-unity-project.default-mac-dec8ltdfzz/Library/il2cpp_cache
8834: [Unity] Undefined symbols for architecture x86_64:
8835: [Unity]   "___darwin_check_fd_set_overflow", referenced from:
8836: [Unity]       __ZN6il2cpp2os7Console20InternalKeyAvailableEi in 95B5F86AE70E0A565657B83098F4A788.o
8837: [Unity] ld: symbol(s) not found for architecture x86_64
8838: [Unity]    at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet`1 objectFiles, CppToolChainContext toolChainContext)
8839: [Unity]    at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
8840: [Unity]    at il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
8841: [Unity]    at il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
8842: [Unity]    at il2cpp.Program.Main(String[] args)
8843: [Unity] stderr:

Please let me know if you’ve managed to fix the problem.

So I managed to fix my problem, the problem was that macOS build targets don’t support the IL2CPP scripting backend, which my project was configured to use. Once I changed this to Mono and committed the changes it all worked perfectly!

I found the reason on this thread, in case anyone finds this one first: Cloud build fails IL2CPP undefined symbol for architecture x86_64

Thanks OP!