Announcement

Collapse
No announcement yet.

[TOOL] Create your own binary build for your team

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • started a topic [TOOL] Create your own binary build for your team

    [TOOL] Create your own binary build for your team

    I just made a small app that can help you build binary version of UE4 from source build.



    Download (with source): http://wp.me/p2fInN-rW
    Last edited by ryanjon2040; 03-29-2017, 02:17 AM. Reason: Updated to 1.2

  • replied
    It looks like in 4.19 "EnableSymStore" was changed to "EmbedSrcSrvInfo". I changed all references of the former to the latter and it got me past the error I was having. I definitely don't know much about these systems though, so I could be missing something.

    Leave a comment:


  • replied
    Do you support Build Graph ?
    I try to do CI, and reduce ue4 source size.
    I download source from github, and start with this command : ./RunUAT.sh BuildCookRun -project=/myproject.uproject -noP4 -clientconfig=Development -serverconfig=Development -nocompileeditor -utf8output -server -serverplatform=Linux -noclient -build -cook -unversionedcookedcontent -compressed -stage -package -cmdline=" -Messaging" -addcmdline="" -compile
    without launch setup.sh script.
    I have a lot of missing librairie error and useless librairie too. (with UAT tool)
    So I think I must use a custom build engine (Linux) to cook my project
    Am I wrong ?

    Leave a comment:


  • replied
    I'm curious about the "clean" option. It was my assumption that if this was unchecked, it wouldn't rebuild the whole engine, and as I already had it built, it would go through the process faster and end up copying everything over to LocalBuilds within a couple minutes. However, it starts the whole build process from scratch, even if that is unchecked.

    [edit]

    I guess the right question here is, is there any way to have this tool just copy the built version files over, without doing any compilation? I'm still trying to master the build system and I've poured over a lot, but haven't found a fool-proof way to zero in on simply copying stuff over. I'm about to do it manually, but my goodness... That will be a headache, and way too much room for error!
    Last edited by Derjyn; 05-01-2018, 11:21 PM.

    Leave a comment:


  • replied
    Updated to support building of 4.19 and above.

    Leave a comment:


  • replied
    Thank you Kris . I fixed the build button greyed out just now.

    Leave a comment:


  • replied
    ryanjon2040
    Many thanks for this tool.

    I couldn't seem to restart a build without first closing the program though.
    Button would remain greyed out on an error

    Otherwise, worked as intended.
    Yay!

    Unfortunately, getting a binary build of UE4.18.2 requires a bit of fiddling.

    PDBCopy issue :
    You can find the fix here:
    https://forums.unrealengine.com/deve...un-pdbcopy-exe

    Issues with Win64 only build:
    Seems that when building a Win64 binary, it still wants to compile Win32 versions of CrashReportClient, UnrealCEFSubProcess & BootstrapPackagedGame.
    Modifying the InstalledEngineBuild.xml to remove these references fix the problem.
    While I was there, I also removed (well, commented out) references to HTML5, IOS and PS4, just in case.
    If you were building for all platforms, this probably would be an issue, but for me, ...

    FASTBuild:
    I thought I'd try giving FASTBuild a go for a while.
    Binary building process appeared to work with it just fine.

    Hope this helps someone in future.

    Leave a comment:


  • replied
    So i fixed PDBCopy with a fresh install of VS 2015 on a different computer, but i got this error on the binary build, any ideas?


    ParallelExecutor.Execute: UE4Game-Win64-Shipping.exe
    ParallelExecutor.Execute: Creating library C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Binaries\Win64\UE4Game-Win64-Shipping.lib and object C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Binaries\Win64\UE4Game-Win64-Shipping.exp
    ExceptionUtils.PrintExceptionInfo: ==============================================================================
    ExceptionUtils.PrintExceptionInfo: ERROR: BUILD FAILED: failed, retries not enabled:
    ExceptionUtils.PrintExceptionInfo: while executing <Compile Target="UE4Game" Configuration="Development" Platform="Win64" Arguments="-precompile -nodebuginfo" AllowXGE="True" AllowParallelExecutor="True" Tag="#UE4Game Win64" />
    ExceptionUtils.PrintExceptionInfo: while executing <Compile Target="UE4Game" Configuration="Shipping" Platform="Win64" Arguments="-precompile -nodebuginfo" AllowXGE="True" AllowParallelExecutor="True" Tag="#UE4Game Win64" />
    ExceptionUtils.PrintExceptionInfo: at Engine\Build\InstalledEngineBuild.xml(163)
    ExceptionUtils.PrintExceptionInfo: (see C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
    ExceptionUtils.PrintExceptionInfo:
    ExceptionUtils.PrintExceptionInfo: AutomationException: BUILD FAILED: failed, retries not enabled:
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictionary`2 InTargetToManifest) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\AutomationUtils\UE4Build.cs:line 1497
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.CompileTaskExecutor.Execute(JobContext Job, HashSet`1 BuildProducts, Dictionary`2 TagNameToFileSet) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\BuildGraph\Tasks\CompileTask.cs:line 154
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.Node.Build(JobContext Job, Dictionary`2 TagNameToFileSet) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\BuildGraph\Node.cs:line 197
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.BuildGraph.BuildNode(JobContext Job, Graph Graph, Node Node, TempStorage Storage, Boolean bWithBanner) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.cs:line 685
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.BuildGraph.BuildAllNodes(JobContext Job, Graph Graph, TempStorage Storage) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.cs:line 614
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.BuildGraph.Execute() in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\BuildGraph\BuildGraph.cs:line 421
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.Automation.Execute(List`1 CommandsToExecute, Dictionary`2 Commands) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 558
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.Automation.Process(String[] Arguments) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 528
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.Program.MainProc(Object Param) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\Program.cs:line 132
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param) in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:line 708
    ExceptionUtils.PrintExceptionInfo: at AutomationTool.Program.Main() in C:\Users\Administrator\Downloads\UnrealEngine-Blast-4.18\Engine\Source\Programs\AutomationTool\Program.cs:line 62
    ExceptionUtils.PrintExceptionInfo: data: EpicGames.Context = System.Collections.Generic.List`1[System.String]
    ExceptionUtils.PrintExceptionInfo: ==============================================================================
    Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown)

    Leave a comment:


  • replied
    I'm facing this PDBCopy.exe issue aswell, visual studio paths for me dont look anything like the above paths you posted RyanJon

    Leave a comment:


  • replied
    Originally posted by Derjyn View Post
    While this might have been fancy in it's time, I simply couldn't get this tool to work. From what I can gather, it's a GUI front end for RunUAT.bat, running a BuildGraph script. The PDBCopy issue will still need to be solved, but take a gander at this very helpful article: http://jackknobel.com/BuildGraph/Bui...installed-ue4/
    Recently I formatted my PC and faced the same PDBCopy issue. I think UE4 still checks for PDBCopy for VS2015. Here are the PDBCopy.exe locations on my PC. If its there in these locations you shouldn't face PDBCopy.exe issue.

    Leave a comment:


  • replied
    While this might have been fancy in it's time, I simply couldn't get this tool to work. From what I can gather, it's a GUI front end for RunUAT.bat, running a BuildGraph script. The PDBCopy issue will still need to be solved, but take a gander at this very helpful article: http://jackknobel.com/BuildGraph/Bui...installed-ue4/
    Customize your builds with the BuildGraph scripting system.

    Leave a comment:


  • replied
    Has there been any news in that discord channel about any possible ways to fix the PDBCopy pathway issue? Everytime I click that link it just takes me to the add friends page of discord for some reason.

    Leave a comment:


  • replied
    I managed to change that line and it looked like it worked basically once i rebuilt that specific thing. And then it got past the stripping part where the previous error was. For some reason visual studio seems to have a pretty different file pathway than what that line believed it to be, but that's not the end of my problems unfortunately. I got a whole slew of new errors that I have absolutely no idea what the heck mean. There's quite a bit of error messages that popped up. This is the first line it says, but then goes into a lot of line numbers in different files.

    Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: BUILD FAILED: failed, retries not enabled:
    AutomationToolProcess exited with code 1


    Just out of curiosity though, how long does it generally take to make an installed build? Cause it seemed to be pushing about 50 minutes before it stopped with errors relating to whatever else it has some problem with.

    I'm going to attempt tomorrow to build a different engine version release as a test with the file modification to test to see if it will give me the same errors. I did find it odd that when I was watching it, I saw it try to parallel execute a certain file about 50 times. I was a little confused. PCLaunch.rc is what I think it might've been called.



    Also I can't see the discord channel. It just sends me to the add friend page for some reason instead of the channel. Maybe it's private? I would love to check in on a discord channel that might help.

    Edit: Tried anther different release build. Same thing. It's probably because of that one line change I did so ill just keep looking for a way around the PDBCopy thing without changing that pathway it has in there. Hopefully someone in the discord channel has had some kind of thing with this happen and knows what to do.
    Last edited by dragon3582; 08-19-2017, 01:58 PM.

    Leave a comment:


  • replied
    Originally posted by dragon3582 View Post
    Yea I looked through that post already. It didn't really help me much. I did however find out exactly where the path is being set in the source code. The thing I'm wondering now is, can i change it to be the pathway I need it too without messing much stuff up?

    It's in the WinPlatform.Automation.cs script on line 370. I can change that line specifically to be the pathway it should try to look for, but it does contain spaces in the folder names. I'm not sure if putting "Microsoft Visual Studio" and other folder with spaces like that into the file pathway name if it might cause it to throw me an error. I also don't know if i can just change this line, save, and then retry the binary tool and hope for the best. Would you happen to know these couple things?
    You can try changing that one line and see if it helps. I haven't faced an issue like this before so not sure what's wrong. I have linked your post on discord so you can check there if someone got an idea on how to fix this issue. https://discordapp.com/channels/1872...99439008923648 (Discord does not feature direct link to message so open that link and search for PDBCopy.exe)

    Leave a comment:


  • replied
    Yea I looked through that post already. It didn't really help me much. I did however find out exactly where the path is being set in the source code. The thing I'm wondering now is, can i change it to be the pathway I need it too without messing much stuff up?

    It's in the WinPlatform.Automation.cs script on line 370. I can change that line specifically to be the pathway it should try to look for, but it does contain spaces in the folder names. I'm not sure if putting "Microsoft Visual Studio" and other folder with spaces like that into the file pathway name if it might cause it to throw me an error. I also don't know if i can just change this line, save, and then retry the binary tool and hope for the best. Would you happen to know these couple things?
    Last edited by dragon3582; 08-18-2017, 01:51 AM.

    Leave a comment:

Working...
X