[Bug Report] Platform iOS > Remote Build Options > Generate SSH Key

I’m not sure if the remote build options have just been enabled in the editor or updated in this build but the “Generate SSH Key” button doesn’t work. The following line appears in the Output window:

LogWindows:Warning: CreateProc failed (2) C:/Program Files/Unreal/Unreal Engine/4.8/Engine/Build/BatchFiles/MakeAndInstallSSHKey.bat “C:/Program Files (x86)/DeltaCopy\ssh.exe” “C:/Program Files (x86)/DeltaCopy\rsync.exe” [username] [remote machine] “C:\Users[username]\AppData\Roaming” “/cygdrive/C/Users/[username]/AppData/Roaming” “…/…/…/Engine/”

The file it’s looking for isn’t in the engine folder. It is available on github though, guess it just needs to be added to the build: https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Build/BatchFiles/MakeAndInstallSSHKey.bat

I haven’t checked a previous version of the engine because I’ve run out of disk space :frowning:

Hi Danie1,

Those changes to the remote build options are in fact new for the 4.8 release. The only supported rsync option for Windows will be DeltaCopy (you can see it referenced in the errors, there). It will not be included in the source engine itself as it is open source and we do not have the rights to redistribute, however a link to where we recommend you acquire it will be included in the 4.8 release notes (hopefully there will be some documentation by the release, also).

So, short answer is, you can’t use rsync to package iOS from Windows in the 4.8 previews without having DeltaCopy set up, and official instructions will not be available until the release, which should be very soon.

Thanks!

Hi,

I had DeltaCopy set up and working - it’s an Unreal wrapper script (MakeAndInstallSSHKey.bat) that’s missing - I pulled this from master and put it in the Engine/Build/BatchFiles path then it all worked fine - it launched various delta copy binaries and generated the ssh key then pulled it back with rsync.

Thanks

Daniel

Dunno why this has been marked as accepted…? I can’t unaccept it either.

I don’t know what more I can do to document this issue.

It’s clear from the contents of MakeAndInstallSSHKey.bat that it’s not a 3rd party thing, it’s definitely an Engine script.

Here’s the output of DIR on that folder on a freshly installed 4.8 Preview 4:

>dir "C:\Program Files\Unreal\Unreal Engine\4.8\Engine\Build\BatchFiles"
 Volume in drive C has no label.
 Volume Serial Number is 7E8C-E0C5

 Directory of C:\Program Files\Unreal\Unreal Engine\4.8\Engine\Build\BatchFiles

02/06/2015  16:52    <DIR>          .
02/06/2015  16:52    <DIR>          ..
27/05/2015  18:14               647 Build.bat
27/05/2015  18:14             2,832 Clean.bat
27/05/2015  18:14             1,048 GetVSComnToolsPath.bat
27/05/2015  18:14               349 Rebuild.bat
27/05/2015  18:14             2,268 RocketGenerateProjectFiles.bat
27/05/2015  18:14             3,864 RunUAT.bat
               6 File(s)         11,008 bytes
               2 Dir(s)  10,134,810,624 bytes free

Ok, I was able to get some setup instructions. See if this helps:

Open UE4Editor.exe

Select Edit - Project Settings - IOS - Build - Remote Build Options

Enter the Remote Server Name (Computer name of the mac)

Enter the Remote User Name (User name of the mac)

Press the Generate >SSH Key button

Enter Yes into the terminal

Enter the password of the Mac computer

Press Enter twice to enter an empty passphrase Enter the password of the Mac computer again

Hi,

That’s exactly what I was doing that showed up this issue. Step 5, “Press the Generate >SSH Key button” tries to execute “4.8/Engine/Build/BatchFiles/MakeAndInstallSSHKey.bat” and that file is not included in the launcher version of 4.8 Preview 4.

I’ve done a bit more digging as to why this file isn’t getting built into the launcher version and I think it’s a missing reference in Engine/Build/InstalledEngineFilters.ini. The batch files from the source that end up in the launcher version are listed in the files, the others (including MakeAndInstallSSHKey.bat) are not in this file.

I was able to set mine up fine using the above instructions on a 4.8 branch build that is a little father down than what is currently in release in the previews. I’m sorry you’re seeing an issue with the previews, but the official release is coming very soon, so all I can say at this point is please be patient and see if it is working correctly in the 4.8 release.

Thanks!

I just installed the 4.8 official release and looked in the Epic Games/4.8/Engine/Build/BatchFiles and found no MakeAndInstallSSHKey.bat file. I’m not sure how it is working for others who claim they have the official release… Where can I get this?

Also, I’m assuming you have to install DeltaCopy on both the windows and mac machine? Which one is considered the server and which one should be the client? I’m using my windows machine to develop and the mac machine to build. Any help w/this would be greatly appreciated!

Danie1. I also copied the batch file from GitHub. I’m trying to set up the SSH and says the connection is refused. I can ping the mac from my windows machine. I believe my issue is related to setting up DeltaCopy. I have it installed on my windows machine. Do I need to run the Server or Client? Also, what do I have to do on the mac end related to this? Do I need to install something and set it up as a client/server?

Hi jeffvoigt,

The new options are in the editor itself, it’s File>Packaging Settings>iOS and then scroll down to Build, at the bottom of that section there is a dropdown section called ‘Remote Build Options’ where you input all the info needed to use it.

Further, just to double check, you’re using the source version of the release from Github, right? As code projects require a Mac to package, the SSH setup is only required for source. At this time, there is a JIRA in place (UE-16712) to notify binary users that the ‘Generate SSH Key’ button does nothing.

Sorry I can’t provide a direct link to this, but there’s a screenshot of how it should look in the 4.8 release notes. You’ll have to ctrl+f ‘DeltaCopy’ to go straight to it.

Hope this helps!

So you won’t be able to use iOS remote build to build code projects with binary versions of the engine? So to build iOS code projects on a remote mac we should fork 4.8 from github and build on top of this?

I don’t suppose you know of any documentation for how to do this? I’ve built from source before but are there any recommendations for how to structure this? As far as I can tell the uproject for projects created with the source version of the engine have a guid for the engine association… how does this work when upgrading the engine version - either to a later launcher engine or a newer git version?

Thanks

Hi Danie1,

That is correct. A Mac has always been needed when building code projects for iOS; 4.8 changed the way you can sync to remote Mac for developing on your Windows machine. Question, when you say ‘how to structure this’, what do you mean?

As far as documentation, here’s the official Epic documentation for using Github to get source, here is a user-composed wiki, and here are the Unreal forums for it.

Danie1,

In the past I’ve built remotely using the UnrealRemoteBuild tool and the GitHub source. I thought the 4.8 release (binary) would allow for code projects to be remotely built and remove the need for GitHub. I thought the binary release includes the source as the source shows up in code project solution files. Have I been wrong on all of this? You are saying we still need to use the GitHub version to do this?

Hi jeffvoight,

I’ve double-checked with the iOS dev, and source from Github is still needed to package code projects for iOS. It is my understanding that you can work on code projects in binary, but you will not be able to compile or package code projects in iOS without source and access to a Mac with Xcode.

Good luck!

Thanks for clarifying wittlief.

The githut docs show how to clone the source and get the engine building, the bit I was wondering about is if I needed to put my code project under the engine source folder or something to get it to work with the engine I’ve built from source. The wiki actually answers that under A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums so I think I’m all set.

Cheers