Hello,
I’ve been trying without success to build the engine for the past week.
Every time I try to build our project from scratch, the compiler will on multiple occasions give several of those errors:
[Image Removed] While showing this error in the output:
1>E:\ArkRep\Circe_Workspace\UnrealEngine\CirceGame\Plugins\BlueprintAssist\Intermediate\Build\Win64\UnrealEditor\Inc\BlueprintAssist\UHT\BlueprintAssistCache.gen.cpp(373): fatal error C1001: Internal compiler error. 1>(compiler file 'msc1.cpp', line 1533) 1> To work around this problem, try simplifying or changing the program near the locations listed above. 1>If possible please provide a repro here: https://developercommunity.visualstudio.com 1>Please choose the Technical Support command on the Visual C++ 1> Help menu, or open the Technical Support help file for more information 1>INTERNAL COMPILER ERROR in 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\bin\Hostx64\x64\cl.exe'
After the whole compilation process is done, it will end up failing with this error:
1>Module.RHICore.cpp.obj : error LNK2019: unresolved external symbol GFSDK_Aftermath_GpuCrashDump_GetPageFaultResourceInfo referenced in function "void __cdecl UE::RHICore::Nvidia::Aftermath::Callback_GpuCrashDump(void const *,unsigned int,void *)" (?Callback_GpuCrashDump@Aftermath@Nvidia@RHICore@UE@@YAXPEBXIPEAX@Z) 1>..\Binaries\Win64\UnrealEditor-RHICore.dll : fatal error LNK1120: 1 unresolved externals
I suspect this error is due to the required libraries not being compiled earlier, stopped by the compiler crashes.
I can’t send steps to reproduce, since the issue seems to come from somewhere in my machine:
- Other developers working on the same project, as well as our build machine, have had no issue compiling our project.
- I have tried deleting and redownloading our repo.
- I have tried reinstalling Visual Studio Community 2022.
- I have tried using different versions of the MSVC v143 C++ compiler.
- My reason for needing to build the project again is because I’ve had computer issues that required me to restore my computer. So all installed programs are as fresh as they get.
Hi,
You are getting a Visual C++ compiler crash when compiling what looks like Blueprint code generated code from one of your Blueprint. From the log snippet, you seem to use ‘14.43.34808’. The first easy thing to do would be to ensure you are using the preferred C++ toolchain. The recommended one in UE 5.5 is:
D:\UE_5.5\Engine\Config\Windows\Windows_SDK.json
// Version number is the MSVC family, which is the version in the Visual Studio folder "PreferredVisualCppVersions": [ "14.38.33130-14.38.99999" // VS2022 17.8.x ],
And when you compile, you can see which one is picked in the logs:
12>Using Visual Studio 2022 14.38.33145 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Check you Visual Studio Installer:
[Image Removed]I suspect the C++ compiler version is the first issue. You can also ask other successfully compiling to check their log to figure out which toolchain version they are using. It is logged like this:
12>Using Visual Studio 2022 14.38.33145 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Ensure they are using the VS Community Edition too, just in case. If you still cannot compile that particular file, then maybe check with other the .cpp file generated (E:\ArkRep\Circe_Workspace\UnrealEngine\CirceGame\Plugins\BlueprintAssist\Intermediate\Build\Win64\UnrealEditor\Inc\BlueprintAssist\UHT\BlueprintAssistCache.gen.cpp) to be sure something else is not creating the problem.
For the linker error, can you ensure you have this file: *d:\UE_5.5\*Engine\Source\ThirdParty\NVIDIA\NVaftermath\lib\x64\GFSDK_Aftermath_Lib.x64.lib. That’s the lib that should be linked in. It is added from Engine\Source\ThirdParty\NVIDIA\NVaftermath\NVaftermath.Build.cs and \Engine\Source\Runtime\RHICore\RHICore.Build.cs adds the dependency to NVaftermath. A missing .lib file could explain this, unless you are building the wrong target, but I assume you are building your game project for Development Editor/Win64.
Regards,
Patrick
I posted here the error that was shown in on of my later tests, but I also have this error when using ver 14.38 (in which the log correctly says `Using Visual Studio 2022 14.38.33145 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130)`).
I do have a “Engine\Source\ThirdParty\NVIDIA\NVaftermath\lib\x64\GFSDK_Aftermath_Lib.x64.lib” file.
I was using DebugGame Editor/Win64, but after a test, the issue also ensues with Development Editor/Win64.
Hi,
Let’s focus on the compiler crash first. Something is not adding up:
- Compare your Visual Studio version with the ones who can build successfully: pro vs community edition, tool chain version and also check the Windows SDK version using the log I mentioned above.
- Compare if your generated file E:\ArkRep\Circe_Workspace\UnrealEngine\CirceGame\Plugins\BlueprintAssist\Intermediate\Build\Win64\UnrealEditor\Inc\BlueprintAssist\UHT\BlueprintAssistCache.gen.cpp is identical to theirs?
If everything is identical: Same VS Edition, Same toolchain version, Same Windows SDK, Same generated file, then, something is possibly bad with the machine. It could be memory?
- You could try compiling the file alone. I think the CerceEditor is the right target (please validate when compiling in the Editor from VS, the log looks like: Running UnrealBuildTool: dotnet “..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll” -Target="LyraEditor Win64 Development -Project=\“D:\UE_5.5\Samples\Games\Lyra\Lyra.uproject\”" -Target=“ShaderCompileWorker Win64 Development -Project=\“D:\UE_5.5\Samples\Games\Lyra\Lyra.uproject\” -Quiet” -WaitMutex -FromMsBuild -architecture=x64)
.\RunUBT.bat CirceEditor Win64 Development -file="E:\ArkRep\Circe_Workspace\UnrealEngine\CirceGame\Plugins\BlueprintAssist\Intermediate\Build\Win64\UnrealEditor\Inc\BlueprintAssist\UHT\BlueprintAssistCache.gen.cpp"
* If the file compiles in standalone mode… maybe it is Incredibuild/UBA/SN-DBS… or something that distribute the build?
<?xml version="1.0" encoding="utf-8" ?> <Configuration xmlns="https://www.unrealengine.com/BuildConfiguration"> <BuildConfiguration> <bAllowXGE>false</bAllowXGE> <bAllowSNDBS>false</bAllowSNDBS> <bAllowUBAExecutor>false</bAllowUBAExecutor> <bAllowUBALocalExecutor>false</bAllowUBALocalExecutor> <MaxParallelActions>120</MaxParallelActions> <bUseUnityBuild>false</bUseUnityBuild> <bUsePCHFiles>false</bUsePCHFiles> </BuildConfiguration> </Configuration>
After looking into that, if others can compile but not you, I’m a bit puzzled, it has to be a local issue. Let me know.
Regards,
Patrick
Still not working, here’s what I tried from your post:
- Tried making sure the Windows SDK is the exact same (it was one version off)
- The toolchain is one small version off, but I don’t think I can change that (and I doubt it’d change anything) 14.38.33145 vs 14.38.33144.
- I have the same generated files as my colleagues
- I didn’t quite understand how to compile the file alone
- I tried changing the build configurations, disabling everything brings other compiler issues: `Compiler is out of heap space`. Disabling only some of them (tried several configurations) doesn’t change the default issue.
- Tried installing a separate version of UE 5.5 in case it would install some missing components, the test c++ project worked fine but it didn’t fix my issue.
As an additional information: the internal compiler error doesn’t always occur on the same files, I’ve had it happen on `Misc\Optional.h`, `DelegateInstancesImpl.h`, `SceneCulling.cpp`, … Nothing that would indicate that something in those specific file could be causing the issue.
I’m at a loss… I also think it’s likely to be a local issue, but have no idea on where to look to find a fix.
Hi,
To compile a single file alone, you can use UBT, there is a batch file at the root of your engine. Then you just need to put the target you want to build. I assumed ‘CirceEditor’ was the target… and then you put the full path of the file. The fact the compiler crashes on different files is troubling. Maybe you have a bad RAM sector something hardware related. How much RAM does your computer has? If you want to compile a single .cpp file, the command line would look like this:
.\RunUBT.bat CirceEditor Win64 Development -file="E:\ArkRep\Circe_Workspace\UnrealEngine\CirceGame\Plugins\BlueprintAssist\Intermediate\Build\Win64\UnrealEditor\Inc\BlueprintAssist\UHT\BlueprintAssistCache.gen.cpp"
Regards,
Patrick
You were correct about the compiler crashes being caused by ram issues! Unplugging and replugging both my ram sticks was enough to fix it!
Unfortunately it seems that the compiler errors were unrelated to the compiler crashes. The linking error with `GFSDK_Aftermath_GpuCrashDump_GetPageFaultResourceInfo` remains.
Hi,
Wow, the RAM issue was a long shot… For the linker error, I was tempted to answer: try replugging the hard drive… haha, but seriously, according to the original message, it failed linking UnrealEditor-RHICore.dll, so the very first thing would be to look a the response file containing the linker command line. For example, when I compile Lyra, I get this .rsp: D:\UE_5.5\Engine\Intermediate\Build\Win64\x64\UnrealEditor\Development\RHICore\UnrealEditor-RHICore.dll.rsp (changing D:\UE_5.5 for your own engine root should lead to to the right file)
Inside that file you should see which library UBT is linking. Mine looks like this:
/MANIFEST:EMBED /MANIFESTINPUT:"..\Build\Windows\Resources\Default-Win64.manifest" /NOLOGO /DEBUG:FULL /errorReport:prompt /MACHINE:x64 /SUBSYSTEM:WINDOWS /FIXED:No /NXCOMPAT /STACK:12000000 /DELAY:UNLOAD /DLL /PDBALTPATH:%_PDB% /d2:-ExtendedWarningInfo /OPT:NOREF /OPT:NOICF /INCREMENTAL:NO /ignore:4199 /ignore:4099 /ALTERNATENAME:__imp___std_init_once_begin_initialize=__imp_InitOnceBeginInitialize /ALTERNATENAME:__imp___std_init_once_complete=__imp_InitOnceComplete /DELAYLOAD:"GFSDK_Aftermath_Lib.x64.dll" /DELAYLOAD:"d3d12.dll" /DELAYLOAD:"DBGHELP.DLL" /LIBPATH:"C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\lib\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64" /NODEFAULTLIB:"LIBCMT" /NODEFAULTLIB:"LIBCPMT" /NODEFAULTLIB:"LIBCMTD" /NODEFAULTLIB:"LIBCPMTD" /NODEFAULTLIB:"MSVCRTD" /NODEFAULTLIB:"MSVCPRTD" /NODEFAULTLIB:"LIBC" /NODEFAULTLIB:"LIBCP" /NODEFAULTLIB:"LIBCD" /NODEFAULTLIB:"LIBCPD" /FUNCTIONPADMIN:6 /NOIMPLIB /NATVIS:"..\Intermediate\Build\Win64\x64\UnrealEditor\Development\RenderCore\RenderCore.natvis" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\Core\SharedPCH.Core.Cpp20.h.obj" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\RHICore\Module.RHICore.cpp.obj" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\RHICore\RHICoreNvidiaAftermath.cpp.obj" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\Default.rc2.res" "ThirdParty\NVIDIA\NVaftermath\lib\x64\GFSDK_Aftermath_Lib.x64.lib" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\Core\UnrealEditor-Core.lib" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\RHI\UnrealEditor-RHI.lib" "..\Intermediate\Build\Win64\x64\UnrealEditor\Development\RenderCore\UnrealEditor-RenderCore.lib" "delayimp.lib" "wininet.lib" "rpcrt4.lib" "ws2_32.lib" "dbghelp.lib" "comctl32.lib" "Winmm.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "netapi32.lib" "iphlpapi.lib" "setupapi.lib" "synchronization.lib" "dwmapi.lib" "imm32.lib" /OUT:"..\Binaries\Win64\UnrealEditor-RHICore.dll" /PDB:"..\Binaries\Win64\UnrealEditor-RHICore.pdb" /ignore:4078
The important lines are:
... /DELAYLOAD:"GFSDK_Aftermath_Lib.x64.dll" ... "ThirdParty\NVIDIA\NVaftermath\lib\x64\GFSDK_Aftermath_Lib.x64.lib" ...
Can you confirm you have those two lines? If you do, then you need to double check you have the library: {$Your_UE_5_5Root}\Engine\Source\ThirdParty\NVIDIA\NVaftermath\lib\x64\GFSDK_Aftermath_Lib.x64.lib. You can resync that single file from P4 to be sure you have the right one… (just in case it was corrupted). Then if you have the .lib and the corresponding .dll {$Your_UE_5_5Root}\Engine\Binaries\ThirdParty\NVIDIA\NVaftermath\Win64\GFSDK_Aftermath_Lib.x64.dll along with the correct response file, then it something I cannot really explain. If you don’t have the lines in the .rsp file, then something might be wrong in D:\UE_5.5\Engine\Source\ThirdParty\NVIDIA\NVaftermath\NVaftermath.Build.cs or D:\UE_5.5\Engine\Source\Runtime\RHICore\RHICore.Build.cs… maybe you commented out the dependency to NVaftermath?
Regards,
Patrick
I did it!
I juste replace my `GFSDK_Aftermath_Lib.x64.lib` with one of my colleagues’. My guess is something went wrong with the Setup.bat? Odd that it’d happen twice
Sweet! I’m glad this is sorted out. If the RAM was not 100%, maybe when you ran Setup.bat, some files might got corrupted… I’m not sure, but this looks like a plausible explanation. Be on the watch for some other possible ‘weird’ behaviors 
Regards,
Patrick