adamrehn / ue4-docker

Windows and Linux containers for Unreal Engine 4
https://docs.adamrehn.com/ue4-docker/
MIT License
777 stars 172 forks source link

ue4-docker build failing because downloading microsoft package yields 404 #104

Closed Agendum closed 3 years ago

Agendum commented 3 years ago

Output of the ue4-docker info command:

ue4-docker version:         0.0.71 (latest available version is 0.0.71)
Operating system:           Windows 10 Enterprise Version 2004 (OS Build 19041.572)
Docker daemon version:      19.03.13
NVIDIA Docker supported:    No
Maximum image size:         200GB
Available disk space:       228.11 GiB
Total system memory:        31.91 GiB physical, 36.66 GiB virtual
Number of processors:       6 physical, 12 logical

ue4-docker build is trying to download http://download.microsoft.com/download/6/A/2/6A2ECE81-C934-4E47-91CC-52DA00A65345/Installers/e8bc712abeffd7c9711ee3f55d4aa99b.cab but that file doesn't exist. I tried and I get a 404. This is causing the whole thing to fail. Is there a way to correct this?

Thanks!

Output of the ue4-docker build command:

C:\>ue4-docker build 4.25.3 --no-engine
[ue4-docker build] COMMAND-LINE INVOCATION:
[ue4-docker build] ['ue4-docker', '4.25.3', '--no-engine']

[ue4-docker build] UNREAL ENGINE VERSION SETTINGS:
[ue4-docker build] Custom build:  No
[ue4-docker build] Release:       4.25.3
[ue4-docker build] Repository:    https://github.com/EpicGames/UnrealEngine.git
[ue4-docker build] Branch/tag:    4.25.3-release

[ue4-docker build] WINDOWS CONTAINER SETTINGS
[ue4-docker build] Isolation mode:               process
[ue4-docker build] Base OS image tag:            2004 (host OS is Windows 10 version 2004)
[ue4-docker build] Memory limit:                 No limit
[ue4-docker build] Detected max image size:      200GB
[ue4-docker build] Directory to copy DLLs from:  C:\WINDOWS\System32

[ue4-docker build] GENERAL SETTINGS
[ue4-docker build] Not excluding any Engine components.

Retrieving the Git credentials that will be used to clone the UE4 repo
Username: ****
Password:

[ue4-docker build] Building image "adamrehn/ue4-build-prerequisites:2004"...
Sending build context to Docker daemon  1.863MB
Step 1/27 : ARG BASEIMAGE
Step 2/27 : FROM ${BASEIMAGE} AS dlls
4.8-windowsservercore-2004: Pulling from dotnet/framework/sdk
295f12394c4f: Pull complete
110ae24660f3: Pull complete
805dfaf85af6: Pull complete
ed89b31a50d1: Pull complete
aac7b9dc987c: Pull complete
3cf19dd3575f: Pull complete
154771fcfacb: Pull complete
0fa6ea6eeec5: Pull complete
86899f806f1a: Pull complete
2a4a93fe8e7f: Pull complete
0f2a999f8ff1: Pull complete
f43aa6afb043: Pull complete
8cec497d7d85: Pull complete
2e2fc1371e93: Pull complete
Digest: sha256:cbe79061bfb62032d8ff3eb73455a8336216336d64eebde70d240ff011022073
Status: Downloaded newer image for mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-2004
 ---> e5740366c4e7
Step 3/27 : SHELL ["cmd", "/S", "/C"]
 ---> Running in 5072202fd982
Removing intermediate container 5072202fd982
 ---> 0d53c5c26fb0
Step 4/27 : LABEL com.adamrehn.ue4-docker.sentinel="1"
 ---> Running in 8c31099508c4
Removing intermediate container 8c31099508c4
 ---> 9ad82b8cad7f
Step 5/27 : RUN mkdir C:\GatheredDlls && 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.
 ---> Running in f866127894d1

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container f866127894d1
 ---> 3da4709c6abe
Step 6/27 : RUN powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && 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.
 ---> Running in 16c77e0e9b8b
Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.15.
Downloading 7-Zip commandline tool prior to extraction.
Extracting C:\Users\ContainerAdministrator\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\ContainerAdministrator\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
  before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

WARNING: You can safely ignore errors related to missing log files when
  upgrading from a version of Chocolatey less than 0.9.9.
  'Batch file could not be found' is also safe to ignore.
  'The system cannot find the file specified' - also safe.
chocolatey.nupkg file not installed in lib.
 Attempting to locate it from bootstrapper.
PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...
WARNING: Not setting tab completion: Profile file does not exist at
'C:\Users\ContainerAdministrator\Documents\WindowsPowerShell\Microsoft.PowerShe
ll_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
 first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 16c77e0e9b8b
 ---> f1a47ea4c19f
Step 7/27 : RUN choco install -y 7zip curl && choco install -y python --version=3.7.5 && 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.
 ---> Running in 5e4b27726ac1
