UE 4.15 Source version does not compile with XCode 8.3

Hi,

UE 4.15 compiled fine with Xcode 8.2 before but with the recent 8.3 update it no longer compiles because of a few warnings. I did a fresh UE build from the GitHub release branch so the cause can’t be some accidental changes on my part. The warnings are in:

  • fbxsdk (-Wnull-dereference)
  • AlembicImporter (-Wnonportable-include-path)
  • MetalRHI (-Wnullability-inferred-on-nested-type).

I had to remove the “-Werror” command line parameter in UnrealBuildTool source files for it to be able to build UE. Any ideas why there were no warnings like that and it compiled fine before, and how to fix this properly?

Thanks

I’m doing the same thing that you suggested (thank you, by the way) - compiled UnrealBuildTool with the warning (Werror) disabled. It looks as if deprecation now triggers error during compilation.

Hi SergoK,

Sorry for the delayed response to your post. I was able to reproduce the issue that you described, and have entered UE-44582 to have this investigated further.

It should be noted that while a build does indeed result from the aforementioned “fixes”, the build does not function is very crash-prone. Considering the shipping release for UE4 (Mac) is stable, I would guess it is compiled with an older version of Xcode (8.2).

Hi, that’s strange, I didn’t see any crashes. Basically, removing Werror shouldn’t change anything except treating warnings as errors during compilation. How was your UE4 compiled with Xcode 8.2, stable?

Hi everyone,

I just wanted to provide a quick update on this. A fix for this issue was apparently included with 4.15.2, which was released yesterday. My testing wasn’t done on that version of the Engine, but when I tried building 4.15.2 today using Xcode 8.3.2, the Engine built successfully.

Hi ,
Nice, thanks!

I’m on a Mac with Xcode 8.3.3 and Unreal Engine 4.7.3, The UE-44582 says to turn off -WError in command line options for the UBT. How do I do this in Xcode or what does this command look like in terminal ? I’m getting errors about overrides which should be warnings from a project freshly built from the “create project” button.

Hi 4nof, it’s not a command line option FOR UBT, but a command line parameter IN UBT :slight_smile: Search for and erase “-Werror” in UnrealBuildTool/Mac/MacToolChain.cs and run GenerateProjectFiles to recompile UBT.

Hi 4nof, I’m not aware about your setup but I have a suspicion you use not a source but a downloadable version of UE 4.7.3, or you have multiple installations of UE and things somehow got messed up, or things were different in 4.7.3. Anyway, glad you figured it out!

With UE 4.15 source version I only had to recompile UBT via GenerateProjectFiles in the engine folder, didn’t have to do any pointing to UBT because there was only one UBT executable produced and used whichever way you open UE or the project.

Hi SergoK , I did what you suggested and recompiled UBT from the github source , how do I get the project file to point to this UBT for building? I tried ./RunUAT.sh BuildCookRun … but it did not build . I’m uncertain if that’s the way to build a project. [I looked at this definition of UBT][1]
and I cannot seem to find the way to open and build the project with the modified UBT in XCode.
[1]: Unreal Build System | Unreal Engine Documentation

edit: I think I got it , I have to run UE4 from xCode instead of the Epic Games Launcher, but it looks like it builds properly. Thanks for the help.