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

glibc: 2.31 -> 2.32 #95089

Merged
merged 41 commits into from Sep 13, 2020
Merged

glibc: 2.31 -> 2.32 #95089

merged 41 commits into from Sep 13, 2020

Conversation

Ma27
Copy link
Member

@Ma27 Ma27 commented Aug 10, 2020

Motivation for this change

This should be targeted against 21.03 or a later release.

Upstream ChangeLog: https://sourceware.org/pipermail/libc-announce/2020/000029.html
Hydra Jobset: https://hydra.nixos.org/jobset/nixpkgs/glibc-232

I already tested a few packages (including several gcc versions and llvm7) on the aarch64 community builder and on my personal x86_64-linux builder.

Please note that this is targeted against staging-next on purpose. This makes it easier to find new regressions when comparing against the staging-next jobset on Hydra.

Things done

@Ma27 Ma27 requested review from vcunat and FRidh August 10, 2020 15:09
@vcunat
Copy link
Member

vcunat commented Aug 10, 2020

From a previous glance at the announcement, we're still passing two --enable-obsolete-* flags that should be gone now. That also means those parts will be gone, but hopefully noone has been using them anymore.

@Ma27
Copy link
Member Author

Ma27 commented Aug 10, 2020

Thanks for pointing this out, you're absolutely right! In fact, I already removed obsolete sunrpc patches that aren't needed anymore because of one of those flags being removed 👍

@vcunat btw, can you add a new Hydra jobset for this, please? :)

@vcunat
Copy link
Member

vcunat commented Aug 10, 2020

Created, for now only x86_64.

@Ma27
Copy link
Member Author

Ma27 commented Aug 10, 2020

Nice, thanks! :)

@Ma27
Copy link
Member Author

Ma27 commented Aug 11, 2020

Btw git (https://hydra.nixos.org/build/125038989) builds locally for me.

@Ma27
Copy link
Member Author

Ma27 commented Aug 11, 2020

From a previous glance at the announcement, we're still passing two --enable-obsolete-* flags that should be gone now. That also means those parts will be gone, but hopefully noone has been using them anymore.

Well, unfortunately there are some packages using those. Some packages can be fixed by simply adding libtirpc (and for rpcgen we can use rpcsvc-proto which I packaged on this branch), however there are some packages that don't work with this and need fixed like this:

mkDerivation {
  /* ... */
  
  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
  NIX_LDFLAGS = [ "-ltirpc" ];
}

I added a note to the OP to remind myself to mention this in the release-notes.

@Ma27
Copy link
Member Author

Ma27 commented Aug 13, 2020

@vcunat in case you have time to, could you please restart the git-build (https://hydra.nixos.org/build/125051048)? I repeatedly managed to build it locally without any issues.

@vcunat
Copy link
Member

vcunat commented Aug 13, 2020

  • succeeded

@vcunat
Copy link
Member

vcunat commented Aug 15, 2020

Have you thought about which NixOS release this would be in? (I haven't looked into how "risky" this PR is.) #95475

@Ma27
Copy link
Member Author

Ma27 commented Aug 15, 2020

Have you thought about which NixOS release this would be in? (I haven't looked into how "risky" this PR is.)

Probably 21.03: there are actually quite many packages using this rpc-stuff from glibc and right now we don't provide a replacement since we don't ship another rpcgen (fixed it on this branch in 2085f65), so downstream pkgs relying on this can't really migrate atm.

@Ma27
Copy link
Member Author

Ma27 commented Aug 17, 2020

Fixed a few more things and rebased onto latest staging-next. Eval for that is running now.

@Ma27
Copy link
Member Author

Ma27 commented Aug 20, 2020

The new breakage is caused by a regression from upstream/staging-next that doesn't seem to be fixed yet:

qtquickcontrols> mkdir: cannot create directory '/nix/store/14kfh0l6627kvvvlg29l8nmjmzp33ipa-qtdeclarative-5.14.2-bin/lib/qt-5.14.2/qml/QtQuick/Controls': Permission denied
qtquickcontrols> make[2]: *** [Makefile:1642: install_qmlcacheinst] Error 1
qtquickcontrols> make[2]: Leaving directory '/build/qtquickcontrols-everywhere-src-5.14.2/src/controls'
qtquickcontrols> make[1]: *** [Makefile:64: sub-controls-install_subtargets] Error 2
qtquickcontrols> make[1]: Leaving directory '/build/qtquickcontrols-everywhere-src-5.14.2/src'
qtquickcontrols> make: *** [Makefile:61: sub-src-install_subtargets] Error 2
qtquickcontrols> builder for '/nix/store/0yb3ds49jb1qzmf14xypdqrkqcx7qxm8-qtquickcontrols-5.14.2.drv' failed with exit code 2

@Ma27
Copy link
Member Author

Ma27 commented Aug 25, 2020

Rebased onto latest staging-next to incorporate the QT fix. Now the ~900 broken packages because of that should be buildable again.

@Ma27 Ma27 changed the base branch from staging-next to staging September 12, 2020 21:05
@Ma27 Ma27 marked this pull request as ready for review September 12, 2020 21:06
@Ma27
Copy link
Member Author

Ma27 commented Sep 12, 2020

@vcunat great, thanks!

Just rebased onto latest staging, resolved one merge-conflict and marked this as ready to review. Feel free to take a final look and merge if nothing else is missing :)

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.

None yet

3 participants