Search Unity

Cannot build with ILC2PP in 2018.2

Discussion in 'Editor & General Support' started by Ellizira, Oct 17, 2018.

  1. Ellizira

    Ellizira

    Joined:
    Aug 21, 2014
    Posts:
    6
    Upgraded a project from 5.6.5p4 to 2017.4.13f1 and then to 2018.2.12f1 in order to build with ILCPP2, but I end up with "il2cpp.exe did not run properly!" when building.

    I can build fine with another project in 2018.2, but that one was created in Unity 2018.
     
  2. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    988
    Yep I have this issue too, any word?
     
  3. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    It looks like the part of the error message that matters is:

    C:\Program Files\Unity\Hub\Editor\2018.2.12f1\Editor\Data\il2cpp\libil2cpp\il2cpp-config.h(3): fatal error C1083: Cannot open include file: 'assert.h': No such file or directory

    This usually means something is wrong with the Windows SDK installation on the machine, as assert.h should be provided by the Windows SDK.

    I'm rather surprised that a project newly created in Unity 2018.2 builds correctly.

    @Boslof:

    As a sanity check, can you confirm that your project which does not build has all of the same Player Settings options as the one that does build?

    @i42-Xblade

    Can you build a new, empty project with IL2CPP on Unity 2018.2 as well?
     
    KarlKarl2000 likes this.
  4. Ellizira

    Ellizira

    Joined:
    Aug 21, 2014
    Posts:
    6
    They have pretty much identical Player Settings. Only difference is Dynamic Batching and Scripting Define Symbols.
     
  5. Ellizira

    Ellizira

    Joined:
    Aug 21, 2014
    Posts:
    6
    Tried building the broken one with just an empty scene, but had no luck there either.
     
  6. Ellizira

    Ellizira

    Joined:
    Aug 21, 2014
    Posts:
    6
    Copied everything from the assets folder into a blank project created in 2018.2.
    Still has the same problem when trying to build.
     
  7. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    If I am understanding this, an empty project with Unity 2018.2 builds correctly. Then the contents of the Assets/ folder, from the project that does not build, when copied into the previously fine empty project, cause the build to fail as shown in the original post?
     
  8. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    Is "assert.h" file in "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt" on your machine?
     
  9. Ellizira

    Ellizira

    Joined:
    Aug 21, 2014
    Posts:
    6
  10. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    988
    Indeed, it's here for me too, @Tautvydas-Zilys



    Is this because I went from 5.6 >> 2017 >> 2018? Was there some skipped dependency I'm not seeing?
     
  11. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,674
    Can we get a bug report on this? I can't tell what's going on without having a repro unfortunately. The include paths look correct in the command line you pasted, and I have no idea what could cause the compiler to not find that file.
     
  12. Ellizira

    Ellizira

    Joined:
    Aug 21, 2014
    Posts:
    6
    Found out the issue. Our Anti-Cheat Toolkit wasn't up-to-date. Can build fine after updating that.
     
    MrLucid72 likes this.
  13. MrLucid72

    MrLucid72

    Joined:
    Jan 12, 2016
    Posts:
    988
  14. KarlKarl2000

    KarlKarl2000

    Joined:
    Jan 25, 2016
    Posts:
    606
    @JoshPeterson Thanks for the SDK hint.. I installed windows 10 sdk and got il2CPP to work.
     
    JoshPeterson likes this.
  15. Maras

    Maras

    Joined:
    Dec 11, 2012
    Posts:
    131
    I have similar error. Unity 2018.2.4f1 . Empty project also fails to build.
    I have C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h on my machine

    Failed running C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityjit" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="D:\_GameDev\Unity\table-dragon\Assets\..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/Users/Mara/Desktop/ndk/android-ndk-r13b" --map-file-parser="C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\Tools\MapFileParser\MapFileParser.exe" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\Assembly-CSharp.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\VuforiaScripts.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\Unity.TextMeshPro.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.UI.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\Vuforia.UnityExtensions.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Analytics.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.dll" --assembly="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Managed\UnityEngine.Advertisements.Android.dll" --generatedcppdir="D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput"

    stdout:
    Building libil2cpp.so with AndroidToolChain
    Output directory: D:\_GameDev\Unity\table-dragon\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
    Cache directory: D:\_GameDev\Unity\table-dragon\Library\il2cpp_android_armeabi-v7a\il2cpp_cache
    il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: In file included from D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput\Il2CppTypeDefinitions.cpp:1:
    C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp\libil2cpp\il2cpp-config.h:3:10: fatal error: 'assert.h' file not found
    #include <assert.h>
    ^
    1 error generated.


    Invocation was: Executable: "C:\Users\Mara\Desktop\ndk\android-ndk-r13b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++"
    Arguments: -DNET_4_0 -DUNITY_JIT -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\bdwgc\include" -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\libil2cpp\include" -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp\libil2cpp" -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp\external\boehmgc\include" -I"D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput" -I"." -I"C:\Users\Mara\Desktop\ndk\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\include" -I"C:\Users\Mara\Desktop\ndk\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\include\backward" -I"C:\Users\Mara\Desktop\ndk\android-ndk-r13b\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 -Os --sysroot "C:\Users\Mara\Desktop\ndk\android-ndk-r13b\platforms\android-16\arch-arm" -gcc-toolchain "C:\Users\Mara\Desktop\ndk\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fPIE "D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput\Il2CppTypeDefinitions.cpp" -o "D:/_GameDev/Unity/table-dragon/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/CCD8DCEB063BC10CF3F328F9B6892F42.o"

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

    Neo�et�en� v�jimka: Unity.IL2CPP.Building.BuilderFailedException: In file included from D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput\Il2CppTypeDefinitions.cpp:1:
    C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp\libil2cpp\il2cpp-config.h:3:10: fatal error: 'assert.h' file not found
    #include <assert.h>
    ^
    1 error generated.


    Invocation was: Executable: "C:\Users\Mara\Desktop\ndk\android-ndk-r13b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++"
    Arguments: -DNET_4_0 -DUNITY_JIT -DGC_NOT_DLL -DRUNTIME_IL2CPP -DLINUX -DANDROID -DPLATFORM_ANDROID -D__linux__ -D__STDC_FORMAT_MACROS -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\bdwgc\include" -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\libil2cpp\include" -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp\libil2cpp" -I"C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp\external\boehmgc\include" -I"D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput" -I"." -I"C:\Users\Mara\Desktop\ndk\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\include" -I"C:\Users\Mara\Desktop\ndk\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\include\backward" -I"C:\Users\Mara\Desktop\ndk\android-ndk-r13b\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 -Os --sysroot "C:\Users\Mara\Desktop\ndk\android-ndk-r13b\platforms\android-16\arch-arm" -gcc-toolchain "C:\Users\Mara\Desktop\ndk\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fPIE "D:\_GameDev\Unity\table-dragon\Temp\StagingArea\Il2Cpp\il2cppOutput\Il2CppTypeDefinitions.cpp" -o "D:/_GameDev/Unity/table-dragon/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/CCD8DCEB063BC10CF3F328F9B6892F42.o"

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

    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128)
    UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
    UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List`1, Action`1, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:380)
    UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:361)
    UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:178)
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:35)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    Exception: C:\Program Files\Unity\Hub\Editor\2018.2.4f1\Editor\Data\il2cpp/build/il2cpp.exe 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 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:130)
    UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
    UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:380)
    UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (System.Collections.Generic.ICollection`1[T] userAssemblies, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:361)
    UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:178)
    UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:35)
    UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <82a8360024214fe1b820965dfd28b90c>:0)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <82a8360024214fe1b820965dfd28b90c>: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 <82a8360024214fe1b820965dfd28b90c>:0)
    UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <82a8360024214fe1b820965dfd28b90c>: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 C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:287)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    Can you please take a look?
     
  16. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    It looks like something is not correct with the Android NDK installation on our computer. Please see the documentation here to ensure you environment is set up correctly: https://docs.unity3d.com/Manual/android-sdksetup.html
     
    Maras likes this.
  17. Maras

    Maras

    Joined:
    Dec 11, 2012
    Posts:
    131
    I am on 2018.2.4f1, so I cannot do "Uncheck Android NDK Installed with Unity (recommended)"
    upload_2019-7-30_15-40-3.png
    I extracted NDK into C:/Users/Mara/Desktop/ndk/android-ndk-r13b and linked it with editor.

    Is there something I missed? Thank you!
     
  18. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    This looks correct. Does the same error occur with this setup?
     
    Maras likes this.
  19. Maras

    Maras

    Joined:
    Dec 11, 2012
    Posts:
    131
    @JoshPeterson Yes it does.

    But I tried to download and re-extract NDK again, now with WinRar instead of default W10 extraction and it works!

    Thank you for pointing me to right direction. There was indeed something wrong with the NDK installaction :)
     
    JoshPeterson likes this.