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

uclibc: Bump and clean #40268

Merged
merged 6 commits into from May 10, 2018
Merged

uclibc: Bump and clean #40268

merged 6 commits into from May 10, 2018

Conversation

Ericson2314
Copy link
Member

Motivation for this change

Well it does builds on x86_64, but nobody would use it there anyways.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@Ericson2314 Ericson2314 requested a review from nbp as a code owner May 10, 2018 04:22
@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: uclibc

The following builds were skipped because they don't evaluate on aarch64-linux: xbursttools

Partial log (click to expand)

  GEN extra/config/zconf.lex.c
  GEN extra/config/zconf.hash.c
  HOSTCC-o extra/config/zconf.tab.o
  HOSTCC extra/config/conf
***
*** Can't find default configuration "extra/Configs/defconfigs/aarch64/defconfig"!
***
make: *** [Makefile.in:508: defconfig] Error 1
builder for '/nix/store/67fv1gk8pv558ifna5ih2j5y54y7pfwb-uclibc-ng-1.0.30.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/67fv1gk8pv558ifna5ih2j5y54y7pfwb-uclibc-ng-1.0.30.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: uclibc

The following builds were skipped because they don't evaluate on aarch64-linux: xbursttools

Partial log (click to expand)

  GEN extra/config/zconf.lex.c
  GEN extra/config/zconf.hash.c
  HOSTCC-o extra/config/zconf.tab.o
  HOSTCC extra/config/conf
***
*** Can't find default configuration "extra/Configs/defconfigs/aarch64/defconfig"!
***
make: *** [Makefile.in:508: defconfig] Error 1
builder for '/nix/store/67fv1gk8pv558ifna5ih2j5y54y7pfwb-uclibc-ng-1.0.30.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/67fv1gk8pv558ifna5ih2j5y54y7pfwb-uclibc-ng-1.0.30.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: xbursttools

The following builds were skipped because they don't evaluate on x86_64-darwin: uclibc

Partial log (click to expand)

make[3]: Leaving directory '/private/tmp/nix-build-mipsel-unknown-linux-uclibc-binutils-2.30.drv-0/binutils-2.30/binutils'
make[2]: Leaving directory '/private/tmp/nix-build-mipsel-unknown-linux-uclibc-binutils-2.30.drv-0/binutils-2.30/binutils'
make[1]: Leaving directory '/private/tmp/nix-build-mipsel-unknown-linux-uclibc-binutils-2.30.drv-0/binutils-2.30'
make: *** [Makefile:880: all] Error 2
builder for '/nix/store/3w21d8xaq1dr2zz3az21kvrdzb6p19d7-mipsel-unknown-linux-uclibc-binutils-2.30.drv' failed with exit code 2
cannot build derivation '/nix/store/6c2cncd8yv29g5dnxghv1c3izzv7ain4-mipsel-unknown-linux-uclibc-mipsel-unknown-linux-uclibc-binutils-wrapper-2.30.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/4ybphg6npp9mw87bxqrz8ayc44ip8bm7-gcc-7.3.0-mipsel-unknown-linux-uclibc-stage-static.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/p62lrjmgg17pf5gjms9hdkrrc5m8hvvz-mipsel-unknown-linux-uclibc-gcc-cross-wrapper-7.3.0-mipsel-unknown-linux-uclibc-stage-static.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/694b2qkjgqcc01gyc2cxffhwc8c0yzf6-xburst-tools-2011-12-26.drv': 1 dependencies couldn't be built
error: build of '/nix/store/694b2qkjgqcc01gyc2cxffhwc8c0yzf6-xburst-tools-2011-12-26.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: xbursttools

The following builds were skipped because they don't evaluate on x86_64-darwin: uclibc

Partial log (click to expand)

make[3]: Leaving directory '/private/tmp/nix-build-mipsel-unknown-linux-uclibc-binutils-2.30.drv-0/binutils-2.30/binutils'
make[2]: Leaving directory '/private/tmp/nix-build-mipsel-unknown-linux-uclibc-binutils-2.30.drv-0/binutils-2.30/binutils'
make[1]: Leaving directory '/private/tmp/nix-build-mipsel-unknown-linux-uclibc-binutils-2.30.drv-0/binutils-2.30'
make: *** [Makefile:880: all] Error 2
builder for '/nix/store/3w21d8xaq1dr2zz3az21kvrdzb6p19d7-mipsel-unknown-linux-uclibc-binutils-2.30.drv' failed with exit code 2
cannot build derivation '/nix/store/6c2cncd8yv29g5dnxghv1c3izzv7ain4-mipsel-unknown-linux-uclibc-mipsel-unknown-linux-uclibc-binutils-wrapper-2.30.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/4ybphg6npp9mw87bxqrz8ayc44ip8bm7-gcc-7.3.0-mipsel-unknown-linux-uclibc-stage-static.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/p62lrjmgg17pf5gjms9hdkrrc5m8hvvz-mipsel-unknown-linux-uclibc-gcc-cross-wrapper-7.3.0-mipsel-unknown-linux-uclibc-stage-static.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/694b2qkjgqcc01gyc2cxffhwc8c0yzf6-xburst-tools-2011-12-26.drv': 1 dependencies couldn't be built
error: build of '/nix/store/694b2qkjgqcc01gyc2cxffhwc8c0yzf6-xburst-tools-2011-12-26.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: uclibc, xbursttools

Partial log (click to expand)

shrinking /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin/xbboot
shrinking /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin/jzboot
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin
mipsel-unknown-linux-uclibc-strip is /nix/store/mckf0ph6ykfhplbvb8zz8q4v0ykbvp6k-mipsel-unknown-linux-uclibc-binutils-2.30/bin/mipsel-unknown-linux-uclibc-strip
stripping (with command mipsel-unknown-linux-uclibc-strip and flags -S) in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin
patching script interpreter paths in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26
checking for references to /build in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26...
/nix/store/gaglw9xlw37rsi4dwd6kda4mjkfs1nqv-uclibc-ng-1.0.30
/nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26

@Ericson2314 Ericson2314 merged commit 0fd655f into NixOS:master May 10, 2018
@Ericson2314 Ericson2314 deleted the uclibc branch May 10, 2018 04:47
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: uclibc, xbursttools

Partial log (click to expand)

shrinking /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin/xbboot
shrinking /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin/usbboot
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin
mipsel-unknown-linux-uclibc-strip is /nix/store/mckf0ph6ykfhplbvb8zz8q4v0ykbvp6k-mipsel-unknown-linux-uclibc-binutils-2.30/bin/mipsel-unknown-linux-uclibc-strip
stripping (with command mipsel-unknown-linux-uclibc-strip and flags -S) in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26/bin
patching script interpreter paths in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26
checking for references to /build in /nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26...
/nix/store/gaglw9xlw37rsi4dwd6kda4mjkfs1nqv-uclibc-ng-1.0.30
/nix/store/5hzcwq4723dg3wws030gz4qd5l1d2ggp-xburst-tools-2011-12-26

@dezgeg
Copy link
Contributor

dezgeg commented May 10, 2018

Um, will this now mean we will now start to expect a ton of per-package patches to fix compilation on uclibc? Why do we need both uclibc and musl anyway? And given that @edolstra previously explicitly requested an RFC for these sort of things (like the musl support athttps://github.com/NixOS/rfcs/pull/23) why is this now just going straight in?

@Ericson2314
Copy link
Member Author

We already had it. It was just bitrotted, and so I cleaned it up because it was making other refactors harder, and I frankly I was tired at looking at the old code. If you are someone else want's to remove uclibc altogether, I have no problem with that.

Um, will this now mean we will now start to expect a ton of per-package patches to fix compilation on uclibc?

What do you mean? Even if I did plan to actually support uclibc (not merely make it presentable for someone else to maintain or remove), the MUSL people (of which I am not one) have, in line with there promise, not dumped musl-only patches everywhere so I would hold myself to the same standard. Does the MUSL work not look that way to you?

@dezgeg
Copy link
Contributor

dezgeg commented May 13, 2018

If something has bitrotted to the point of not even building anymore, and nobody has noticed it, then the right thing is to remove it. Again, d0e25d8 almost 2 years ago dropped all of the mips builds because they had been already long broken then. xbursttools should have already been removed back then.

What do you mean? Even if I did plan to actually support uclibc (not merely make it presentable for someone else to maintain or remove), the MUSL people (of which I am not one) have, in line with there promise, not dumped musl-only patches everywhere so I would hold myself to the same standard. Does the MUSL work not look that way to you?

As of current master, git grep isMusl | wc -l gives 104 hits. About 5 of those are the declarations / some common code. 31 of those lines directly match .*patch.* in various random packages. Most of the rest are lines like ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ again in various random packages which sound like more patches as well. I don't expect most of those patches going away either due to dead upstreams and things like that. They really are a necessary evil to have the packages working at all on musl, and I expect similar patches to be needed with uclibc as well. So having another set of 100 patches in various packages needs quite strong justifications on why either of musl or glibc is not good enough but uclibc is really needed.

@Ericson2314
Copy link
Member Author

Ericson2314 commented May 14, 2018

d0e25d8

That is great precedent. I especially wouldn't mind getting rid of xburstutils as importing nixpkgs from all-packages.nix (which it does) is very bad.

I don't expect most of those patches going away either due to dead upstreams and things like that.

Actually through things like #37056 the hope is at least the patches could be unconditional.

And again, if you want to just remove uclibc, I have no problem with that. In fact, it's nice that since it was cleaned up before removal, if anyone wants (and can justify) adding it back, there's a good starting point to work from.

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