User Tag List

Results 1 to 24 of 24

Thread: Annoying compile issue in 4.17 preview 3

  1. #1
    0

    Annoying compile issue in 4.17 preview 3

    I have Visual Studio 2017 version 15.2 (26430.16) installed and 4.17 preview 3 refuses to compile my project after one or two times. Below is the error message.
    Code:
    1>------ Build started: Project: HelixOrigin, Configuration: DebugGame_Editor x64 ------
    1>Performing full C++ include scan (building a new target)
    1>EXEC : error : System.ArgumentNullException: Value cannot be null.
    1>Parameter name: source
    1>   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
    1>   at UnrealBuildTool.ExternalExecution.ExecuteHeaderToolIfNecessary(BuildConfiguration BuildConfiguration, UEBuildTarget Target, CppCompileEnvironment GlobalCompileEnvironment, List`1 UObjectModules, FileReference ModuleInfoFileName, ECompilationResult& UHTResult)
    1>   at UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile)
    1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3075: The command ""D:\Epic Games\UE_4.17\Engine\Build\BatchFiles\Build.bat" HelixOriginEditor Win64 DebugGame "E:\Unreal Projects\HelixOrigin\HelixOrigin.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
    1>Done building project "HelixOrigin.vcxproj" -- FAILED.
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
    
    
    Time Elapsed 00:00:00.693
    Workaround so far is to switch solution configuration from Development Editor to DebugGame Editor. Then it compiles but if I try to compile again, it fails with the above message for both solution configurations. So final solution is to close VS completely and start again.

  2. #2
    0
    I'm seeing the same thing - 4.17 preview 3 projects will only compile a few times before getting this error. After that, I have to clean the solution in order to build again.

  3. #3
    0
    Infiltrator
    Join Date
    Dec 2014
    Posts
    20
    Just had the same thing start happening here. Seems to tie into the Editor module of my project, but nothing has changed there.

  4. #4
    0
    Infiltrator
    Join Date
    Dec 2014
    Posts
    20
    Regenerating the solution also works, so I don't need to do a full build then, at least.

  5. #5
    0
    Infiltrator
    Join Date
    Dec 2014
    Posts
    20
    Should be last observation on this. It does not impact hot reload compilation for me.

  6. #6

  7. #7
    0
    Yep, they managed to break UBT in a release build. Impressive.

    Did you submit a bug report for this?

  8. #8
    0
    Infiltrator
    Join Date
    Mar 2014
    Posts
    11
    Getting the exact same issue here, anyone found a fix yet?

  9. #9
    0
    Best workaround I've found is to touch (just force a change to file write time by adding+deleting a character then saving) a module .Build.cs file to force makefile regeneration. It won't result in unnecessary C++ compilation.

  10. #10

  11. #11
    0
    I'm getting this as well, but slightly different error.

    As others have posted, I'm having a slightly different issue but also related to UHT / UBT.

    One computer had VS2015 with Update 3 on it prior to my upgrade. I can build the engine from source, but I can't compile my project. In 4.16 I had no issues. The other computer has just been upgraded to VS2015 with Update 3 and it won't compile the project either. I can compile a blank 4.17 project but NOT my own.

    I'm using a source build and can't switch because of changes I've made that the project relies on. I'm using Release branch.

    https://answers.unrealengine.com/questions/666969/cant-compile-in-417.html
    I can't do any work at the moment, and I haven't been able to compile the project in any configuration.

  12. #12
    0
    I've tried modifying the Build.cs to generate a new makefile, I'm still getting the same error:

    Code:
    1>------ Build started: Project: ECGame, Configuration: DebugGame_Editor x64 ------
    1>  Performing full C++ include scan (building a new target)
    1>  Creating makefile for ECGameEditor (no existing makefile)
    1>EXEC : error : System.ArgumentException: An item with the same key has already been added.
    1>     at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
    1>     at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
    1>     at UnrealBuildTool.UEBuildTarget.Build(BuildConfiguration BuildConfiguration, CPPHeaders Headers, List`1 OutputItems, List`1 UObjectModules, ActionGraph ActionGraph)
    1>     at UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile)
    1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command "C:\UE4_Builds\UE4_Eclipse\Engine\Build\BatchFiles\Build.bat ECGameEditor Win64 DebugGame "E:\P4\JBaxter_Work\Eclipse\Eclipse_Steam\ECGame\ECGame.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

  13. #13

  14. #14
    1
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    143
    Sorry guys. I'm not sure how this one slipped through the cracks.

    It was a fairly late change we made to fix an issue with UHT not rebuilding script plugins from installed builds, and the properties it uses are nulled out when building from a UBT makefile.

    The fix is on GitHub in commit 5b2a514bea74d4cb3bf0508ccecf49bba1752522. We'll try to get a QFE up before the end of the day.

  15. #15
    0
    Quote Originally Posted by Ben Marsh View Post
    Text
    Thanks Ben. Could you also just quickly have a look into the issue I posted above yours? I'm not sure if it's related, but improved logging there would have made it much easier to fix!

  16. #16

  17. #17
    0
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    143
    Quote Originally Posted by TheJamsh View Post
    Thanks Ben. Could you also just quickly have a look into the issue I posted above yours? I'm not sure if it's related, but improved logging there would have made it much easier to fix!
    Absolutely, will do. We should never be crashing without an explicit error explaining the problem.

  18. #18
    2
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    143
    Quote Originally Posted by TheJamsh View Post
    Thanks Ben. Could you also just quickly have a look into the issue I posted above yours? I'm not sure if it's related, but improved logging there would have made it much easier to fix!
    I've submitted a fix for this to a development stream, but it's not visible on GitHub yet. We'll include it in the 4.17.2 hotfix (we've already stopped taking changes for the 4.17.1 hotfix to try and get the other issue on this thread out of the door). The fix is to insert a check that the Instance.Modules list doesn't already contain a module in the UEBuildTarget.AddPlugin function here (in Engine/Source/Programs/UnrealBuildTool/Configuration/UEBuildTarget.cs):

    Code:
    	// Create modules for this plugin
    	UEBuildBinaryType BinaryType = ShouldCompileMonolithic() ? UEBuildBinaryType.StaticLibrary : UEBuildBinaryType.DynamicLinkLibrary;
    	if (Info.Descriptor.Modules != null)
    	{
    		foreach (ModuleDescriptor ModuleInfo in Info.Descriptor.Modules)
    		{
    			if (ModuleInfo.IsCompiledInConfiguration(Platform, TargetType, Rules.bBuildDeveloperTools, Rules.bBuildEditor, Rules.bBuildRequiresCookedData))
    			{
    				UEBuildModule Module = FindOrCreateModuleByName(ModuleInfo.Name, PluginReferenceChain);
    // BEGIN PATCH
    				if(!Instance.Modules.Contains(Module))
    				{
    // END PATCH
    					if (!Module.RulesFile.IsUnderDirectory(Info.Directory))
    					{
    						throw new BuildException("Plugin '{0}' (referenced via {1}) does not contain the '{2}' module, but lists it in '{3}'.", Info.Name, ReferenceChain, ModuleInfo.Name, Info.File);
    					}
    					Instance.bDescriptorNeededAtRuntime = true;
    					Instance.Modules.Add(Module);
    // BEGIN PATCH
    				}
    // END PATCH
    			}
    		}
    	}

  19. #19

  20. #20
    0
    Infiltrator
    Join Date
    Aug 2016
    Posts
    11
    I'm still getting this error after installing the QFE, at least when editing project plugin code. I have to generate project files every time i compile.

  21. #21

  22. #22
    0
    EDIT: My apologies, this occurred due to changes in ustruct used in blueprints. Compilation works with VS2017.

    The QFE didn't work for me either: VisualStudio.15.Release/15.2.0+26430.16 (VS2017 Community) still getting
    Code:
    UnrealHeaderTool failed for target 'TestProjectEditor' (platform: Win64, module info: TestProjectPath\Intermediate\Build\Win64\TestProjectEditor\Development\TestProjectEditor.uhtmanifest, exit code: OtherCompilationError (5)).
    Fresh UE4.17 install, no plugins, C++ project.
    Last edited by Roi Danton; 08-12-2017 at 06:08 AM.

  23. #23
    0
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    143
    Quote Originally Posted by ryanjon2040 View Post
    @Ben Marsh

    Problem still persists after applying QFE
    Are you seeing exactly the same error message?

    If the callstack is the same, it sounds like there's something wrong with the QFE bundle itself - it should remove the possibility of getting that callstack entirely, and did fix the issue on my install. Can you check whether the timestamp on Engine/Binaries/DotNET/UnrealBuildTool.exe is updated after applying it?

  24. #24
    0
    @Ben Marsh Ok the issue seems to be gone now. These are the things I did today morning and so far my project is compiling without any issues.

    1: Closed all Unreal Editor instances.
    2: Closed Visual Studio.
    3: Redownloaded and applied QFE. It showed "Your Unreal Engine is now patched".
    4: Regenerated my project files. (Right click on uproject file and select "Generate Visual Studio project files").
    5: Start compiling

    After doing all of the above steps, project seems to compile fine.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •