adamrehn / ue4-docker

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

fails building ue4-minimal, not enough space on disk #118

Closed TomSmithGR closed 3 years ago

TomSmithGR commented 3 years ago

Output of the ue4-docker info command: PS C:\Users\moray> ue4-docker info ue4-docker version: 0.0.72 (latest available version is 0.0.72) Operating system: Windows Server 2019 Datacenter Version 1809 (OS Build 17763.1579) Docker daemon version: 19.03.13 NVIDIA Docker supported: No Maximum image size: 999GB Available disk space: 1.39 TiB Total system memory: 16 GiB physical, 18.37 GiB virtual Number of processors: 2 physical, 4 logical

The build command I am using is "ue4-docker build 4.26.0", I am building on a server 2019 datacenter VM.

Build output: PS C:\Users\moray> ue4-docker build 4.26.0 -user TomSmithGR -pass X [ue4-docker build] COMMAND-LINE INVOCATION: [ue4-docker build] ['ue4-docker', '4.26.0', '-user', 'TomSmithGR', '-pass', '***']

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

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

[ue4-docker build] GENERAL SETTINGS [ue4-docker build] Not excluding any Engine components. [ue4-docker build] Not building the ue4-source image, no Git credentials required.

[ue4-docker build] Image "adamrehn/ue4-build-prerequisites:ltsc2019" exists and rebuild not requested, skipping build.

[ue4-docker build] Image "adamrehn/ue4-source:4.26.0-ltsc2019" exists and rebuild not requested, skipping build.

[ue4-docker build] Image "adamrehn/ue4-engine:4.26.0-ltsc2019" exists and rebuild not requested, skipping build.

[ue4-docker build] Building image "adamrehn/ue4-minimal:4.26.0-ltsc2019"... failed to copy files: failed to copy directory: write \?\Volume{140eed0a-36a5-11eb-bb27-ed07c9ae9445}\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Server\Development\MovieScene\Module.MovieScene.gen.3_of_4.cpp.obj: There is not enough space on the disk. [ue4-docker build] Error: failed to build image "adamrehn/ue4-minimal:4.26.0-ltsc2019".

I am able to build engine and source images, but it fails building minimal.

The failure point for the first run was step 21/27, and it failed copying the build over, with an error about there not being enough space on the disk. I assume this is the disk in a docker container, the host system has a couple of TB of storage available.

The output from ue4-docker attached is from the second run of the build command, engine and source images are already built.

I have been experiencing a similar failure point when trying to build 4.24.3. Is there something I have missed?

TomSmithGR commented 3 years ago

further to this, I have now tried to build with the command: ue4-docker build 4.26.0 -user TomSmithGR -pass X --exclude debug

This succeeds at building ue4-minimal, but then fails to build the image "ue40full:4.26.0-ltsc2019". The first run it gets a file not found error, the second run it appears to be a problem with a conan package ADO/ue4@adamrehn/4.26.

The first attempt: run1 log.txt

The second attempt: run2 log.txt

mloftis commented 3 years ago

I've got the exact same problem from the run2 log above. Build for 4.26 ends in a failure from conan for the ue4-full image (tail end of output only)

Exception: child process ['conan', 'create', '.', 'adamrehn/4.26', '--profile=ue4.26-Linux-x86_64-unknown-linux-gnu'] failed with exit code 1
stdout: "Exporting package recipe
APEX/ue4@adamrehn/4.26: A new conanfile.py version was exported
APEX/ue4@adamrehn/4.26: Folder: /home/ue4/.conan/data/APEX/ue4/adamrehn/4.26/export
APEX/ue4@adamrehn/4.26: Exported revision: 8580ad497621d925fe8a1d4b58479b55
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=clang
compiler.libcxx=libc++
compiler.version=10
os=Linux
os_build=Linux
[options]
[build_requires]
*: toolchain-wrapper/ue4@adamrehn/4.26
[env]
UNREAL_ENGINE_VERSION=4.26
APEX/ue4@adamrehn/4.26: Forced build from source
Installing package: APEX/ue4@adamrehn/4.26
Requirements
    APEX/ue4@adamrehn/4.26 from local cache - Cache
    ue4lib/ue4@adamrehn/profile from local cache - Cache
Packages
    APEX/ue4@adamrehn/4.26:fc43af07aec0611514d96529170ad6df016aa59c - Build
    ue4lib/ue4@adamrehn/profile:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
Build requirements
    toolchain-wrapper/ue4@adamrehn/4.26 from local cache - Cache
Build requirements packages
    toolchain-wrapper/ue4@adamrehn/4.26:262333285528218ab67805eff9d596a8f1402b79 - Cache

Installing (downloading, building) binaries...
toolchain-wrapper/ue4@adamrehn/4.26: Already installed!
ue4lib/ue4@adamrehn/profile: Already installed!
APEX/ue4@adamrehn/4.26: Applying build-requirement: toolchain-wrapper/ue4@adamrehn/4.26
APEX/ue4@adamrehn/4.26: Configuring sources in /home/ue4/.conan/data/APEX/ue4/adamrehn/4.26/source
APEX/ue4@adamrehn/4.26: Copying sources to build folder
APEX/ue4@adamrehn/4.26: Building your package in /home/ue4/.conan/data/APEX/ue4/adamrehn/4.26/build/fc43af07aec0611514d96529170ad6df016aa59c
APEX/ue4@adamrehn/4.26: Generator txt created conanbuildinfo.txt
APEX/ue4@adamrehn/4.26: Calling build()
APEX/ue4@adamrehn/4.26: Package 'fc43af07aec0611514d96529170ad6df016aa59c' built
APEX/ue4@adamrehn/4.26: Build folder /home/ue4/.conan/data/APEX/ue4/adamrehn/4.26/build/fc43af07aec0611514d96529170ad6df016aa59c
APEX/ue4@adamrehn/4.26: Generated conaninfo.txt
APEX/ue4@adamrehn/4.26: Generated conanbuildinfo.txt
APEX/ue4@adamrehn/4.26: Generating the package
APEX/ue4@adamrehn/4.26: Package folder /home/ue4/.conan/data/APEX/ue4/adamrehn/4.26/package/fc43af07aec0611514d96529170ad6df016aa59c
APEX/ue4@adamrehn/4.26: Calling package()
"
stderr: "APEX/ue4@adamrehn/4.26: WARN: This conanfile has no build step
Using user-specified engine root: /home/ue4/UnrealEngine
ERROR: APEX/ue4@adamrehn/4.26: Error in package() method, line 54
        details = UE4Lib("APEX")
        KeyError: 'PublicAdditionalLibraries'
"
The command '/bin/sh -c ue4 conan generate && 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-full:4.26-sevend-20201208-00-opengl".
adamrehn commented 3 years ago

This appears to be the direct result of this conan-ue4cli issue, so I'll need to fix conan-ue4cli before the ue4-full image can be built for Unreal Engine 4.26.0.

mloftis commented 3 years ago

Thanks, I’ll follow that issue!

adamrehn commented 3 years ago

The conan-ue4cli issue is now fixed, which should allow the ue4-full image to build successfully for 4.26.0. I'll test this shortly to verify.

mloftis commented 3 years ago

Kicked off a build as well, I'll report back later today on how that goes, thanks @adamrehn !

adamrehn commented 3 years ago

My tests builds were successful for 4.26.0 under both Windows and Linux. We're officially 4.26 compatible!

mloftis commented 3 years ago

Hopefully this doesn’t reopen the issue but my (Linux) builds worked out as well. Took way longer than I was expecting due to a couple plugins I bundle into my builds not actually being compatible at all with 4.26. Thanks again!

TomSmithGR commented 3 years ago

I too have succeeded in building now, thanks for the help!

mloftis commented 3 years ago

@TomSmithGR might want to check my one liner PR on the main repo if you’re doing Linux builds — RunUAT.sh has a “bug” - it tries to grab Engine/Build/BatchFiles/Mac/SetupEnvironment.sh which doesn’t get copied into the -full at least, maybe even -minimal build - haven’t checked the latter.

mloftis commented 3 years ago

That is the main EpicGames/UnrealEngine repo

adamrehn commented 3 years ago

@mloftis in my experience there's always something wrong with every .0 release for one platform or another (sometimes Windows is broken, more often it's Linux.) Assuming this bug has been reported to Epic then hopefully it will be fixed in 4.26.1.

jonpas commented 3 years ago

This was fixed in 4.26.1 in case anyone is searching for this (@mloftis' PR merged). :)