runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

ubuntu-latest is missing libc dependencies for cross compiling

Open chrichts opened this issue 2 years ago • 3 comments

Description

We are using a GitHub action to build our lambda go functions. Our Go functions require C libraries CGO_ENABLED=1 however the libraries are missing in Ubuntu 22.04.1 runner. This was working with the Ubuntu 20.04.05 runner.

Specific errors we are getting are:

/var/task/bootstrap: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /var/task/bootstrap)
/var/task/bootstrap: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /var/task/bootstrap)
/var/task/bootstrap: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /var/task/bootstrap)

Platforms affected

  • [ ] Azure DevOps
  • [X] GitHub Actions - Standard Runners
  • [ ] GitHub Actions - Larger Runners

Runner images affected

  • [ ] Ubuntu 18.04
  • [ ] Ubuntu 20.04
  • [X] Ubuntu 22.04
  • [ ] macOS 10.15
  • [ ] macOS 11
  • [ ] macOS 12
  • [ ] Windows Server 2019
  • [ ] Windows Server 2022

Image version and build link

Current runner version: '2.299.1' Operating System Ubuntu 22.04.1 LTS Runner Image Image: ubuntu-22.04 Version: 20221119.2 Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20221119.2/images/linux/Ubuntu2204-Readme.md Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20221119.2 Runner Image Provisioner 2.0.91.1

Is it regression?

https://github.com/actions/runner-images/releases/tag/ubuntu20%2F20221027.1

Expected behavior

Expect aws go lambdas to be built with the required libc libraries.

Actual behavior

Aws go lambdas are missing the required libc libraries.

Repro steps

We're using AWS CDK so don't have simple to-reproduce steps. Let me know if you need them

chrichts avatar Nov 28 '22 13:11 chrichts

Happy to provide more info if needed or do some further troubleshooting

chrichts avatar Nov 28 '22 13:11 chrichts

Hello @chrichts, could you please provide minimal repro steps? Thank you!

ddobranic avatar Nov 29 '22 08:11 ddobranic

@chrichts also found this workaround, maybe it can be of some help.

ddobranic avatar Nov 29 '22 08:11 ddobranic

@chrichts It looks like version of your build requires glibc version older than ubuntu-22.04 is actually providing. In 22.04 the version is 2.35 (and we do not provide any alternative toolchain installed), so the easiest solution here is to explicitly specify ubuntu-20.04 I think. In anyway, there is nothing we can do on our side.

If you have questions left feel free to reach us out again :)

mikhailkoliada avatar Nov 30 '22 09:11 mikhailkoliada