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

Make native mvnd only require glibc 2.12 on ubuntu 22.04 #825

Merged
merged 2 commits into from
Mar 23, 2023

Conversation

gzm55
Copy link
Contributor

@gzm55 gzm55 commented Mar 22, 2023

fix #823

The modern glibc from 2.34 had two breaking changes: move all api in
lib{pthread,dl,rt}.so into libc.so, new static start up code breaking
the runtime compatibility for old glibc (<2.34). See
https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread
for more info.

This commit has 3 changes to overcome thes changes.

- override gcc path to redefine glibc symbols on the fly in the
  generated .o by graalvm when linking
- provide a dynamic startup code to support both old and modern runtime
  glibc
- add needed dynamic libraries: lib{pthread,rt,dl}.so.
@gzm55 gzm55 force-pushed the work/glibc-2.12-on-ubuntu-22.04 branch from b39d6ec to 16b8335 Compare March 22, 2023 22:50
@gzm55 gzm55 changed the title try new patch to build mvnd only requiring glibc 2.12 on ubuntu 22.04 Make native mvnd only require glibc 2.12 on ubuntu 22.04 Mar 22, 2023
@gnodet gnodet added this to the 1.0.0-m5 milestone Mar 23, 2023
@gnodet gnodet merged commit da20df0 into apache:master Mar 23, 2023
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

Successfully merging this pull request may close these issues.

keep compatible for glibc 2.12 when build on ubuntu 22.04
2 participants