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

ansible: add gcc 12 to Linux containers #3865

Merged
merged 2 commits into from
Aug 16, 2024
Merged

Conversation

richardlau
Copy link
Member

@richardlau richardlau commented Aug 15, 2024

Add gcc 12 to RHEL/UBI 8 and Ubuntu 20.04 containers.

Refs: #3806
Refs: #3846

FYI for the cross compiler container this only adds gcc 12 as a host compiler and we'll need a follow up if we want to have a gcc 12 cross compiler (which we've previously been building ourselves in https://github.com/rvagg/rpi-newer-crosstools.git).


Updated Docker hosts:

  • release-mnx-ubuntu2404_docker-x64-1
  • test-digitalocean-ubuntu2204_docker-x64-1
  • test-digitalocean-ubuntu2204_docker-x64-2
  • test-equinix-ubuntu2004_docker-arm64-1
  • test-equinix-ubuntu2004_docker-arm64-3
  • test-ibm-ubuntu2204_docker-x64-1
  • test-osuosl-ubuntu2004_docker-arm64-1

@richardlau
Copy link
Member Author

Currently (slowly) applying to test-osuosl-ubuntu2004_docker-arm64-1.

@richardlau
Copy link
Member Author

richardlau commented Aug 15, 2024

Currently (slowly) applying to test-osuosl-ubuntu2004_docker-arm64-1.

This is still running, but I'll have to rerun to check because the CentOS 7 container failed to build -- I've now removed the CentOS 7 containers from the inventory (in secrets) and the template for it.

I've also removed four versions of ICU (64, 64, 67 and 68) as the minimum version of Node.js we now build in the CI is Node.js 18 for which the minimum supported version of ICU is 69. The change was already made for the Ubuntu 22.04 containers as part of #3758. This should speed up building the sharedlibs containers.

@targos
Copy link
Member

targos commented Aug 15, 2024

Still LGTM

@richardlau
Copy link
Member Author

ugh. gcc-12 isn't available on Ubuntu 20.04. I suppose the easiest thing to do is update the arm containers from Ubuntu 20.04 to 22.04 (to match the x64 ones)?

Add gcc 12 to RHEL/UBI and Ubuntu containers.

Update arm containers from Ubuntu 20.04 to 22.04.
@richardlau
Copy link
Member Author

richardlau commented Aug 16, 2024

ugh. gcc-12 isn't available on Ubuntu 20.04. I suppose the easiest thing to do is update the arm containers from Ubuntu 20.04 to 22.04 (to match the x64 ones)?

I've updated all of the arm64 and armv7l Ubuntu containers from Ubuntu 20.04 to 22.04. We currently don't actually run any sharedlibs jobs on arm so for now I've dropped the sharedlibs containers in favor of more ubuntu2204-arm64 containers.

I've updated the labels (e.g. ubuntu2004-arm64 -> ubuntu2204-arm64) in:

@richardlau
Copy link
Member Author

richardlau commented Aug 16, 2024

Upgrading to Ubuntu 22.04 means we now use gcc 11 by default (at least until we update select-compiler) and run into a change for armv7: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104455

e.g.
https://ci.nodejs.org/job/node-test-binary-armv7l/12973/RUN_SUBSET=native,nodes=ubuntu2204-armv7l/console

03:02:21 cc1plus: error: '-mfloat-abi=hard': selected architecture lacks an FPU

I've appended +fp to -march in CFLAGS and CXXFLAGS:

which seems to fix this: https://ci.nodejs.org/job/node-test-binary-armv7l/12977/RUN_SUBSET=native,nodes=ubuntu2204-armv7l/

node-test-commit-arm doesn't appear to hit the problem because configure.py sets the fpu type.

@richardlau
Copy link
Member Author

AFAICT the updated

jobs are working on the updated containers.

@richardlau richardlau merged commit 24912dc into nodejs:main Aug 16, 2024
1 check 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.

2 participants