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

/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by /__e/node20/bin/node)` #1590

Open
nicowilliams opened this issue Jan 19, 2024 · 36 comments

Comments

@nicowilliams
Copy link

Using container: image: debian:bullseye to build the OpenJDK for an older release of a distro (Debian in this case, but this isn't specific to Debian) causes a failure due to node in the actions/checkout@v4 docker image to fail to run due to the container having an older glibc:

/usr/bin/docker exec  ebe297a6b5716c387c7333d466eb082069a2f0b0c97379a95e810de4f4fa67a5 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

image

(Using build tools that depend on newer glibc versions seems likely to be a common pitfall for GitHub Actions.)

@briandfoy
Copy link

briandfoy commented Jan 24, 2024

I also have this problem on Ubuntu 22.04 (see https://github.com/briandfoy/data-constraint/actions/runs/7645971689/job/20833756885 while it is around).

Run actions/checkout@v4
  with:
    repository: briandfoy/data-constraint
    token: ***
    ssh-strict: true
    persist-credentials: true
    clean: true
    sparse-checkout-cone-mode: true
    fetch-depth: 1
    fetch-tags: false
    show-progress: true
    lfs: false
    submodules: false
    set-safe-directory: true
/usr/bin/docker exec  55707bba4641f79c81786bd2c50d454ad4ce5589862509caadcaf0d83af05524 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

briandfoy added a commit to briandfoy/github_workflows that referenced this issue Jan 24, 2024
briandfoy added a commit to briandfoy/data-constraint that referenced this issue Jan 24, 2024
@falkTX
Copy link

falkTX commented Jan 29, 2024

I have the same issue when trying to use ubuntu:18.04 image
https://github.com/moddevices/mod-desktop-app/actions/runs/7697857575/job/20975801114

falkTX added a commit to mod-audio/mod-desktop that referenced this issue Jan 29, 2024
See actions/checkout#1590

Signed-off-by: falkTX <falktx@falktx.com>
@falkTX
Copy link

falkTX commented Jan 29, 2024

Similarly the actions/cache@v4 also fails
https://github.com/moddevices/mod-desktop-app/actions/runs/7698414056/job/20977633093

falkTX added a commit to mod-audio/mod-desktop that referenced this issue Jan 29, 2024
See actions/checkout#1590

Signed-off-by: falkTX <falktx@falktx.com>
@Lastique
Copy link

Lastique commented Feb 2, 2024

I have the same problem with checkout@v4 with running CI on ubuntu:16.04 and ubuntu:18.04 docker images:

/usr/bin/docker exec  96e66dce4d560bc83ea53e3885a0f7a370efc33ab78c57efc31e036d6ef7b0c3 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

https://github.com/Lastique/scope/actions/runs/7754629439/job/21148329132

/usr/bin/docker exec  25c6cfe8c9e7550b5d65e58ee1567ae81f08d6b5b6b6868be7c4026ac201e195 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

https://github.com/Lastique/scope/actions/runs/7754629439/job/21148329685

These older Ubuntu images are needed to be able to test older compiler versions.

Until this issue is resolved, please remove the deprecation notice for checkout@v3, as there simply is no alternative.

Lastique added a commit to boostorg/scope that referenced this issue Feb 2, 2024
…ngs."

This reverts commit a8750d5.

checkout@v4 doesn't work on ubuntu:16.04 and ubuntu:18.04 images:

actions/checkout#1590
@falkTX
Copy link

falkTX commented Feb 2, 2024

Until this issue is resolved, please remove the deprecation notice for checkout@v3, as there simply is no alternative.

note that it is not just the checkout being broken, anything that uses node is broken which includes cache and artifacts.
even the node-setup action (which could potentially be a workaround) is broken.

basically all the v4 actions from github are broken for older distros due to glibc requirements

@nicowilliams
Copy link
Author

nicowilliams commented Feb 2, 2024 via email

@Dlazder
Copy link

Dlazder commented Feb 4, 2024

Same problem in ubuntu 18

@evitiello
Copy link

Anyone found a workaround for this? Or know why it started happening?

@falkTX
Copy link

falkTX commented Feb 5, 2024

the workaround is to keep using v3 actions. and it happens because github devs updated the base system where their node stack is built from.

seeing the way github has handled other issues, I expect this one to just be ignored completely.

Lastique added a commit to boostorg/scope that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/scope that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to Lastique/atomic that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to Lastique/atomic that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to Lastique/atomic that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/core that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/detail that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/filesystem that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/integer that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/iterator that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/log that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/parameter that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/sync that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Lastique added a commit to boostorg/utility that referenced this issue Feb 5, 2024
This fixes the deprecation warnings for actions/checkout@v3. actions/checkout@v4
is not functional because of the upstream bug:

actions/checkout#1590
Flamefire added a commit to boostorg/boost-ci that referenced this issue Feb 6, 2024
Avoid errors like
> /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
when using Ubuntu 16/18 containers with the @v4 actions
See actions/checkout#1590
jlevon added a commit to nutanix/libvfio-user that referenced this issue Aug 16, 2024
The centos:7 build no longer works on github due to this:

Run actions/checkout@v3
/usr/bin/docker exec  02e2cf2da72963d76b12a421e48bc0790138ee97bf567c8afcdf792dbc2093d8 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

See actions/checkout#1590

Attempt to work around this by allowing an "insecure" node version.

Signed-off-by: John Levon <john.levon@nutanix.com>
@jlevon
Copy link

jlevon commented Aug 16, 2024

ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION workaround apparently no longer works.

jlevon added a commit to nutanix/libvfio-user that referenced this issue Aug 16, 2024
The centos:7 build no longer works on github due to this:

Run actions/checkout@v3
/usr/bin/docker exec  02e2cf2da72963d76b12a421e48bc0790138ee97bf567c8afcdf792dbc2093d8 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

See actions/checkout#1590

Attempt to work around this by allowing an "insecure" node version.

Signed-off-by: John Levon <john.levon@nutanix.com>
jlevon added a commit to nutanix/libvfio-user that referenced this issue Aug 16, 2024
The centos:7 build no longer works on github due to this:

Run actions/checkout@v3
/usr/bin/docker exec  02e2cf2da72963d76b12a421e48bc0790138ee97bf567c8afcdf792dbc2093d8 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

See actions/checkout#1590

Attempt to work around this by allowing an "insecure" node version.

Signed-off-by: John Levon <john.levon@nutanix.com>
jlevon added a commit to nutanix/libvfio-user that referenced this issue Aug 16, 2024
The centos:7 build no longer works on github due to this:

Run actions/checkout@v3
/usr/bin/docker exec  02e2cf2da72963d76b12a421e48bc0790138ee97bf567c8afcdf792dbc2093d8 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

See actions/checkout#1590

The workaround suggested there does not work, at least for centos:7.

Instead, we'll open-code the checkout operation instead of using the
github action.

For the other jobs, which still work for now, move to the non-deprecated
checkout@v4.

Signed-off-by: John Levon <john.levon@nutanix.com>
jlevon added a commit to nutanix/libvfio-user that referenced this issue Aug 16, 2024
The centos:7 build no longer works on github due to this:

Run actions/checkout@v3
/usr/bin/docker exec  02e2cf2da72963d76b12a421e48bc0790138ee97bf567c8afcdf792dbc2093d8 sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
/__e/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /__e/node20/bin/node)

See actions/checkout#1590

The workaround suggested there does not work, at least for centos:7.

Instead, we'll open-code the checkout operation instead of using the
github action.

For the other jobs, which still work for now, move to the non-deprecated
checkout@v4.

Signed-off-by: John Levon <john.levon@nutanix.com>
@backend-sungjin
Copy link

Same problem
OS & Version: Centos 7
Runtime: nodejs v20
Error messages:

/root/actions-runner/externals/node20/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /root/actions-runner/externals/node20/bin/node)
/root/actions-runner/externals/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/actions-runner/externals/node20/bin/node)
/root/actions-runner/externals/node20/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /root/actions-runner/externals/node20/bin/node)
/root/actions-runner/externals/node20/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /root/actions-runner/externals/node20/bin/node)
/root/actions-runner/externals/node[20](https://github.com/cashwalk/WristdoctorAPIServer/actions/runs/10470028746/job/28994292915#step:2:21)/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /root/actions-runner/externals/node20/bin/node)
/root/actions-runner/externals/node20/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /root/actions-runner/externals/node20/bin/node)

Has anyone solved this?

@jlevon
Copy link

jlevon commented Aug 20, 2024

@backend-sungjin as it's clear they're not planning to fix this, I'd recommend dropping use of this action altogether.

https://github.com/nutanix/libvfio-user/pull/803/files#diff-a0fe23534b616d51ce686d2a1bcd1a78bc75074aef1a2f6ee96c9469991e1a4cR35

@skyzyx
Copy link

skyzyx commented Aug 20, 2024

Also, CentOS 7 has reached end-of-life.

@LuWang1983
Copy link

We are on v3 and encountering this error as well. I may have to pin down the specific v3 version that does not introduce this breaking change. No mention of breaking changes in the change logs either.

@LuWang1983
Copy link

LuWang1983 commented Aug 23, 2024

FYI, pinning down the version didn't seem to work (I pinned down to v3.5.0), so assuming node20 is required to build the container in checkout, can possibly set the node version in VM to 20 first then to an older version if the rest of the jobs depend on an older node version.

jgm added a commit to jgm/network-uri that referenced this issue Aug 23, 2024
(Of course this will just get overwritten by haskell-ci,
 but maybe by that time the bug actions/checkout#1590
 will have been fixed.)
@LuWang1983
Copy link

@backend-sungjin as it's clear they're not planning to fix this, I'd recommend dropping use of this action altogether.

https://github.com/nutanix/libvfio-user/pull/803/files#diff-a0fe23534b616d51ce686d2a1bcd1a78bc75074aef1a2f6ee96c9469991e1a4cR35

The thing is it may not always checkout the latest or the commit before a feature branch commit?

Flamefire added a commit to Flamefire/nowide that referenced this issue Aug 25, 2024
Avoid errors like
> /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
when using Ubuntu 16/18 containers with the @v4 actions
See actions/checkout#1590
Flamefire added a commit to boostorg/nowide that referenced this issue Aug 25, 2024
Avoid errors like
> /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
when using Ubuntu 16/18 containers with the @v4 actions
See actions/checkout#1590
sergio-costas added a commit to sergio-costas/snapd-glib that referenced this issue Aug 28, 2024
The tests in Bionic fail due to a problem in nodejs. Found a
workaround at the end of actions/checkout#1590
It consists on disable using node20 and allow using an insecure
version of nodejs.
sergio-costas added a commit to sergio-costas/snapd-glib that referenced this issue Aug 29, 2024
The tests in Bionic fail due to a problem in nodejs. Found a
workaround at the end of actions/checkout#1590
It consists on disable using node20 and allow using an insecure
version of nodejs.
sergio-costas added a commit to canonical/snapd-glib that referenced this issue Aug 29, 2024
The tests in Bionic fail due to a problem in nodejs. Found a
workaround at the end of actions/checkout#1590
It consists on disable using node20 and allow using an insecure
version of nodejs.
@caiocsgomes
Copy link

hey team, any updates on this? It's being 9 months and this issue has been referenced in hundreds of issues/prs

@mmomtchev
Copy link

There are no updates and there won't be any. They are deprecating these releases. They allowed people to use them for a while through a special flag that was supposed to give you one last deadline extension.

I do not agree with this decision, but this is how it works. They have a legitimate need to keep the number of supported configurations down to a reasonable number.

The only compromise I see possible is for Github to allow actions to use an existing Node.js runtime in the container through a flag - just as they can use an existing git client. This would allow anyone who really needs to try running their own action in an unsupported mode - or at least to create his own more limited action that works everywhere. Because at the moment, even this is not possible.

@alecrajeev
Copy link

I ran into this bug for some CI tests and I implemented a workaround.

We basically built (but did not push) a docker image and ran the CI tests inside of the docker build. If the CI tests passed, then the docker build was successful. If the CI tests failed, then the docker build failed.

In this way we got around the node js version limitations for actions/checkout.

@mcarbonneaux
Copy link

i use container to test build on old compiler, but when use checkout action i take the error about nodejs.
it's possible to execute checkout outside the container ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests