Skip to content

Conversation

@TheScarFr
Copy link
Contributor

https://discord.com/channels/282045216221822978/282046743338811392/1424555618668384339 up to https://discord.com/channels/282045216221822978/282046743338811392/1424583169750863902 .

Prad wrote:

Only thing I remember having had to change there (both on Windows 7 Docker-Toolbox and Ubuntu 20.04 Docker) was replace chown -R dirtsand /opt/dirtsand with chown -R dirtsand:dirtsand /opt/dirtsand ... the script is executed as root user inside the container, but chown dirtsand <filepath> only changes the user, not the group the user is in, so you end up with files belonging to dirtsand:root which the user dirtsand:dirtsand (defined as USER dirtsand in line 83) doesn't have access to ... I had to delete the erratic containers and re-build dockersand with the modified DockerFile (running the bat file again with build as argument) ...

Prad wrote:

AH, and I had to change cmake --build string_theory/build --parallel into cmake --build string_theory/build --parallel 1 as well as cmake --build dirtsand/build --parallel into cmake --build dirtsand/build --parallel 1 ... for some reason multithreaded builds of dockersand never worked well for me (neither on windows 7 with docker-toolbox nor on ubuntu 20.04 with docker) ... I don't really know why alpine Linux is really struggling with multithreaded builds of programs on sufficiently modern machines) ...

The Desktop computer I installed dirtsand on, run Windows 11 Pro x64, and I had an issue that disallowed me to build dockersand; the fix proposed by Prad worked for me too.

Fix proposed by Prad.
Copy link
Contributor

@dgelessus dgelessus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

About the parallel build issue: I think this is because we're using the default CMake generator (Unix Makefiles). In that case, --parallel with no argument translates to make -j with no argument, which means an unlimited number of parallel jobs, and that will overload most systems.

Perhaps we should add -G Ninja to the CMake call, because Ninja properly limits parallel builds based on the number of cores. (I think with Ninja, parallel builds are also the default and you don't even need to pass --parallel to cmake --build.)

@Deledrius Deledrius changed the title FixProposedByPrad Fix mismatched user and group ownership in Docker script. Oct 7, 2025
@zrax zrax merged commit 94410e7 into H-uru:master Nov 6, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants