Subject: failure when linking glibc-mesboot-2.16.0

From: Brian Cully <[email-masked]>
Date: Sun, 22 May 2022 18:41:57 -0400

Got here trying to compile perl with:

--8<---------------cut here---------------start------------->8---
% guix shell -D perl --no-substitutes --pure
--8<---------------cut here---------------end--------------->8---

and failed here:

--8<---------------cut here---------------start------------->8---
building 
/gnu/store/06gk3wm09xb40n4k8whkjrgg25wzvnqy-glibc-mesboot-2.16.0.drv...
/ 'build' phasebuilder for 
`/gnu/store/06gk3wm09xb40n4k8whkjrgg25wzvnqy-glibc-mesboot-2.16.0.drv' 
failed with exit code 1
build of 
/gnu/store/06gk3wm09xb40n4k8whkjrgg25wzvnqy-glibc-mesboot-2.16.0.drv 
failed
View build log at 
'/var/log/guix/drvs/06/gk3wm09xb40n4k8whkjrgg25wzvnqy-glibc-mesboot-2.16.0.drv.gz'.
--8<---------------cut here---------------end--------------->8---

Here’s where it fails in the log:

--8<---------------cut here---------------start------------->8---
/gnu/store/vzv582cja3qghqwbx80flvpnmvs0zvb8-gcc-mesboot1-4.6.4/bin/gcc 
-I 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/nptl/sysdeps/pthread/bits 
-D BOOTSTRAP_GLIBC=1 -L 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0 -L 
/gnu/store/9z1axi21hd4hwwm4zd9dy52ii6xyk2mg-glibc-mesboot0-2.2.5/lib 
-shared -static-libgcc -Wl,-O1  -Wl,-z,defs 
-Wl,-dynamic-linker=/gnu/store/x7cmgrizn7qbbi95mybcjbq98bbrr1nj-glibc-mesboot-2.16.0/lib/ld-linux.so.2 
-B/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/csu/ 
-Wl,--version-script=/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc.map 
-Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro 
-Wl,--hash-style=both -nostdlib -nostartfiles -e __libc_main 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/math 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/elf 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/dlfcn 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/nss 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/nis 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/rt 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/resolv 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/crypt 
-L/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/nptl 
-Wl,-rpath-link=/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/math:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/elf:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/dlfcn:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/nss:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/nis:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/rt:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/resolv:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/crypt:/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/nptl 
-o 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc.so 
-T 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/shlib.lds 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/csu/abi-note.o 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/elf/soinit.os 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc_pic.os 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/elf/sofini.os 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/elf/interp.os 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/elf/ld.so 
-lgcc
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc_pic.os: 
In function `compat_call':
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/grp/compat-initgroups.c:24: 
undefined reference to `__GI___nss_lookup_function'
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/grp/compat-initgroups.c:28: 
undefined reference to `__GI___nss_lookup_function'
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/grp/compat-initgroups.c:36: 
undefined reference to `__GI___nss_lookup_function'
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc_pic.os: 
In function `internal_getgrouplist':
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/grp/initgroups.c:62: 
undefined reference to `__nss_database_custom'
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/grp/initgroups.c:100: 
undefined reference to `__nss_group_database'
/gnu/store/a51i0sf800fgs0pfwj7jg6qqjbgsv1r4-binutils-mesboot-2.20.1a/bin/ld: 
/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc_pic.os: 
relocation R_386_GOTOFF against undefined hidden symbol 
`__nss_group_database' can not be used when making a shared object
/gnu/store/a51i0sf800fgs0pfwj7jg6qqjbgsv1r4-binutils-mesboot-2.20.1a/bin/ld: 
final link failed: Bad value
collect2: ld returned 1 exit status
make[2]: *** 
[/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/build/libc.so] 
Error 1
make[2]: Leaving directory 
`/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory 
`/tmp/guix-build-glibc-mesboot-2.16.0.drv-0/glibc-2.16.0'
make: *** [all] Error 2
error: in phase 'build': uncaught exception:
srfi-34 #<condition &invoke-error [program: "make" arguments: 
("SHELL=/gnu/store/6hw9r4f7rksasfsi15rfd9hjdynlmib3-bash-mesboot-4.4/bin/sh") 
exit-status: 2 term-signal: #f stop-signal: #f] 14abf40> 
phase `build' failed after 201.6 seconds
command "make" 
"SHELL=/gnu/store/6hw9r4f7rksasfsi15rfd9hjdynlmib3-bash-mesboot-4.4/bin/sh" 
failed with status 2
--8<---------------cut here---------------end--------------->8---

-bjc