Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prerequisites image fails to build on Windows 11 #364

Open
junglie85 opened this issue Nov 6, 2024 · 6 comments
Open

Prerequisites image fails to build on Windows 11 #364

junglie85 opened this issue Nov 6, 2024 · 6 comments

Comments

@junglie85
Copy link

Output of the ue4-docker info command:

ue4-docker version:         0.0.114 (latest available version is 0.0.114)
Operating system:           Windows 10 Enterprise (Build 22631.4317)
Docker daemon version:      27.2.0
NVIDIA Docker supported:    No
Maximum image size:         800GB
Available disk space:       1.45 TiB
Total system memory:        63.21 GiB physical, 33.26 GiB virtual
CPU:                        16 physical, 32 logical (AMD64 Family 25 Model 97 Stepping 2, AuthenticAMD)

Additional details:

  • Are you accessing the network through a proxy server? No

The ue4-build-prerequisites image fails to build on Windows 11 in process isolation mode with VS2022 and LTSC2022.ue4-docker fails to detect the Windows version. I've used this same PC to build non ue4-docker containers with this version of Unreal with VS2022 and LTSC2022 without problem, so assume it is a supported combination. Possibly related to #216 and #232.

The command and output:

ue4-docker build custom -repo "https://private.repo" -branch main --exclude debug -basetag ltsc2022 -isolation process --visual-studio 2022 -username ******* -password *******
[ue4-docker build] COMMAND-LINE INVOCATION:
[ue4-docker build] ['ue4-docker', 'custom', '-repo', 'https://private.repo', '-branch', 'main', '--exclude', 'debug', '-basetag', 'ltsc2022', '-isolation', 'process', '--visual-studio', '2022', '-username', '*******', '-password', '*******']

[ue4-docker build] UNREAL ENGINE VERSION SETTINGS:
[ue4-docker build] Custom build:  Yes
[ue4-docker build] Custom name:   custom
[ue4-docker build] Repository:    https://private.repo
[ue4-docker build] Branch/tag:    main

[ue4-docker build] ADVANCED CONFIGURATION OPTIONS:
[ue4-docker build] buildgraph_args: " -set:VS2022=true"
[ue4-docker build] credential_mode: "endpoint"
[ue4-docker build] excluded_components: {"ddc": false, "debug": true, "templates": false}
[ue4-docker build] gitdependencies_args: "--exclude=Android --exclude=Mac --exclude=Linux"

[ue4-docker build] WINDOWS CONTAINER SETTINGS
[ue4-docker build] Isolation mode:               process
[ue4-docker build] Base OS image:                mcr.microsoft.com/windows/servercore:ltsc2022
[ue4-docker build] Dll source image:             mcr.microsoft.com/windows/server:ltsc2022
[ue4-docker build] Host OS:                      Windows 10 Enterprise (Build 22631.4317)
[ue4-docker build] Memory limit:                 No limit
[ue4-docker build] Detected max image size:      800GB
[ue4-docker build] Visual Studio:                2022

[ue4-docker build] Warning: unable to determine whether host system is new enough to use specified base tag
[ue4-docker build] GENERAL SETTINGS
[ue4-docker build] Build targets: build-prerequisites minimal source
[ue4-docker build] Changelist override: (None specified)
[ue4-docker build] Excluding the following Engine components:
[ue4-docker build] - Debug symbols

Retrieving the Git credentials that will be used to clone the UE4 repo
Using username specified via `-username` command-line argument.
Using password specified via `-password` command-line argument.

The failed choco installation details:

Chocolatey installed 17/20 packages. 3 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Installed:
 - vcredist2012 v11.0.61031.20230518
 - kb3035131 v1.0.3
 - kb2919355 v1.0.20160915
 - vcredist2013 v12.0.40660.20180427
 - python312 v3.12.6
 - vcredist140 v14.40.33816
 - kb2999226 v1.0.20181019
 - kb2919442 v1.0.20160915
 - python v3.12.6
 - windows-sdk-10-version-1809-windbg v10.0.17763.132
 - vcredist2017 v14.16.27052
 - choco-cleaner v1.1.1
 - vcredist-all v1.0.1
 - vcredist2015 v14.0.24215.20170201
 - kb3033929 v1.0.5
 - chocolatey-windowsupdate.extension v1.0.5
 - python3 v3.12.6

Failures
 - vcredist2008 (exited 1) - Error while running 'C:\ProgramData\chocolatey\lib\vcredist2008\tools\chocolateyInstall.ps1'.
 See log for details.
 - vcredist2010 (exited 1) - Error while running 'C:\ProgramData\chocolatey\lib\vcredist2010\tools\chocolateyInstall.ps1'.
 See log for details.
 - vcredist2005 (exited -2147023829) - Error while running 'C:\ProgramData\chocolatey\lib\vcredist2005\tools\chocolateyInstall.ps1'.
 See log for details.
Exit code: 1
At C:\install-prerequisites.ps1:12 char:9
+         throw "Exit code: $($process.ExitCode)"
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Exit code: 1:String) [], Runt
   imeException
    + FullyQualifiedErrorId : Exit code: 1

The command 'cmd /S /C powershell -ExecutionPolicy Bypass -File C:\install-prerequisites.ps1 %VISUAL_STUDIO_BUILD_NUMBER% && echo. && echo.RUN directive complete. Docker will now commit the filesystem layer to disk. && echo.Note that for large filesystem layers this can take quite some time. && echo.Performing filesystem layer commit... && echo.' returned a non-zero code: 1
[ue4-docker build] Error: failed to build image "adamrehn/ue4-build-prerequisites:ltsc2022-vs2022".
@slonopotamus
Copy link
Collaborator

I believe this is a duplicate of #216

@junglie85
Copy link
Author

I believe this is a duplicate of #216

That issue is 2 years old and closed.

At the time of posting this issue, Microsoft supports Windows Server 2022 base image on Windows 11 in process isolation mode. It's in preview, but I've had no issue with this combination and Unreal outside of ue4-docker.

@slonopotamus
Copy link
Collaborator

slonopotamus commented Nov 7, 2024

Here's a report I sent to Microsoft without any ue4-docker context that reproed the issue: microsoft/Windows-Containers#197
And I am not sure it was actually fixed. You can try reproducing it on your machine. IIRC, we only observed the issue on AMD CPUs and only with 32-bit apps.

@slonopotamus
Copy link
Collaborator

WRT #216 - it is closed because there is nothing we can do to fix this on ue4-docker side.

@junglie85
Copy link
Author

I have mismatched Windows 11 host and Server 2022 guest versions but it runs absolutely fine in process isolation mode on both Intel and AMD processors:

C:\Host>ver
Microsoft Windows [Version 10.0.22631.4317]

C:\Guest>ver
Microsoft Windows [Version 10.0.20348.2762]

I don't understand why I can build a Docker container with Unreal and all it's dependencies without issue (I basically copied from ue4-docker Dockerfiles but combined them) but as soon as I try to use ue4-docker, the build fails and it's not a problem with ue4-docker?

@junglie85
Copy link
Author

Although... I just realised that you're talking about building in process isolation mode and I'm talking about running in process isolation mode. Let me see what happens if I try to build without process isolation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants