Skip to content

development/libraries/glibc: work around glibc tuple-parsing bug#163401

Closed
ghost wants to merge 1 commit intomasterfrom
unknown repository
Closed

development/libraries/glibc: work around glibc tuple-parsing bug#163401
ghost wants to merge 1 commit intomasterfrom
unknown repository

Conversation

@ghost
Copy link
Copy Markdown

@ghost ghost commented Mar 9, 2022

Glibc's configuration machinery cannot parse *-muslabi64, and fails with a very cryptic error message. This commit adds a --host=mips64el-linux-musl to extraConfigureFlags (so it comes after the --host= added by stdenv) in this case.

This depends on #161158 and was split off from it as requested here

Description of changes
Things done
  • Built on platform(s)
    • x86_64-linux
    • mips64el-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.

@ghost ghost changed the base branch from master to staging March 9, 2022 02:07
@github-actions github-actions bot added 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: kernel The Linux kernel 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: pantheon The Pantheon desktop environment 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: stdenv Standard environment 8.has: changelog This PR adds or changes release notes labels Mar 9, 2022
@Ericson2314
Copy link
Copy Markdown
Member

Can you paste the error? If we can fix it with a newer GNU config, we should do that instead.

@ghost
Copy link
Copy Markdown
Author

ghost commented Mar 18, 2022

Can you paste the error? If we can fix it with a newer GNU config, we should do that instead.

It's this.

Copy/paste of that comment:


I seem to remember this coming up as well while building glibc.

Ah yes, I stumbled across it again.

For posterity, to reproduce this issue, grab https://github.com/a-m-joseph/nixpkgs/tree/mips64el-support-first-steps-glibc-needs-to-parse-without-64-in-arch and then:

nix-build . -A pkgs.pkgsCross.mips64el-linux-gnuabi64.pkgsStatic.nix_2_4

... the build of /nix/store/c36jzwynkpm4bp2ji1p2nszh5lm0rkp4-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv will give you:

This configuration not matched in ../abi-tags

I'm doing a rebuild to get the lines preceding that in case they help.

@ghost
Copy link
Copy Markdown
Author

ghost commented Mar 18, 2022

full dump
$ nix-build . -A pkgs.pkgsCross.mips64el-linux-gnuabi64.pkgsStatic.nix_2_4
these 51 derivations will be built:
  /nix/store/c36jzwynkpm4bp2ji1p2nszh5lm0rkp4-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv
  /nix/store/cdmzpc8h43a8g299vszv4w6iz6pk45nr-mips64el-unknown-linux-muslabi64-binutils-wrapper-2.35.2.drv
  /nix/store/ip9kx9vgccvr3bmm9ppl6iir8jrm6645-mips64el-unknown-linux-muslabi64-stage-final-gcc-debug-10.3.0.drv
  /nix/store/31x2hbycfaai3f6q5rzfv5qglfk1j0cn-mips64el-unknown-linux-muslabi64-stage-final-gcc-debug-wrapper-10.3.0.drv
  /nix/store/cbrcdsnl9svb1p9rivd8j88g9a340gcg-stdenv-linux.drv
  /nix/store/0zvnmrylr8lyzxgfw0s336h45hf1sn2b-pcre-static-mips64el-unknown-linux-muslabi64-8.45.drv
  /nix/store/140l7xw1cnn8mlsqrh84scax82q7rhnp-expat-static-mips64el-unknown-linux-muslabi64-2.4.4.drv
  /nix/store/8mljj2y980aljfxj94swpgrypkb1l0va-glibc-iconv-2.33.drv
  /nix/store/lvbcnbq5zyjrbl8bxr9r3p1nvic8ziqa-libunistring-static-mips64el-unknown-linux-muslabi64-0.9.10.drv
  /nix/store/17d7bb69j9iszmg1fcfb3v8x993nlpd5-libidn2-static-mips64el-unknown-linux-muslabi64-2.3.2.drv
  /nix/store/v0qdf1z2mppxy6l0ddinb6f28ym1awsi-openssl-static-mips64el-unknown-linux-muslabi64-1.1.1m.drv
  /nix/store/wkb0wz40fd3ya2ai1ma5fvi833gvxqb3-zlib-static-mips64el-unknown-linux-muslabi64-1.2.11.drv
  /nix/store/2gs8xaiddgn3h0357nqwy103admxicli-libssh2-static-mips64el-unknown-linux-muslabi64-1.10.0.drv
  /nix/store/2wyarn171smsp67z4sv8q3qsx21551ql-boehm-gc-static-mips64el-unknown-linux-muslabi64-8.0.6.drv
  /nix/store/41q4rv71vc6vb5cn6snp371xi9vma7xp-c-ares-static-mips64el-unknown-linux-muslabi64-1.18.1.drv
  /nix/store/n20l1xwrk28dgj534ijb03pcfx7sgxvv-libev-static-mips64el-unknown-linux-muslabi64-4.33.drv
  /nix/store/6cb9j5xwpc8wqfycbglww93iy94kwndj-nghttp2-static-mips64el-unknown-linux-muslabi64-1.43.0.drv
  /nix/store/hip76sj89b5xph7bq0s949n49m0m50zn-bash-5.1-p12-mips64el-unknown-linux-muslabi64.drv
  /nix/store/ish7shn9y8kxypdx0z3lj9ljf0chycmz-gnugrep-static-mips64el-unknown-linux-muslabi64-3.7.drv
  /nix/store/6n4pivf2bip8qwr1p82576rznpdm9vdd-zstd-static-mips64el-unknown-linux-muslabi64-1.5.2.drv
  /nix/store/38vk9s37ylzg8fp9pfhdns9b7zbfivjl-curl-static-mips64el-unknown-linux-muslabi64-7.81.0.drv
  /nix/store/l4vzx4wzj49q0j2n6hkwdrslz1bjdqs4-gettext-static-mips64el-unknown-linux-muslabi64-0.21.drv
  /nix/store/a7sv3lxwr3ys64ixhl1rgalb791y69cs-attr-static-mips64el-unknown-linux-muslabi64-2.5.1.drv
  /nix/store/mlsb9zv972prdzjj17w5cjzf3k47486n-gmp-static-mips64el-unknown-linux-muslabi64-6.2.1.drv
  /nix/store/xhrfwvmlb7lw8i0zxgmjxzz8xkvnz3bz-acl-static-mips64el-unknown-linux-muslabi64-2.3.1.drv
  /nix/store/ls16jvh0134n1s8hyjp2kwbyxlslyciv-coreutils-static-mips64el-unknown-linux-muslabi64-9.0.drv
  /nix/store/3yflxiqynd0qwmfnvxlmmcraydgr609l-sharutils-static-mips64el-unknown-linux-muslabi64-4.15.2.drv
  /nix/store/68a3icab1dzacwkhmjing274xd4pd2g1-editline-static-mips64el-unknown-linux-muslabi64-1.17.1.drv
  /nix/store/8ci5m02zrq52h8pvf6lv4m25mh0fbqjd-brotli-static-mips64el-unknown-linux-muslabi64-1.0.9.drv
  /nix/store/8mxmls6c8vhd3b7c58rb2zpna1ng1iyy-db-static-mips64el-unknown-linux-muslabi64-4.8.30.drv
  /nix/store/a55zbry4hkla0zbiffx8r3syc4d009gi-lzo-static-mips64el-unknown-linux-muslabi64-2.10.drv
  /nix/store/aj9bxxz76xjvnnbhg1va59l2zd07s4gq-bzip2-static-mips64el-unknown-linux-muslabi64-1.0.6.0.2.drv
  /nix/store/nqci8vqfa6xnlc9dvq5gpm4w1y3li44h-audit-static-mips64el-unknown-linux-muslabi64-2.8.5.drv
  /nix/store/wb9cfa8yx8kw2vsy63hii938shxsb3jf-cracklib-static-mips64el-unknown-linux-muslabi64-2.9.7.drv
  /nix/store/amxwr540465jj529q0ziysdxajvz37cr-linux-pam-static-mips64el-unknown-linux-muslabi64-1.5.2.drv
  /nix/store/dlhb2csj8jrf5vn4195329x3i5vy98np-lowdown-static-mips64el-unknown-linux-muslabi64-0.10.0.drv
  /nix/store/fgcdcichqfwmiyp0qaak0v4dscc3llqk-boost-static-mips64el-unknown-linux-muslabi64-1.77.0.drv
  /nix/store/j9jd7p1lmcymhl39ip3za9bwmb4lgg5k-libsodium-static-mips64el-unknown-linux-muslabi64-1.0.18.drv
  /nix/store/jmzjs8jrkz7ijw50ml6p3300gzjq6x5v-shadow-static-mips64el-unknown-linux-muslabi64-4.8.1.drv
  /nix/store/kv7sz2pjbqr55q1x0acalfy11pgvw9iz-busybox-static-mips64el-unknown-linux-muslabi64-1.34.1.drv
  /nix/store/ssrkw8s4dq5703b3cwx74vd7wzdaivhn-libcap-ng-static-mips64el-unknown-linux-muslabi64-0.8.2.drv
  /nix/store/x8gmc0xvf1rdh6rx6mjza60a235jwyhz-util-linux-static-mips64el-unknown-linux-muslabi64-2.37.3.drv
  /nix/store/r0vy79z00yi367ndcaa62985s117fip6-e2fsprogs-static-mips64el-unknown-linux-muslabi64-1.46.5.drv
  /nix/store/vs38ak7dsng8vj6492d78kmchza7ah6j-xz-static-mips64el-unknown-linux-muslabi64-5.2.5.drv
  /nix/store/x7z59x6zfdinplbyn5qkfwq8y1f44cn3-libxml2-static-mips64el-unknown-linux-muslabi64-2.9.12.drv
  /nix/store/s2s85fjfaihwrrjky7cvj529rcliikhh-libarchive-static-mips64el-unknown-linux-muslabi64-3.5.2.drv
  /nix/store/vyakiknmiqrbhdcff4manv8wa8r1xx9f-gtest-static-mips64el-unknown-linux-muslabi64-1.11.0.drv
  /nix/store/qpfq1y9km3456qvdx13h0jv0kaiq1v18-getopt-static-mips64el-unknown-linux-muslabi64-1.1.6.drv
  /nix/store/wb877nvjyapi48py75ipk83jv8fphgi8-libseccomp-static-mips64el-unknown-linux-muslabi64-2.5.3.drv
  /nix/store/y4zl0dqgsd5n8l6phmq4kik8m6kk9q67-sqlite-static-mips64el-unknown-linux-muslabi64-3.37.2.drv
  /nix/store/n633d497c0xv5n77i90y38786swpv2a0-nix-static-mips64el-unknown-linux-muslabi64-2.4.drv
building '/nix/store/c36jzwynkpm4bp2ji1p2nszh5lm0rkp4-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv'...
unpacking sources
unpacking source archive /nix/store/7vi0gyvcssbdk6ncsnln878cfnxzw9hc-glibc-2.33.tar.xz
source root is glibc-2.33
setting SOURCE_DATE_EPOCH to timestamp 1612199733 of file glibc-2.33/wctype/wctype_l.c
patching sources
applying patch /nix/store/hp0l1wgnkcgm6gdwh2j0k3n8bv25zgyb-2.33-master.patch.gz
patching file nss/nss_database.c
patching file elf/dl-tunable-types.h
patching file elf/dl-tunables.c
patching file elf/dl-tunables.h
patching file manual/README.tunables
patching file sysdeps/unix/sysv/linux/aarch64/cpu-features.c
patching file sysdeps/x86/dl-cacheinfo.h
patching file sysdeps/x86/dl-cacheinfo.h
patching file elf/dl-tunables.list
patching file elf/tst-rtld-list-tunables.exp
patching file sysdeps/s390/dl-procinfo.c
patching file sysdeps/s390/dl-procinfo.h
patching file sysdeps/unix/sysv/linux/s390/bits/hwcap.h
patching file string/rawmemchr.c
patching file NEWS
patching file elf/Makefile
patching file elf/dl-diagnostics-cpu.c
patching file elf/dl-diagnostics-kernel.c
patching file elf/dl-diagnostics.c
patching file elf/dl-diagnostics.h
patching file elf/dl-main.h
patching file elf/dl-usage.c
patching file elf/rtld.c
patching file sysdeps/unix/sysv/linux/dl-diagnostics-kernel.c
patching file sysdeps/x86/include/cpu-features-preferred_feature_index_1.def
patching file sysdeps/x86/include/cpu-features.h
patching file sysdeps/x86/dl-diagnostics-cpu.c
patching file sysdeps/x86/include/cpu-features.h
patching file nss/nss_database.c
patching file nss/tst-reload2.c
patching file nss/tst-reload2.root/etc/hosts
patching file nss/tst-reload2.root/etc/nsswitch.conf
patching file nss/tst-reload2.root/subdir/etc/hosts
patching file nss/tst-reload2.root/subdir/etc/nsswitch.conf
patching file config.h.in
patching file sysdeps/x86/configure
patching file sysdeps/x86/configure.ac
patching file sysdeps/x86/isa-level.c
patching file nscd/netgroupcache.c
patching file io/Makefile
patching file io/fstat.c
patching file io/fstat64.c
patching file io/tst-stat-lfs.c
patching file io/tst-stat.c
patching file sysdeps/unix/sysv/linux/fstat.c
patching file sysdeps/unix/sysv/linux/fstat64.c
patching file sysdeps/x86/Makefile
patching file sysdeps/x86/cacheinfo.c
patching file sysdeps/x86/dl-cacheinfo.h
patching file sysdeps/x86/dl-diagnostics-cpu.c
patching file sysdeps/x86/include/cpu-features.h
patching file sysdeps/x86/tst-sysconf-cache-linesize-static.c
patching file sysdeps/x86/tst-sysconf-cache-linesize.c
patching file NEWS
patching file elf/Makefile
patching file elf/dl-load.c
patching file elf/tst-dst-static.c
patching file NEWS
patching file elf/Makefile
patching file elf/dl-load.c
patching file NEWS
patching file nptl/Makefile
patching file nptl/pthreadP.h
patching file nptl/pthread_once.c
patching file nptl/tst-once5.cc
patching file sysdeps/pthread/Makefile
patching file sysdeps/pthread/tst-oncey3.c
patching file sysdeps/pthread/tst-oncey4.c
patching file NEWS
patching file sysdeps/nptl/lowlevellock-futex.h
patching file NEWS
patching file support/test-container.c
patching file sysdeps/s390/configure
patching file sysdeps/s390/configure.ac
patching file sysdeps/s390/memmove.c
patching file sysdeps/s390/multiarch/ifunc-impl-list.c
patching file malloc/malloc.c
patching file sysdeps/nios2/libm-test-ulps
patching file misc/Makefile
patching file misc/tst-select.c
patching file NEWS
patching file misc/tst-select.c
patching file support/Makefile
patching file support/support.h
patching file support/support_select_modifies_timeout.c
patching file support/Makefile
patching file support/support.h
patching file support/support_select_normalizes_timeout.c
patching file NEWS
patching file include/time.h
patching file misc/tst-select.c
patching file sunrpc/svcauth_des.c
patching file sysdeps/unix/sysv/linux/select.c
patching file NEWS
patching file misc/tst-select.c
patching file sysdeps/unix/sysv/linux/select.c
patching file elf/dl-tunable-types.h
patching file elf/dl-tunables.c
patching file elf/dl-tunables.h
patching file support/support_capture_subprocess.c
patching file support/support_subprocess.c
patching file support/support_subprocess.c
patching file stdlib/tst-secure-getenv.c
patching file support/capture_subprocess.h
patching file support/subprocess.h
patching file support/support_capture_subprocess.c
patching file support/support_subprocess.c
patching file elf/tst-env-setuid.c
patching file elf/Makefile
patching file elf/tst-env-setuid-tunables.c
patching file elf/dl-tunables.c
patching file elf/tst-env-setuid-tunables.c
patching file sysdeps/unix/sysv/linux/sys/prctl.h
patching file sysdeps/x86/tst-cpu-features-supports.c
patching file NEWS
patching file nptl/Makefile
patching file nptl/pthread_create.c
patching file nptl/tst-pthread-gdb-attach-static.c
patching file nptl/tst-pthread-gdb-attach.c
patching file nptl_db/structs.def
patching file nptl_db/td_init.c
patching file nptl_db/thread_dbP.h
patching file nptl/tst-pthread-gdb-attach.c
patching file nptl/Makefile
patching file NEWS
patching file sysdeps/powerpc/powerpc64/sysdep.h
patching file NEWS
patching file dlfcn/dlerror.c
patching file elf/Makefile
patching file elf/Versions
patching file elf/dl-error-skeleton.c
patching file elf/rtld.c
patching file elf/tst-dlmopen-dlerror-mod.c
patching file elf/tst-dlmopen-dlerror.c
patching file sysdeps/generic/ldsodefs.h
patching file NEWS
patching file sysdeps/unix/sysv/linux/mq_notify.c
patching file sysdeps/unix/sysv/linux/mq_notify.c
patching file NEWS
patching file elf/Makefile
patching file elf/dl-libc.c
patching file elf/tst-dlmopen-gethostbyname-mod.c
patching file elf/tst-dlmopen-gethostbyname.c
patching file posix/wordexp-test.c
patching file posix/wordexp.c
patching file sysdeps/x86_64/configure
patching file sysdeps/x86_64/configure.ac
patching file sysdeps/unix/sysv/linux/mq_notify.c
patching file rt/Makefile
patching file rt/tst-bz28213.c
patching file sysdeps/unix/sysv/linux/tst-sysvshm-linux.c
patching file sysdeps/riscv/rv64/rvd/libm-test-ulps
patching file sysdeps/unix/sysv/linux/mips/fxstat.c
patching file sysdeps/unix/sysv/linux/mips/lxstat.c
patching file sysdeps/unix/sysv/linux/mips/xstat.c
patching file nss/tst-nss-files-hosts-long.root/etc/nsswitch.conf
patching file posix/bits/unistd.h
patching file posix/unistd.h
patching file sysdeps/s390/dl-procinfo.c
patching file sysdeps/s390/dl-procinfo.h
patching file sysdeps/unix/sysv/linux/s390/bits/hwcap.h
patching file elf/dl-open.c
patching file sysdeps/s390/memmem-arch13.S
patching file sysdeps/s390/strstr-arch13.S
patching file support/Makefile
patching file support/xpthread_kill.c
patching file support/xthread.h
patching file NEWS
patching file nptl/pthread_create.c
patching file sysdeps/pthread/Makefile
patching file sysdeps/pthread/tst-pthread-exit-signal.c
patching file NEWS
patching file sysdeps/powerpc/powerpc64/sysdep.h
patching file NEWS
patching file iconvdata/Makefile
patching file iconvdata/bug-iconv15.c
patching file iconvdata/iso-2022-jp-3.c
patching file sysdeps/unix/sysv/linux/powerpc/syscall.S
patching file sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c
patching file NEWS
patching file sysdeps/x86/cacheinfo.h
patching file include/sys/un.h
patching file socket/Makefile
patching file socket/sockaddr_un_set.c
patching file socket/tst-sockaddr_un_set.c
patching file NEWS
patching file sunrpc/clnt_gen.c
patching file sunrpc/Makefile
patching file sunrpc/tst-bug22542.c
patching file include/libc-symbols.h
patching file NEWS
patching file sunrpc/Makefile
patching file sunrpc/svc_unix.c
patching file sunrpc/tst-bug28768.c
patching file sysdeps/powerpc/Makefile
patching file sysdeps/powerpc/tst-set_ppr.c
patching file elf/dl-cache.c
patching file support/temp_file.c
patching file support/temp_file.h
patching file NEWS
patching file stdlib/Makefile
patching file stdlib/canonicalize.c
patching file stdlib/tst-realpath-toolong.c
patching file stdlib/tst-realpath-toolong.c
patching file support/Makefile
patching file support/xclone.c
patching file support/xsched.h
patching file NEWS
patching file sysdeps/posix/getcwd.c
patching file sysdeps/unix/sysv/linux/Makefile
patching file sysdeps/unix/sysv/linux/tst-getcwd-smallbuff.c
patching file stdlib/canonicalize.c
patching file sysdeps/unix/sysv/linux/tst-getcwd-smallbuff.c
patching file support/xclone.c
patching file sysdeps/unix/sysv/linux/aarch64/clone.S
patching file sysdeps/x86_64/multiarch/strcmp-avx2.S
patching file NEWS
patching file string/test-strnlen.c
patching file string/test-strnlen.c
patching file sysdeps/x86/cpu-features.c
patching file sysdeps/x86/cpu-tunables.c
patching file sysdeps/x86/include/cpu-features-preferred_feature_index_1.def
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-avx2.h
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/memchr-evex.S
patching file sysdeps/x86_64/multiarch/memrchr-evex.S
patching file sysdeps/x86_64/multiarch/rawmemchr-evex.S
patching file sysdeps/x86_64/multiarch/strchr-evex.S
patching file sysdeps/x86_64/multiarch/strchr.c
patching file sysdeps/x86_64/multiarch/strchrnul-evex.S
patching file sysdeps/x86_64/multiarch/strcmp-evex.S
patching file sysdeps/x86_64/multiarch/strcmp.c
patching file sysdeps/x86_64/multiarch/strlen-evex.S
patching file sysdeps/x86_64/multiarch/strncmp-evex.S
patching file sysdeps/x86_64/multiarch/strncmp.c
patching file sysdeps/x86_64/multiarch/strnlen-evex.S
patching file sysdeps/x86_64/multiarch/strrchr-evex.S
patching file sysdeps/x86_64/multiarch/wcschr-evex.S
patching file sysdeps/x86_64/multiarch/wcscmp-evex.S
patching file sysdeps/x86_64/multiarch/wcslen-evex.S
patching file sysdeps/x86_64/multiarch/wcsncmp-evex.S
patching file sysdeps/x86_64/multiarch/wcsnlen-evex.S
patching file sysdeps/x86_64/multiarch/wcsnlen.c
patching file sysdeps/x86_64/multiarch/wcsrchr-evex.S
patching file sysdeps/x86_64/multiarch/wmemchr-evex.S
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-strcpy.h
patching file sysdeps/x86_64/multiarch/stpcpy-evex.S
patching file sysdeps/x86_64/multiarch/stpncpy-evex.S
patching file sysdeps/x86_64/multiarch/strcat-evex.S
patching file sysdeps/x86_64/multiarch/strcpy-evex.S
patching file sysdeps/x86_64/multiarch/strncat-evex.S
patching file sysdeps/x86_64/multiarch/strncpy-evex.S
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-memmove.h
patching file sysdeps/x86_64/multiarch/memmove-evex-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-memset.h
patching file sysdeps/x86_64/multiarch/ifunc-wmemset.h
patching file sysdeps/x86_64/multiarch/memset-evex-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-memcmp.h
patching file sysdeps/x86_64/multiarch/memcmp-evex-movbe.S
patching file sysdeps/x86_64/multiarch/wmemcmp-evex-movbe.S
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-avx2.h
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-memcmp.h
patching file sysdeps/x86_64/multiarch/ifunc-memmove.h
patching file sysdeps/x86_64/multiarch/ifunc-memset.h
patching file sysdeps/x86_64/multiarch/ifunc-strcpy.h
patching file sysdeps/x86_64/multiarch/ifunc-wmemset.h
patching file sysdeps/x86_64/multiarch/memchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/memchr-avx2.S
patching file sysdeps/x86_64/multiarch/memcmp-avx2-movbe-rtm.S
patching file sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S
patching file sysdeps/x86_64/multiarch/memmove-avx-unaligned-erms-rtm.S
patching file sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/memrchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/memrchr-avx2.S
patching file sysdeps/x86_64/multiarch/memset-avx2-unaligned-erms-rtm.S
patching file sysdeps/x86_64/multiarch/memset-avx2-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/rawmemchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/stpcpy-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/stpncpy-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strcat-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strcat-avx2.S
patching file sysdeps/x86_64/multiarch/strchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strchr-avx2.S
patching file sysdeps/x86_64/multiarch/strchr.c
patching file sysdeps/x86_64/multiarch/strchrnul-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strcmp-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strcmp-avx2.S
patching file sysdeps/x86_64/multiarch/strcmp.c
patching file sysdeps/x86_64/multiarch/strcpy-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strcpy-avx2.S
patching file sysdeps/x86_64/multiarch/strlen-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strlen-avx2.S
patching file sysdeps/x86_64/multiarch/strncat-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strncmp-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strncmp.c
patching file sysdeps/x86_64/multiarch/strncpy-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strnlen-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strrchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/strrchr-avx2.S
patching file sysdeps/x86_64/multiarch/wcschr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wcscmp-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wcslen-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wcsncmp-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wcsnlen-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wcsnlen.c
patching file sysdeps/x86_64/multiarch/wcsrchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wmemchr-avx2-rtm.S
patching file sysdeps/x86_64/multiarch/wmemcmp-avx2-movbe-rtm.S
patching file sysdeps/x86_64/sysdep.h
patching file sysdeps/x86/Makefile
patching file sysdeps/x86/tst-memchr-rtm.c
patching file sysdeps/x86/tst-memcmp-rtm.c
patching file sysdeps/x86/tst-memmove-rtm.c
patching file sysdeps/x86/tst-memrchr-rtm.c
patching file sysdeps/x86/tst-memset-rtm.c
patching file sysdeps/x86/tst-strchr-rtm.c
patching file sysdeps/x86/tst-strcpy-rtm.c
patching file sysdeps/x86/tst-string-rtm.h
patching file sysdeps/x86/tst-strlen-rtm.c
patching file sysdeps/x86/tst-strncmp-rtm.c
patching file sysdeps/x86/tst-strrchr-rtm.c
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-memset.h
patching file sysdeps/x86_64/multiarch/ifunc-wmemset.h
patching file sysdeps/x86_64/multiarch/memset-avx512-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-memmove.h
patching file sysdeps/x86_64/multiarch/memmove-avx512-unaligned-erms.S
patching file sysdeps/x86_64/multiarch/strlen-evex.S
patching file NEWS
patching file sysdeps/x86_64/multiarch/memchr-avx2.S
patching file sysdeps/x86_64/memchr.S
patching file sysdeps/x86_64/multiarch/memchr-avx2.S
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/strlen-avx2.S
patching file sysdeps/x86_64/multiarch/memchr-evex.S
patching file sysdeps/x86_64/multiarch/memchr-evex.S
patching file sysdeps/x86_64/multiarch/strlen-sse2.S
patching file sysdeps/x86_64/multiarch/strlen-vec.S
patching file sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S
patching file sysdeps/x86_64/strlen.S
patching file sysdeps/x86_64/multiarch/Makefile
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
patching file sysdeps/x86_64/multiarch/ifunc-wcslen.h
patching file sysdeps/x86_64/multiarch/wcslen-sse4_1.S
patching file sysdeps/x86_64/multiarch/wcslen.c
patching file sysdeps/x86_64/multiarch/wcsnlen.c
patching file sysdeps/x86_64/multiarch/strlen-avx2.S
patching file sysdeps/x86_64/multiarch/strlen-vec.S
patching file sysdeps/x86_64/multiarch/strlen-evex.S
patching file string/test-memchr.c
patching file string/test-strncat.c
patching file string/test-strnlen.c
patching file NEWS
patching file sysdeps/x86_64/multiarch/ifunc-impl-list.c
applying patch /nix/store/pp29isd0nvy4jrm9q2f92pjlc83xwa0i-nix-locale-archive.patch
patching file locale/loadarchive.c
patching file locale/programs/locale.c
Hunk #1 succeeded at 634 (offset 1 line).
Hunk #2 succeeded at 663 (offset 1 line).
patching file locale/programs/locarchive.c
applying patch /nix/store/b1w7zbvm39ff1i52iyjggyvw2rdxz104-dont-use-system-ld-so-cache.patch
patching file elf/Makefile
Hunk #1 succeeded at 673 with fuzz 2 (offset 4 lines).
patching file elf/dl-diagnostics.c
patching file elf/ldconfig.c
patching file sysdeps/generic/dl-cache.h
applying patch /nix/store/mnglr8rr7nl444h7p50ysyq8qd0fm1lm-dont-use-system-ld-so-preload.patch
patching file elf/rtld.c
Hunk #1 succeeded at 1853 (offset 340 lines).
applying patch /nix/store/za0pg7fmysrcwrqcal26fnmzw6vycgdn-fix_path_attribute_in_getconf.patch
patching file sysdeps/unix/confstr.h
applying patch /nix/store/xkd50xxii6k7l1kmw4l5x6xzbhamcs87-allow-kernel-2.6.32.patch
patching file sysdeps/unix/sysv/linux/configure
patching file sysdeps/unix/sysv/linux/configure.ac
patching file sysdeps/unix/sysv/linux/dl-osinfo.h
applying patch /nix/store/3l70d7kcfsh91w6792h4fqs4kjbq17py-glibc-reinstate-prlimit64-fallback.patch?id=eab07e78b691ae7866267fc04d31c7c3ad6b0eeb
patching file sysdeps/unix/sysv/linux/getrlimit64.c
Hunk #1 succeeded at 36 (offset 1 line).
patching file sysdeps/unix/sysv/linux/setrlimit.c
Hunk #1 succeeded at 33 (offset -1 lines).
Hunk #2 succeeded at 45 with fuzz 1 (offset -1 lines).
patching file sysdeps/unix/sysv/linux/setrlimit64.c
Hunk #1 succeeded at 37 with fuzz 2 (offset 1 line).
applying patch /nix/store/nqa9d4yxz1l2cgswzqr1pkm4jfrksm0q-locale-C.diff
patching file localedata/locales/C
applying patch /nix/store/7kw224hdyxd7115lrqh9a4dv2x8msq2s-fix-x64-abi.patch
patching file elf/dl-tls.c
Hunk #1 succeeded at 898 (offset 71 lines).
applying patch /nix/store/001gp43bjqzx60cg345n2slzg7131za8-nix-nss-open-files.patch
patching file nss/nss_files/files-XXX.c
patching file nss/nss_files/files-proto.c
patching file nss/nss_files/files-service.c
updateAutotoolsGnuConfigScriptsPhase
Updating Autotools / GNU config script to a newer upstream version: ./scripts/config.sub
Updating Autotools / GNU config script to a newer upstream version: ./scripts/config.guess
configuring
configure flags: --prefix=/nix/store/syw77v5qmgy1wk0fp9f88dm0swllpvfi-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108 --bindir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/bin --sbindir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/sbin --includedir=/nix/store/nnilwy9jyylpz8xdsqvs688pziq31b4y-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-dev/include --oldincludedir=/nix/store/nnilwy9jyylpz8xdsqvs688pziq31b4y-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-dev/include --mandir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/share/man --infodir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/share/info --docdir=/nix/store/syw77v5qmgy1wk0fp9f88dm0swllpvfi-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108/share/doc/glibc --libdir=/nix/store/syw77v5qmgy1wk0fp9f88dm0swllpvfi-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108/lib --libexecdir=/nix/store/syw77v5qmgy1wk0fp9f88dm0swllpvfi-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108/libexec --localedir=/nix/store/syw77v5qmgy1wk0fp9f88dm0swllpvfi-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108/share/locale -C --enable-add-ons --sysconfdir=/etc --enable-stackguard-randomization --enable-bind-now --with-headers=/nix/store/a7mw54cr50kl6c5f8pdhjdvfmbnj4aya-linux-headers-static-5.16/include --disable-profile --enable-kernel=3.2.0 --without-fp --with-__thread --disable-shared --enable-static --disable-shared --build=x86_64-unknown-linux-gnu --host=mips64el-unknown-linux-muslabi64
configure: loading cache config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... mips64el-unknown-linux-muslabi64
checking for mips64el-unknown-linux-muslabi64-gcc... mips64el-unknown-linux-muslabi64-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mips64el-unknown-linux-muslabi64-gcc accepts -g... yes
checking for gcc... gcc
checking for mips64el-unknown-linux-muslabi64-readelf... mips64el-unknown-linux-muslabi64-readelf
checking whether we are using the GNU C++ compiler... no
checking whether mips64el-unknown-linux-muslabi64-g++ accepts -g... no
checking whether mips64el-unknown-linux-muslabi64-g++ can link programs... no
checking for sysdeps preconfigure fragments... aarch64 alpha arc arm csky hppa i386 m68k microblaze checking for grep that handles long lines and -e... /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep
checking for egrep... /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep -E
mips nios2 powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep
checking for egrep... (cached) /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep -E
sparc x86_64
checking for use of fpu sysdeps directories... yes
checking for -fstack-protector... yes
checking for -fstack-protector-strong... yes
checking for -fstack-protector-all... yes
checking for assembler and linker STT_GNU_IFUNC support... no
checking for gcc attribute ifunc support... no
checking whether the linker supports textrels along with ifunc... no
checking if compiler warns about alias for function with incompatible types... yes
configure: WARNING: gcc emits a warning for alias between functions of incompatible types
configure: WARNING: Multi-arch is disabled.
checking sysdep dirs... sysdeps/unix/sysv/linux/mips/mips64/n64 sysdeps/unix/sysv/linux/mips/mips64 sysdeps/unix/sysv/linux/mips sysdeps/mips/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/mips/mips64 sysdeps/unix/mips sysdeps/unix sysdeps/posix sysdeps/mips/mips64/n64/fpu sysdeps/mips/mips64/n64 sysdeps/mips/ieee754 sysdeps/ieee754/ldbl-128 sysdeps/mips/mips64 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/mips sysdeps/wordsize-64 sysdeps/mips/fpu sysdeps/ieee754 sysdeps/generic
checking for a BSD-compatible install... /nix/store/dj89pwrdlycn8iyn08v8znmynjz1zsi9-coreutils-9.0/bin/install -c
checking whether ln -s works... yes
checking whether mips64el-unknown-linux-muslabi64-as is GNU as... yes
checking whether mips64el-unknown-linux-muslabi64-ld is GNU ld... yes
checking for mips64el-unknown-linux-muslabi64-as... mips64el-unknown-linux-muslabi64-as
checking version of mips64el-unknown-linux-muslabi64-as... 2.35.2, ok
checking for mips64el-unknown-linux-muslabi64-ld... mips64el-unknown-linux-muslabi64-ld
checking version of mips64el-unknown-linux-muslabi64-ld... 2.35.2, ok
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 4.3, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.8, ok
checking for gawk... gawk
checking version of gawk... 5.1.1, ok
checking for bison... bison
checking version of bison... 3.8.2, ok
checking if mips64el-unknown-linux-muslabi64-gcc is sufficient to build libc... yes
checking for mips64el-unknown-linux-muslabi64-nm... mips64el-unknown-linux-muslabi64-nm
checking for python3... python3
checking version of python3... 3.9.10, ok
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt makeinfo
*** some features or tests will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... ok
checking for bash... /bin/sh
checking for perl... no
checking for install-info... /usr/bin/install-info
checking for .set assembler directive... yes
checking linker support for protected data symbol... no
checking linker support for INSERT in linker script... yes
checking for broken __attribute__((alias()))... no
checking whether to put _rtld_local into .sdata section... yes
checking for libunwind-support in compiler... no
checking whether --noexecstack is desirable for .S files... no
checking for -z combreloc... no
checking for linker that supports -z execstack... yes
checking for linker that supports --no-dynamic-linker... yes
checking for -static-pie... yes
checking for -fpie... yes
checking for --hash-style option... yes
checking for sufficient default -shared layout... no
checking for GLOB_DAT reloc... no
checking for -fno-toplevel-reorder -fno-section-anchors... yes
checking for -mtls-dialect=gnu2... no
checking whether cc puts quotes around section names... no
checking for __builtin_memset... no
checking for redirection of built-in functions... yes
checking for compiler option to disable generation of FMA instructions... -ffp-contract=off
checking if mips64el-unknown-linux-muslabi64-gcc accepts -fno-tree-loop-distribute-patterns with __attribute__ ((__optimize__))... yes
checking for libgd... no
checking for is_selinux_enabled in -lselinux... no
checking for _FORTIFY_SOURCE predefine... no
checking whether the linker provides working __ehdr_start... yes
checking for __builtin_trap with no external dependencies... yes
checking whether the C++ compiler supports thread_local... no
running configure fragment for sysdeps/unix/sysv/linux/mips/mips64
running configure fragment for sysdeps/unix/sysv/linux/mips
checking for grep that handles long lines and -e... (cached) /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep
checking for egrep... (cached) /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep -E
checking whether the compiler is using the 2008 NaN encoding... no
checking whether the compiler must use executable stack... yes
configure: WARNING: forcing executable stack for pre-4.8.0 Linux kernels
running configure fragment for sysdeps/unix/sysv/linux
checking installed Linux kernel header files... 3.2.0 or later
checking for kernel header at least 3.2.0... ok
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/mips
checking for grep that handles long lines and -e... (cached) /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep
checking for egrep... (cached) /nix/store/hcpp0sgqrdd8gc2fya3lf5yibk1n1a87-gnugrep-3.7/bin/grep -E
checking whether the compiler is using the 2008 NaN encoding... (cached) no
checking whether -fPIC is default... yes
checking whether -fPIE is default... no
configure: updating cache config.cache
configure: creating ./config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands
building
build flags: -j16 -l16 SHELL=/nix/store/4nmqxajzaf60yjribkgvj5j54x9yvr1r-bash-5.1-p12/bin/bash OBJCOPY=mips64el-unknown-linux-muslabi64-objcopy bindir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/bin sbindir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/sbin rootsbindir=/nix/store/71bd5ziwk6rs6xrrrifs52h58aa6k0vb-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108-bin/sbin
make -r PARALLELMFLAGS="" -C /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/../glibc-2.33 objdir=`pwd` all
make[1]: Entering directory '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33'
LC_ALL=C gawk -f scripts/sysd-rules.awk > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/sysd-rulesT \
                -v all_object_suffixes='.o .os .oS' \
                -v inhibit_sysdep_asm='' \
                -v sysd_rules_patterns='%:% rtld-%:rtld-% rtld-%:% m_%:s_%' \
                -v config_sysdirs='sysdeps/unix/sysv/linux/mips/mips64/n64 sysdeps/unix/sysv/linux/mips/mips64 sysdeps/unix/sysv/linux/mips sysdeps/mips/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/mips/mips64 sysdeps/unix/mips sysdeps/unix sysdeps/posix sysdeps/mips/mips64/n64/fpu sysdeps/mips/mips64/n64 sysdeps/mips/ieee754 sysdeps/ieee754/ldbl-128 sysdeps/mips/mips64 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/mips sysdeps/wordsize-64 sysdeps/mips/fpu sysdeps/ieee754 sysdeps/generic'
mv -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/sysd-rulesT /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/sysd-rules
gawk -f scripts/gen-sorted.awk \
       -v subdirs='csu assert ctype locale intl catgets math setjmp signal stdlib stdio-common libio malloc string wcsmbs time dirent grp pwd posix io termios resource misc socket sysvipc gmon gnulib iconv iconvdata wctype manual shadow gshadow po argp localedata timezone rt conform debug mathvec support dlfcn elf crypt' \
       -v srcpfx='' \
       sysdeps/nptl/Subdirs sysdeps/unix/inet/Subdirs sysdeps/posix/Subdirs assert/Depend catgets/Depend debug/Depend iconvdata/Depend intl/Depend libio/Depend localedata/Depend malloc/Depend mathvec/Depend posix/Depend rt/Depend stdio-common/Depend stdlib/Depend string/Depend time/Depend wcsmbs/Depend > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/sysd-sorted-tmp
mv -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/sysd-sorted-tmp /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/sysd-sorted
{ echo '#include "posix/bits/posix1_lim.h"';            \
} |                                                             \
mips64el-unknown-linux-muslabi64-gcc -mabi=64 -E -dM -MD -MP -MF /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.dT -MT '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.h /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.d'        \
       -Iinclude   -I/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build  -Isysdeps/unix/sysv/linux/mips/mips64/n64  -Isysdeps/unix/sysv/linux/mips/mips64  -Isysdeps/unix/sysv/linux/mips  -Isysdeps/mips/nptl  -Isysdeps/unix/sysv/linux/include -Isysdeps/unix/sysv/linux  -Isysdeps/nptl  -Isysdeps/pthread  -Isysdeps/gnu  -Isysdeps/unix/inet  -Isysdeps/unix/sysv  -Isysdeps/unix/mips/mips64  -Isysdeps/unix/mips  -Isysdeps/unix  -Isysdeps/posix  -Isysdeps/mips/mips64/n64/fpu  -Isysdeps/mips/mips64/n64  -Isysdeps/mips/ieee754  -Isysdeps/ieee754/ldbl-128  -Isysdeps/mips/mips64  -Isysdeps/ieee754/flt-32  -Isysdeps/ieee754/dbl-64  -Isysdeps/mips/include -Isysdeps/mips  -Isysdeps/wordsize-64  -Isysdeps/mips/fpu  -Isysdeps/ieee754  -Isysdeps/generic   -Ilibio -I. -nostdinc -isystem /nix/store/qcrh0cm8g7nc2nklh48sdkl52f9hsqv8-mips64el-unknown-linux-muslabi64-stage-static-gcc-debug-10.3.0/lib/gcc/mips64el-unknown-linux-muslabi64/10.3.0/include -isystem /nix/store/qcrh0cm8g7nc2nklh48sdkl52f9hsqv8-mips64el-unknown-linux-muslabi64-stage-static-gcc-debug-10.3.0/lib/gcc/mips64el-unknown-linux-muslabi64/10.3.0/include-fixed -isystem /nix/store/a7mw54cr50kl6c5f8pdhjdvfmbnj4aya-linux-headers-static-5.16/include -xc - -o /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.hT
sed -e 's@ /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2\.33-108\.drv-0/build/@ $(common-objpfx)@g' -e 's@^/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2\.33-108\.drv-0/build/@$(common-objpfx)@g' -e 's@  *\([^      \/$][^  \]*\)@ $(..)\1@g' -e 's@^\([^   \/$][^  \]*\)@$(..)\1@g'                        \
    /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.dT > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.dt
mv -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.dt /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.d
fopen_max=`sed -n 's/^#define OPEN_MAX //1p' /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.hT`;      \
filename_max=`sed -n 's/^#define PATH_MAX //1p' /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.hT`;   \
fopen_max=${fopen_max:-16};                                     \
filename_max=${filename_max:-1024};                             \
sed -e "s/@FOPEN_MAX@/$fopen_max/"                              \
    -e "s/@FILENAME_MAX@/$filename_max/"                        \
    -e "s/@L_tmpnam@/20/"                               \
    -e "s/@TMP_MAX@/238328/"                            \
    -e "s/@L_ctermid@/9/"                               \
    -e "s/@L_cuserid@/9/"                               \
    stdio-common/stdio_lim.h.in > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.h.new
/nix/store/4nmqxajzaf60yjribkgvj5j54x9yvr1r-bash-5.1-p12/bin/bash scripts/move-if-change /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.h.new /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.h
rm -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.hT /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.dT /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.dt
touch /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/bits/stdio_lim.st

type "make help" for help with common glibc makefile targets

rm -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/stamp.o; > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/stamp.o
make  subdir=csu -C csu ..=../ subdir_lib
make[2]: Entering directory '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33/csu'
/nix/store/4nmqxajzaf60yjribkgvj5j54x9yvr1r-bash-5.1-p12/bin/bash ../scripts/gen-libc-abis \
         mips-unknown-linux-muslabi64 \
         < ../sysdeps/unix/sysv/linux/mips/libc-abis > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-abis.hT
.././scripts/mkinstalldirs /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu
.././scripts/mkinstalldirs /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu
mkdir -p -- /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu
mkdir -p -- /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu
/nix/store/4nmqxajzaf60yjribkgvj5j54x9yvr1r-bash-5.1-p12/bin/bash ../scripts/move-if-change /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-abis.hT /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-abis.h
rm -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu/abi-tag.h.new
sed -e 's/#.*$//' -e '/^[       ]*$/d' ../abi-tags | \
while read conf tagos tagver; do \
  test `expr 'mips64el-unknown-linux-muslabi64' \
             : "$conf"` != 0 || continue; \
  ( echo "$tagos" | \
    sed -e 's/[^0-9xXa-fA-F     ]//' \
        -e 's/^/#define __ABI_TAG_OS /'; \
    echo "#ifndef __ABI_TAG_VERSION"; \
    echo "$tagver" | \
    sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$//' \
      -e 's/ /,/g' -e 's/^/# define __ABI_TAG_VERSION /'; \
    echo "#endif" ) > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu/abi-tag.h.new; \
done
touch /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-abis.stamp
python3 -B ../scripts/gen-as-const.py --cc="mips64el-unknown-linux-muslabi64-gcc -mabi=64 -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno     -ftls-model=initial-exec      -I../include -I/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu  -I/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build  -I../sysdeps/unix/sysv/linux/mips/mips64/n64  -I../sysdeps/unix/sysv/linux/mips/mips64  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips64  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips64/n64/fpu  -I../sysdeps/mips/mips64/n64  -I../sysdeps/mips/ieee754  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/mips/mips64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/wordsize-64  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /nix/store/qcrh0cm8g7nc2nklh48sdkl52f9hsqv8-mips64el-unknown-linux-muslabi64-stage-static-gcc-debug-10.3.0/lib/gcc/mips64el-unknown-linux-muslabi64/10.3.0/include -isystem /nix/store/qcrh0cm8g7nc2nklh48sdkl52f9hsqv8-mips64el-unknown-linux-muslabi64-stage-static-gcc-debug-10.3.0/lib/gcc/mips64el-unknown-linux-muslabi64/10.3.0/include-fixed -isystem /nix/store/a7mw54cr50kl6c5f8pdhjdvfmbnj4aya-linux-headers-static-5.16/include -D_LIBC_REENTRANT -include /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS \
                   -MD -MP -MF /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h.dT \
                   -MT '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h.d /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h'" \
          ../sysdeps/mips/nptl/tcb-offsets.sym > /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.hT
if test -r /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu/abi-tag.h.new; then mv -f /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu/abi-tag.h.new /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu/abi-tag.h; \
else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi
cc1: fatal error: /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-modules.h: No such file or directory
compilation terminated.
Traceback (most recent call last):
  File "/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33/csu/../scripts/gen-as-const.py", line 120, in <module>
    main()
  File "/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33/csu/../scripts/gen-as-const.py", line 116, in main
    consts = glibcextract.compute_c_consts(sym_data, args.cc)
  File "/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33/scripts/glibcextract.py", line 62, in compute_c_consts
    subprocess.check_call(cmd, shell=True)
  File "/nix/store/mhlwvclx2gf67529wyk8zrwhngxv62wd-python3-minimal-3.9.10/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'mips64el-unknown-linux-muslabi64-gcc -mabi=64 -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno     -ftls-model=initial-exec      -I../include -I/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/csu  -I/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build  -I../sysdeps/unix/sysv/linux/mips/mips64/n64  -I../sysdeps/unix/sysv/linux/mips/mips64  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips64  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips64/n64/fpu  -I../sysdeps/mips/mips64/n64  -I../sysdeps/mips/ieee754  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/mips/mips64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/wordsize-64  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /nix/store/qcrh0cm8g7nc2nklh48sdkl52f9hsqv8-mips64el-unknown-linux-muslabi64-stage-static-gcc-debug-10.3.0/lib/gcc/mips64el-unknown-linux-muslabi64/10.3.0/include -isystem /nix/store/qcrh0cm8g7nc2nklh48sdkl52f9hsqv8-mips64el-unknown-linux-muslabi64-stage-static-gcc-debug-10.3.0/lib/gcc/mips64el-unknown-linux-muslabi64/10.3.0/include-fixed -isystem /nix/store/a7mw54cr50kl6c5f8pdhjdvfmbnj4aya-linux-headers-static-5.16/include -D_LIBC_REENTRANT -include /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS               -MD -MP -MF /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h.dT                  -MT '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h.d /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h' -S -o /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/tmp13jhy3tf/test.s -x c - < /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/tmp13jhy3tf/test.c' returned non-zero exit status 1.
