Skip to content

glibc: 2.34-115 -> 2.35-30#165979

Closed
Ma27 wants to merge 2 commits intoNixOS:stagingfrom
Ma27:glibc-2.35
Closed

glibc: 2.34-115 -> 2.35-30#165979
Ma27 wants to merge 2 commits intoNixOS:stagingfrom
Ma27:glibc-2.35

Conversation

@Ma27
Copy link
Member

@Ma27 Ma27 commented Mar 27, 2022

Description of changes

Announcement: https://sourceware.org/pipermail/libc-alpha/2022-February/136040.html

Note: very early stage, probably needs a Hydra jobset (cc @vcunat @jonringer )

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.05 Release Notes (or backporting 21.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@jonringer
Copy link
Contributor

let me see if hydra-unstable builds on master...

I can setup a personal jobset..... and it failed :(

@vcunat
Copy link
Member

vcunat commented Mar 28, 2022

So, do you want a jobset on hydra.nixos.org now? aarch64-linux is relatively free, and that most likely won't change soon.

@Mic92
Copy link
Member

Mic92 commented Mar 28, 2022

Let me know, when you drop the static-pie flag and I can test if glibc still builds pie crt files.

@vcunat
Copy link
Member

vcunat commented Mar 28, 2022

They even say the flag was removed:

  • The --enable-static-pie option is no longer available. The glibc build
    configuration script now automatically detects static-pie support in the
    toolchain and architecture and enables it if available.

@vcunat
Copy link
Member

vcunat commented Apr 9, 2022

I assume that this won't aim for NixOS 22.05.

@Ma27
Copy link
Member Author

Ma27 commented Apr 29, 2022

I assume that this won't aim for NixOS 22.05.

Absolutely not! The earliest for this is 22.11 IMHO.

So, do you want a jobset on hydra.nixos.org now?

I assume that this is currently not a good idea considering that we're releasing in the foreseeable future, right?

I don't think I'll be able to do much anyways during the next weeks so I'm fine with waiting until 22.05 was released and then we can create a jobset.
Alternatively, I'd ask @jonringer (and perhaps help if their Hydra is still broken) because I don't have the resources for that.

@vcunat
Copy link
Member

vcunat commented Apr 29, 2022

At this point rules don't allow inclusion in 22.05 anymore.

Right now Hydra is down, but this week it had some spare x86_64-linux capacity. We can always prioritize (cancel) in case we accumulate a too long queue.

@Ma27
Copy link
Member Author

Ma27 commented Apr 29, 2022

At this point rules don't allow inclusion in 22.05 anymore.

Well aware of that ;-)

Right now Hydra is down, but this week it had some spare x86_64-linux capacity

if that's possible currently, I'd say let's go for it :)

@vobloeb
Copy link
Contributor

vobloeb commented May 8, 2022

Please add

disallowedReferences = lib.optional (stdenv.cc.libc != null) stdenv.cc.libc;

this new glibc refers to bootstrap's glibc increasing closure size

it may need

      patchelf --set-interpreter $(readlink -f $bin/bin/ld.so)  $bin/bin/ldconfig
      patchelf --set-interpreter $(readlink -f $bin/bin/ld.so)  $bin/bin/sln

in postInstall to fix (but I tested vanilla 2.35, 2.35-30 might have it fixed; anyway, disallowedReferences would be good to avoid future regression)

Comment on lines -65 to +72
$ git fetch --all -p && git checkout origin/release/2.34/master && git describe
glibc-2.34-115-gd5d1c95aaf
$ git show --minimal --reverse glibc-2.34.. | gzip -9n --rsyncable - > 2.34-master.patch.gz
$ git fetch --all -p && git checkout origin/release/2.35/master && git describe
glibc-2.35-30-g9be62976af
$ git show --minimal --reverse glibc-2.35.. | gzip -9n --rsyncable - > 2.35-master.patch.gz

To compare the archive contents zdiff can be used.
$ zdiff -u 2.34-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.34-master.patch.gz
$ zdiff -u 2.35-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.35-master.patch.gz
*/
./2.34-master.patch.gz
./2.35-master.patch.gz
Copy link
Contributor

Choose a reason for hiding this comment

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

why not fetchpatch { url = "https://github.com/bminor/glibc/compare/glibc-2.35..9be62976af.patch"; hash = ...; } ?

Copy link
Member

Choose a reason for hiding this comment

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

Doesn't work. Can't fetchpatch while bootstrapping.

Copy link
Contributor

Choose a reason for hiding this comment

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

fetchurl then

Copy link
Member

@vcunat vcunat May 9, 2022

Choose a reason for hiding this comment

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

That won't give a stable hash IIRC.

@vobloeb
Copy link
Contributor

vobloeb commented May 8, 2022

also resulted ${glibc.bin}/bin/ldd is a shell script starting with !#/bin/bash

it should be replaced with !#/bin/sh or patchShebangs'ed

@ncfavier
Copy link
Member

@vcunat
Copy link
Member

vcunat commented May 15, 2022

Probably not; the support should've been upstreamed, perhaps even earlier than 2.35.

@Ma27 Ma27 mentioned this pull request Jul 23, 2022
13 tasks
@Ma27 Ma27 closed this Jul 23, 2022
@Ma27 Ma27 deleted the glibc-2.35 branch July 23, 2022 10:44
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.

7 participants