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

Add haiku-x64 image #669

Merged
merged 2 commits into from
Aug 18, 2022
Merged

Add haiku-x64 image #669

merged 2 commits into from
Aug 18, 2022

Conversation

am11
Copy link
Member

@am11 am11 commented Aug 17, 2022

cc @jessicah, the base layer (crossdeps) currently installs cmake 3.23, which has your changes in Modules/Platform/Haiku.cmake.

@am11
Copy link
Member Author

am11 commented Aug 17, 2022

@mthalman, I tried to add new platforms (linux-riscv64 and haiku-x64) in 22.04, but build.ps1 fails during cross rootfs script execution due to seccomp requirements in docker builder. I think all latest OS (Ubuntu, Fedora and Alpine Linux) require these new security features. Are we tracking its progress somewhere?

@am11 am11 force-pushed the feature/new-image/haiku-x64 branch 6 times, most recently from 20ac571 to 69ca207 Compare August 17, 2022 17:47
@am11 am11 force-pushed the feature/new-image/haiku-x64 branch from 69ca207 to 8b7d1f5 Compare August 17, 2022 18:41
@mthalman
Copy link
Member

@mthalman, I tried to add new platforms (linux-riscv64 and haiku-x64) in 22.04, but build.ps1 fails during cross rootfs script execution due to seccomp requirements in docker builder. I think all latest OS (Ubuntu, Fedora and Alpine Linux) require these new security features. Are we tracking its progress somewhere?

Can you be more specific about what's needed? The docker commands for running the script are at https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/main/src/ubuntu/build-scripts/build-rootfs.sh.

@am11
Copy link
Member Author

am11 commented Aug 18, 2022

Can you be more specific about what's needed?

@mthalman, I initially added linux-riscv64 and haiku-x64 under 22.04 and the build was failing with error indicating that some security option has changed in 22.04 but I don't have all the details other than "i'ts not working", and I thought you might have some ideas. 🙂

Switching (e.g. riscv64) from Ubuntu 20.04 to 22.04 breaks like this:

$ pwsh build.ps1 -DockerfilePath "*ubuntu/22.04/cross/riscv64*"
...
Cloning into '/scripts'.
...
mknod: /rootfs/riscv64/test-dev-null: Operation not permitted
E: Cannot install into target '/rootfs/riscv64' mounted with noexec or nodev
...

and the docker version in the executing layer (build-rootfs.sh) is:

Client:
 Version:           20.10.16
 API version:       1.41
...
Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
...

so something (like -- but not exactly -- this adoptium/containers#215 (comment)) has changed between Ubuntu Focal and Jammy which is causing the Operation not permitted.

@mthalman mthalman merged commit 08611bd into dotnet:main Aug 18, 2022
@am11 am11 deleted the feature/new-image/haiku-x64 branch August 18, 2022 13:30
@mthalman
Copy link
Member

@am11 - Why is this thought to be related to Docker seccomp? Have you verified the build-rootfs.sh script works when run, outside the context of a container, in a 22.04 VM or WSL?

@am11
Copy link
Member Author

am11 commented Aug 18, 2022

@mthalman, running build-rootfs on 22.04 VM does not give that error. One my virtual machine running 20.04 in managed cloud, I was getting the aforementioned error with 22.04 docker, but 20.04 docker gives no error on the same machine. I have just tested 22.04 container on GithHb Actions\s 20.04 VM, and it succeeded without any error: https://github.com/am11/CrossRepoCITesting/actions/runs/2883652586. So it must be something to do with my cloud VM environment that require some update for 22.04 container, seccomp option was my best guess based on googling..

I have opened #673 to test our AzDO. If it works, that is fine and better to add these new platforms in latest LTS. (it will buy us three / four years till EOL)

rzikm pushed a commit to rzikm/dotnet-buildtools-prereqs-docker that referenced this pull request Sep 27, 2022
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.

2 participants