4.18 will NOT build from Source

I have created a clean branch of ‘release’ (4.18), and am unable to compile due to this error. This is STILL an issue in 4.18.1!

There are serveral other AH posts about this. PLEASE NOTE: Removing the ShaderCache project from Solution Explorer does NOT fix the issue if you want to package a binary engine build of your own!

Hey TheJamsh,

Thank you for providing that information. I’ve raised the concerns internally, but keep in mind that does not necessarily guarantee that the issue will receive an expedited fix.

Have a great day

ShaderCacheTool is a Mac-only utility - I will chase up the compile error and make sure we build it as part of our internal CIS, but you don’t need it on Windows.

The InstalledEngineBuild script does not build it - what do you mean when you say that it stops you making a binary engine build of your own? I think the only time it would be built is if you build every project in the UE4 solution.

Hey Ben,

Basically I’m using Build Graph to build a binary version of the engine (I’ve tried build just for Win64, Win64 & PS4, and ‘Host Platform Only’ - but on every occasion it’s been trying to build that tool.

In 4.18.1, I have just tabbed-out the offending line in said file. I’m getting further through the Build, but now there seems to be an issue building iPhonePackager. I’ve tried everything i can think of, even using git clean -fxd and running ‘Setup.Bat’ again and starting from scratch, but it still errors in the same place.

I’ve attached the full log from my last attempt to build (see attached).

link text

I have also tried to build using additional ‘exclude’ flags, but if I try to exclude IOS or TVOS I can’t even build the Automation Tool.

The build is failing because it can’t write to DotNETUtilities.dll, a dependency of iPhonePackager. It’s also a dependency of AutomationTool, which is running, which probably explains why it can’t write to it.

Are you running AutomationTool using RunUAT.bat? This executes AutomationToolLauncher first, which causes UAT and its dependent binaries to be shadow-copied to an alternate directory before being loaded, allowing the build process to overwrite them even though they are in memory.

Hi Ben,

Ah… that sounds like it could be the problem! Weird that I’ve never had the issue before (I’ve been doing it this way since 4.15ish). I’m actually using a third-party program called ‘Binary Builder’ which just provides a GUI for BuildGraph.

Looking at the source, it invokes AutomationTool.exe directly and specifies command-line parameters… that might explain it! Guess I’ll have to make some modifications… I’ll reply to the thread when I get any further.

The tool in question:

Yeh, that did seem to be the problem this time.

Also noticed that if the engine is installed on C drive, you need to run with Admin Priviliges.

Thanks Ben!