Chocolatey v0.10.15
Installing the following packages:
7zip;curl
By installing you accept licenses for the packages.
Progress: Downloading 7zip.install 19.0... 100%
Progress: Downloading chocolatey-core.extension 1.3.5.1... 100%
Progress: Downloading 7zip 19.0... 100%

chocolatey-core.extension v1.3.5.1 [Approved]
chocolatey-core.extension package files install completed. Performing other installation steps.
 Installed/updated chocolatey-core extensions.
 The install of chocolatey-core.extension was successful.
  Software installed to 'C:\ProgramData\chocolatey\extensions\chocolatey-core'

7zip.install v19.0 [Approved]
7zip.install package files install completed. Performing other installation steps.
Installing 64 bit version
Installing 7zip.install...
7zip.install has been installed.
7zip installed to 'C:\Program Files\7-Zip'
Added C:\ProgramData\chocolatey\bin\7z.exe shim pointed to 'c:\program files\7-zip\7z.exe'.
  7zip.install may be able to be automatically uninstalled.
 The install of 7zip.install was successful.
  Software installed to 'C:\Program Files\7-Zip\'

7zip v19.0 [Approved]
7zip package files install completed. Performing other installation steps.
 The install of 7zip was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.
Progress: Downloading curl 7.73.0... 100%

curl v7.73.0 [Approved]
curl package files install completed. Performing other installation steps.
Extracting 64-bit C:\ProgramData\chocolatey\lib\curl\tools\curl-7.73.0-win64-mingw.zip to C:\ProgramData\chocolatey\lib\curl\tools...
C:\ProgramData\chocolatey\lib\curl\tools
 ShimGen has successfully created a shim for curl.exe
 The install of curl was successful.
  Software installed to 'C:\ProgramData\chocolatey\lib\curl\tools'

Chocolatey installed 4/4 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Chocolatey v0.10.15
Installing the following packages:
python
By installing you accept licenses for the packages.
Progress: Downloading python3 3.7.5... 100%
Progress: Downloading python 3.7.5... 100%

python3 v3.7.5 [Approved]
python3 package files install completed. Performing other installation steps.
Installing 64-bit python3...
python3 has been installed.
Installed to: 'C:\Python37'
  python3 can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The install of python3 was successful.
  Software installed as 'exe', install location is likely default.

python v3.7.5 [Approved]
python package files install completed. Performing other installation steps.
 The install of python was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.

Chocolatey installed 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Did you know the proceeds of Pro (and some proceeds from other
 licensed editions) go into bettering the community infrastructure?
 Your support ensures an active community, keeps Chocolatey tip top,
 plus it nets you some awesome features!
 https://chocolatey.org/compare

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 5e4b27726ac1
 ---> 4ce367a13e95
Step 8/27 : COPY *.dll C:\GatheredDlls\
 ---> b01f6a19b40a
Step 9/27 : ARG HOST_VERSION
 ---> Running in be3227c902e7
Removing intermediate container be3227c902e7
 ---> d8d095f697a5
Step 10/27 : RUN pip install pywin32 && 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.
 ---> Running in d1787e91ff39
Collecting pywin32
  Downloading https://files.pythonhosted.org/packages/96/51/d46eb277182e0989a81cdc0933e97924b68b12519dfe62ae0ea5dec198dd/pywin32-228-cp37-cp37m-win_amd64.whl (9.1MB)
Installing collected packages: pywin32
Successfully installed pywin32-228
WARNING: You are using pip version 19.2.3, however version 20.2.4 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container d1787e91ff39
 ---> 8560e71705a9
Step 11/27 : COPY copy.py verify-host-dlls.py C:\
 ---> c5250a36032a
Step 12/27 : RUN C:\copy.py "C:\GatheredDlls\*.dll" C:\Windows\System32\ && 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.
 ---> Running in 71f2478090d9
Copied C:\GatheredDlls\dsound.dll to C:\Windows\System32\.
Copied C:\GatheredDlls\glu32.dll to C:\Windows\System32\.
Copied C:\GatheredDlls\opengl32.dll to C:\Windows\System32\.

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 71f2478090d9
 ---> 13c2c0836698
Step 13/27 : RUN python C:\verify-host-dlls.py %HOST_VERSION% C:\GatheredDlls && 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.
 ---> Running in 62981048cb18
Host OS build number:      10.0.19041.1
Container OS build number: 10.0.19041.1
Found host DLL file "dsound.dll" with version string "10.0.19041.1".
Found host DLL file "glu32.dll" with version string "10.0.19041.546".
Found host DLL file "opengl32.dll" with version string "10.0.19041.546".

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 62981048cb18
 ---> 3e6482deb786
Step 14/27 : RUN curl --progress -L "https://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe" --output %TEMP%\directx_redist.exe && 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.
 ---> Running in 6d542d2e6b9d
######################################################################## 100.0%

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 6d542d2e6b9d
 ---> 611227f048bb
