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

Backport glibc 2.34 fix to 3.07-4.12 #19855

Merged
merged 7 commits into from
Jan 21, 2022
Merged

Conversation

dra27
Copy link
Member

@dra27 dra27 commented Oct 25, 2021

With the release of Ubuntu 21.10 (Impish), we're starting to get (more) distros with Glibc 2.34+ and therefore ocaml/ocaml#10250 is biting. I think this is as with the GCC 10 changes - we need to back-port in opam-repository in order to keep old compilers building with newer distros.

I propose pushing ocaml/ocaml#10266 to the maintenance tips of the 4.10, 4.11 and 4.12 branches. The back-port to these versions is trivial. I'll aim to confirm this with @Octachron later and, assuming they get pushed upstream I'll amend this PR to point to ocaml/ocaml instead of dra27/ocaml.

I'm opening the draft for now in order to allow the cluster to test these packages.

I have not updated:

The back-port to 4.09 and earlier is not as trivial: the machinery was changed in ocaml/ocaml#8670 to fix stack overflow in systhreads, so malloc'ing the alternate stack needs extricating from that. I intend to open a PR against 4.09 for that, just to allow (hopefully brief) review. Once that's merged to the 4.09 maintenance branch, I'd then aim to push that to previous branches and will then open another opam-repository PR like this one.

Patches prepared. Remaining tasks:

  • Test opam source on all packages
  • Test opam switch create on all the ocaml-base-compiler packages and the +options variants`
  • Submit and review patches for pushing to ocaml/ocaml release branches
  • Update packages to point to ocaml/ocaml instead of dra27/ocaml

@mseri
Copy link
Member

mseri commented Nov 9, 2021

pending upon ocaml/ocaml#10726

@cheese
Copy link

cheese commented Nov 18, 2021

Also hope for 4.08

@Corfucinas
Copy link

Any ETA? I need to compile some deps using 4.12.1 on Ubuntu 21.04

@dra27
Copy link
Member Author

dra27 commented Nov 20, 2021

@Corfucinas - you can temporarily add my branch, if it helps, with opam repo add dra27 'git+https://github.com/dra27/opam-repository.git#glibc-2.34-4.10+' which will pick these packages up.

In terms of ETA, the remaining upstream PR is slated for 4.14, so it should be no later than the first alpha of 4.14.0.

@fangyi-zhou
Copy link
Contributor

Fedora 35 (released Nov 2021) also uses glibc 2.34
https://src.fedoraproject.org/rpms/glibc

@Leonidas-from-XIV
Copy link
Contributor

pending upon ocaml/ocaml#10726

That PR has been merged now 🎉

Already applied in other packages.
The additional patches for these compilers no longer exist.
@dra27
Copy link
Member Author

dra27 commented Dec 16, 2021

This remote should be usable for anyone wishing to test compilers on Ubuntu 21.10+ etc.

@kit-ty-kate
Copy link
Member

Closing temporarily (testing 300 compilers and their reverse dependencies is making the CI blow up). It’ll be reopened shortly I promise

@kit-ty-kate kit-ty-kate reopened this Dec 17, 2021
@dra27
Copy link
Member Author

dra27 commented Dec 18, 2021

Two updates:

  • Patches for 3.07-3.11 incl. included inline, as the release branches on ocaml/ocaml need other things added for the patches to be reasonably carried there (affects ocaml-base-compiler and one old release of metaocaml)
  • linting metadata copied from various releases - the only packages I left alone are the metaocaml variants, as I'm not sure what the values should be for those (@yallop?)

@yallop
Copy link
Member

yallop commented Dec 18, 2021

  • linting metadata copied from various releases - the only packages I left alone are the metaocaml variants, as I'm not sure what the values should be for those (@yallop?)

See dra27#7.

@grobx grobx mentioned this pull request Jan 7, 2022
@dra27 dra27 reopened this Jan 17, 2022
@dra27 dra27 closed this Jan 17, 2022
@dra27 dra27 changed the title Backport glibc 2.34 fix to 4.10, 4.11 and 4.12 Backport glibc 2.34 fix to 3.07-4.12 Jan 17, 2022
@kit-ty-kate kit-ty-kate reopened this Jan 17, 2022
@kit-ty-kate
Copy link
Member

@dra27 is this PR ready?

@dra27
Copy link
Member Author

dra27 commented Jan 17, 2022

Awaiting the patches being pushed to ocaml/ocaml (last task above). Hopefully tomorrow!

@dra27 dra27 marked this pull request as ready for review January 21, 2022 11:57
@dra27
Copy link
Member Author

dra27 commented Jan 21, 2022

This PR should be good to go 🥳

Copy link
Member

@kit-ty-kate kit-ty-kate left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot!

@@ -40,3 +40,20 @@ url {
checksum: "md5=4f3906e581181c5435078ffe3e485e3f"
}
available: !(os = "macos" & arch = "arm64")
license: "QPL-1.0 AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should be only LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception but it doesn’t matter, we can always fix it later.

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.

Installing ocaml-base-compiler.4.12.1 with opam
8 participants