ansible: add Ubuntu 24.04 Dockerfile configs with Clang 19#4156
ansible: add Ubuntu 24.04 Dockerfile configs with Clang 19#4156targos merged 4 commits intonodejs:mainfrom
Conversation
|
These are copies of the ubuntu2204 files with changes in:
|
Not sure what's the best way to manage the virtual environment in the Docker images. |
There was a problem hiding this comment.
(Non-blocking comment)
I think it's worth updating to keep this in step with the other platforms, but just noting that we don't currently use these on Node.js >= 24 as it doesn't build on 32-bit ARM so there's less of a need to update for clang here.
We're already doing this on Alpine: build/ansible/roles/docker/templates/alpine321.Dockerfile.j2 Lines 44 to 45 in 5a1da01 |
|
Ah right, I forgot. Thanks! |
|
No problem, I forget all kinds of stuff in our Ansible set up 😅. |
|
Next error: |
It looks like Ubuntu 24.04 images have added a non-root
Workarounds seem to be to delete or reassign the user. |
|
Yes, I found that and pushed 76db7cf just before your message. |
|
I don't think it matters to us what the user is actually called (though it'll be confusing if it's inconsistent with elsewhere), but it is important to keep the UID/GID to preserve permissions for the volume mount |
|
Images are built and running. I started two random test builds: https://ci.nodejs.org/job/targos-node-test-commit-linux-containered/2/ |
|
I'm surprised this test isn't failing on the existing sharedlib configurations. It executes FWIW |
|
I don't know what to do here. |
|
Okay I'm more confused now. There is clearly a difference in the way On In i.e. we can see that |
and they look to have passed the same command line arguments with the only difference being |
|
I guess |
Yes, it would appear to be doing something reasonable based on the command line. I'm doing a check in a local Ubuntu 24.04 container with gcc 14 (I tried the default gcc 13 but that fails to build V8) to compare with using clang to build. |
|
So I think we've run into https://stackoverflow.com/questions/79405331/why-does-ubuntus-linker-use-as-needed-by-default. Apparently Ubuntu's version of Passing It would be better not to pass through the |
|
I've opted for a simpler test modification: nodejs/node#60027 |
Yes, it's a bug. Opened nodejs/node#60029 |
The `env` parameter for `process.execve` is documented to default to `process.env`. PR-URL: #60029 Refs: nodejs/build#4156 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
|
All green! |
The `env` parameter for `process.execve` is documented to default to `process.env`. PR-URL: #60029 Refs: nodejs/build#4156 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
The `env` parameter for `process.execve` is documented to default to `process.env`. PR-URL: #60029 Refs: nodejs/build#4156 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
Refs: #4144