Step 15/27 : RUN start /wait %TEMP%\directx_redist.exe /Q /T:%TEMP% &&  expand %TEMP%\APR2007_xinput_x64.cab -F:xinput1_3.dll C:\GatheredDlls\ &&       expand %TEMP%\Jun2010_D3DCompiler_43_x64.cab -F:D3DCompiler_43.dll C:\GatheredDlls\ &&  expand %TEMP%\Feb2010_X3DAudio_x64.cab -F:X3DAudio1_7.dll C:\GatheredDlls\ &&   expand %TEMP%\Jun2010_XAudio_x64.cab -F:XAPOFX1_5.dll C:\GatheredDlls\ &&      expand %TEMP%\Jun2010_XAudio_x64.cab -F:XAudio2_7.dll C:\GatheredDlls\ && 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.
 ---> Running in 95dbc47fffeb
Microsoft (R) File Expansion Utility
Copyright (c) Microsoft Corporation. All rights reserved.

Adding C:\GatheredDlls\xinput1_3.dll to Extraction Queue

Expanding Files ....

Expanding Files Complete ...
Microsoft (R) File Expansion Utility
Copyright (c) Microsoft Corporation. All rights reserved.

Adding C:\GatheredDlls\D3DCompiler_43.dll to Extraction Queue

Expanding Files ....

Expanding Files Complete ...
Microsoft (R) File Expansion Utility
Copyright (c) Microsoft Corporation. All rights reserved.

Adding C:\GatheredDlls\X3DAudio1_7.dll to Extraction Queue

Expanding Files ....

Expanding Files Complete ...
Microsoft (R) File Expansion Utility
Copyright (c) Microsoft Corporation. All rights reserved.

Adding C:\GatheredDlls\XAPOFX1_5.dll to Extraction Queue

Expanding Files ....

Expanding Files Complete ...
Microsoft (R) File Expansion Utility
Copyright (c) Microsoft Corporation. All rights reserved.

Adding C:\GatheredDlls\XAudio2_7.dll to Extraction Queue

Expanding Files ....

Expanding Files Complete ...

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 95dbc47fffeb
 ---> d47a53d7cdb9
Step 16/27 : RUN curl --progress -L "https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-runtime-components.zip?u=" --output %TEMP%\vulkan-runtime-components.zip && 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.
 ---> Running in 5c4c5c245b6c
######################################################################## 100.0%

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 5c4c5c245b6c
 ---> 7d126fa6c895
Step 17/27 : RUN 7z e %TEMP%\vulkan-runtime-components.zip -oC:\GatheredDlls -y "*\x64\vulkan-1.dll" && 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.
 ---> Running in 6b8d48f7c3ed

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive for archives:
1 file, 9712455 bytes (9485 KiB)

Extracting archive: C:\Users\ContainerAdministrator\AppData\Local\Temp\vulkan-runtime-components.zip
--
Path = C:\Users\ContainerAdministrator\AppData\Local\Temp\vulkan-runtime-components.zip
Type = zip
Physical Size = 9712455

Everything is Ok

Size:       1081144
Compressed: 9712455

RUN directive complete. Docker will now commit the filesystem layer to disk.
Note that for large filesystem layers this can take quite some time.
Performing filesystem layer commit...

Removing intermediate container 6b8d48f7c3ed
 ---> 5c2a1e3a8ea6
Step 18/27 : RUN choco install -y windbg && 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.
 ---> Running in 0d1199b59bb3
Chocolatey v0.10.15
Installing the following packages:
windbg
By installing you accept licenses for the packages.
Progress: Downloading windbg 10.0.10586.15... 100%

windbg v10.0.10586.15 [Approved] - Likely broken for FOSS users (due to download location changes)
windbg package files install completed. Performing other installation steps.
Attempt to get headers for http://download.microsoft.com/download/6/A/2/6A2ECE81-C934-4E47-91CC-52DA00A65345/Installers/e8bc712abeffd7c9711ee3f55d4aa99b.cab failed.
  The remote file either doesn't exist, is unauthorized, or is forbidden for url 'http://download.microsoft.com/download/6/A/2/6A2ECE81-C934-4E47-91CC-52DA00A65345/Installers/e8bc712abeffd7c9711ee3f55d4aa99b.cab'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
Downloading windbg
  from 'http://download.microsoft.com/download/6/A/2/6A2ECE81-C934-4E47-91CC-52DA00A65345/Installers/e8bc712abeffd7c9711ee3f55d4aa99b.cab'
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'http://download.microsoft.com/download/6/A/2/6A2ECE81-C934-4E47-91CC-52DA00A65345/Installers/e8bc712abeffd7c9711ee3f55d4aa99b.cab'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
This package is likely not broken for licensed users - see https://chocolatey.org/docs/features-private-cdn.
The install of windbg was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\windbg\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - windbg (exited 404) - Error while running 'C:\ProgramData\chocolatey\lib\windbg\tools\chocolateyInstall.ps1'.
 See log for details.
The command 'cmd /S /C choco install -y windbg && 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: 404
[ue4-docker build] Error: failed to build image "adamrehn/ue4-build-prerequisites:2004".
Agendum commented 3 years ago

I noticed this is a duplicate of: https://github.com/adamrehn/ue4-docker/issues/96