make[2]: *** [../Makerules:271: /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/tcb-offsets.h] Error 1
make[2]: Leaving directory '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33/csu'
make[1]: *** [Makefile:479: csu/subdir_lib] Error 2
make[1]: Leaving directory '/tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/glibc-2.33'
make: *** [Makefile:9: all] Error 2

@ghost
Copy link
Copy Markdown
Author

ghost commented Mar 18, 2022

The gcc error is:

cc1: fatal error: /tmp/nix-build-glibc-static-mips64el-unknown-linux-muslabi64-2.33-108.drv-0/build/libc-modules.h: No such file or directory

... but that seems to be just a side effect of the unrecognized host tuple.

@ghost
Copy link
Copy Markdown
Author

ghost commented Mar 18, 2022

Attempting to add autoreconfHook yields:

aclocal.m4:6: error: Exactly version 2.69 of Autoconf is required but you have 2.71

From aclocal.m4:

dnl We require that everyone use exactly the same Autoconf version so that
dnl the internal functions defined and used by the main configure script
dnl match those expected by the fragments.  When changing this version,
dnl install.texi also needs to be updated.
m4_define([GLIBC_AUTOCONF_VERSION], [2.69])
m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
      [m4_fatal(m4_flatten(
Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
m4_defn([AC_AUTOCONF_VERSION])
), [63])])dnl

@ofborg ofborg bot added the 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. label Mar 18, 2022
@ofborg ofborg bot requested review from Ma27 and removed request for zowoq March 18, 2022 05:38
@ofborg ofborg bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Mar 18, 2022
@ghost
Copy link
Copy Markdown
Author

ghost commented Mar 18, 2022

I'm a bit confused as to why ofborg says this needs 5001+ rebuilds. The added extraConfigFlags is clearly guarded by a condition that is false for all of ofborg's evaluations.

@ghost ghost changed the base branch from staging to master March 18, 2022 06:22
Glibc's configuration machinery cannot parse *-muslabi64, and fails
with a very cryptic error message.  This commit adds a
--host=mips64el-linux-musl to extraConfigureFlags (so it comes after
the --host= added by stdenv) in this case.
@ghost
Copy link
Copy Markdown
Author

ghost commented Mar 18, 2022

I'm a bit confused as to why ofborg says this needs 5001+ rebuilds. The added extraConfigFlags is clearly guarded by a condition that is false for all of ofborg's evaluations.

Nevermind, I figured it out, have to set extraConfigFlags to null instead of [].

This should no longer cause any rebuilds whatsoever. In light of that, I have changed the base branch to master, since this won't have any effect on any of the builds that Hydra currently performs.

@Ericson2314
Copy link
Copy Markdown
Member

Also, I am confused why we are building glibc when we are trying to use musl!

@Ericson2314
Copy link
Copy Markdown
Member

Will take a look.

@ghost
Copy link
Copy Markdown
Author

ghost commented Apr 4, 2022

Also, I am confused why we are building glibc when we are trying to use musl!

It was somewhere within

nix-build . -A pkgs.pkgsCross.mips64el-linux-gnuabi64.pkgsStatic.nix_2_4

... I'm rebuilding with this patch reverted to find the exact reason. Yeah, I recall being surprised by that too.

Note that you need to be cross-compiling a static binary. Although this sounds esoteric it is incredibly useful for producing the initial nix binary to be used on a brand-new platform. Otherwise you end up with a dynamically-linked nix that expects to find its shared libraries in /nix/store, but if you put them there manually you're doing some pretty shady stuff to what will become the target machine's store. I've done this, and it seems to sorta work, but probably isn't such a great idea.

I also think it would be nice if Hydra built static nix binaries for all the platforms it produces bootstrap-files for. I'll submit a PR for that soon.

@Ericson2314
Copy link
Copy Markdown
Member

Ericson2314 commented Apr 4, 2022

On the tip of master the only thing that didn't build for me was boost

 $ nix-build . -A pkgs.pkgsCross.mips64el-linux-gnuabi64.pkgsStatic.nix_2_4 --dry-run
these derivations will be built:
  /nix/store/gjayd0z6742dp30ynpcqs757kkdin7a7-boost-static-mips64el-unknown-linux-muslabi64-1.77.0.drv
  /nix/store/d7c5p1xin7x6b98pn78i0hgzakzqrd9l-nix-static-mips64el-unknown-linux-muslabi64-2.4.drv

I think that means we can close this.

@ghost ghost mentioned this pull request Apr 5, 2022
14 tasks
@ghost
Copy link
Copy Markdown
Author

ghost commented Apr 5, 2022

I think that means we can close this.

Yes.

Tracking down exactly what was going on here was harder than I thought, so let me document it.

For the record: this problem was introduced in the early revisions of my PR #161158. @Ericson2314 pointed out here that I was missing cases in the "convert this platform to a statically-linked platform" function. That function had no name at the time, and was copy-pasted into multiple different places; it has since been refactored as makeStaticParsedPlatform and includes the missing cases.

pkgsStatic.nix depends on pkgsStatic.busybox. Without the missing cases mentioned above, pkgsStatic.busybox will depend on glibc-static rather than musl-libc. The end result is a mishmash of some packages linking against musl and some linking against glibc-static. Mayhem ensues.

Anyways, if this happens again, we know why.

@ghost
Copy link
Copy Markdown
Author

ghost commented Apr 6, 2022

the only thing that didn't build for me was boost

@Ericson2314 by the way, that is fixed by #161162, which has had no objections since it was opened almost two months ago (just two minor formatting requests, both implemented)...

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant