Summary: | sys-kernel/genkernel with glibc-2.34 fails to create initramfs: create_initramfs(): append_data(): append_busybox(): copy_system_binaries(): System binary '/usr/lib64/libnss_dns.so' could not be found! | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | Matthew Smith <matthew> |
Component: | genkernel | Assignee: | Gentoo Genkernel Maintainers <genkernel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | chaneybenjamini, rion4ik, tanekliang |
Priority: | Normal | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=876873 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 803482 | ||
Attachments: |
/etc/genkernel.conf
emerge --info sys-kernel/genkernel /var/log/genkernel.log Same Fail with genkernel Version 4.2.5 after update to genkernel 4.2.6 i get a fail at btrfs-progs build most probably due to libudev not found |
Created attachment 751053 [details]
/etc/genkernel.conf
Created attachment 751056 [details]
emerge --info sys-kernel/genkernel
Created attachment 751059 [details]
/var/log/genkernel.log
I have tried clearing out /var/cache/genkernel, which did not help. For what it's worth, /usr/lib64/libnss_dns.so seems to have recently disappeared from my system (it's still in my mlocate database). Maybe removed after a recent glibc upgrade? I'm not sure why genkernel is trying to copy this library, I ran the following command and nothing seems to link to it: find /bin /lib64 /usr/bin /usr/lib64 -type f -exec ldd \{\} \; 2>/dev/null | awk '/nss/ { print $1 }' | sort -u' same problem for me. I have that issue as well. I suspect the recent glibc-2.34-r1 update. equery b /usr/lib64/libnss_dns.so says the file belongs to glibc, even it's not there. manually symlinking /lib64/libnss_dns.so.2 to /usr/lib64/libnss_dns.so seems to fix it for me. replacing ${libdir} with /lib64 for the corresponding line in genkernel sources also seems to work. At least booted w/o problem. sorry. file name changed too of course Looks like this is hard-coded in genkernel. https://gitweb.gentoo.org/proj/genkernel.git/tree/gen_initramfs.sh?h=v4.2.5#n566 The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ab723c54aa0fef50384dbbb936614c7430f5413b commit ab723c54aa0fef50384dbbb936614c7430f5413b Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2021-11-14 23:57:12 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2021-11-15 01:23:26 +0000 gen_initramfs.sh: append_busybox: NSS dns module was merged into libc in >=glibc-2.34 Bug: https://bugs.gentoo.org/823716 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> gen_initramfs.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6473e0a96a03598a9e22904d1fe011913efaac5a commit 6473e0a96a03598a9e22904d1fe011913efaac5a Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2021-11-14 23:46:30 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2021-11-14 23:46:30 +0000 gen_compile.sh: populate_binpkg(): Use libc.a for testing if glibc has changed NSS files module was merged into libc in >=glibc-2.34 so it can't be used to test for changed glibc version anymore. Using libc.a seems to be the better alternative which we use already in get_chost_libdir() and depend on in general. In addition, a check was added to ensure that our glibc test file really exists (older-than check would pass if our test file would be missing which is not what we want). Fixes: 61049d29 ("gen_compile.sh: populate_binpkg(): Throw away binpkg when glibc has changed") Bug: https://bugs.gentoo.org/823716 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> gen_compile.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) in git, genkernel-4.2.6 release is pending. The fix work for me. Had the same error with genkernel-4.2.5 Summary: sys-kernel/genkernel-4.2.5 fails to create initramfs: create_initramfs(): append_data(): append_busybox(): copy_system_binaries(): System binary '/usr/lib64/libnss_dns.so' could not be found! → sys-kernel/genkernel with glibc-2.34 fails to create initramfs: create_initramfs(): append_data(): append_busybox(): copy_system_binaries(): System binary '/usr/lib64/libnss_dns.so' could not be found! Now with genkernel-4.2.6 i have: "ERROR: Command './configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/btrfs-progs-5.15 --htmldir=/usr/share/doc/btrfs-progs-5.15/html --bindir=/sbin --disable-shared --disable-convert --disable-python --disable-documentation --enable-backtrace' failed! * ERROR: create_initramfs(): append_data(): append_btrfs(): populate_binpkg(): gkbuild(): Failed to create binpkg of btrfs-progs-5.15!" Created attachment 751362 [details]
Same Fail with genkernel Version 4.2.5
Created attachment 751366 [details]
after update to genkernel 4.2.6 i get a fail at btrfs-progs build most probably due to libudev not found
(In reply to Argh!... Rats!... from comment #15) > Created attachment 751362 [details] > Same Fail with genkernel Version 4.2.5 I cannot confirm that. Downgrading to 4.2.5 and replacing the path to libnss_dns.so.2 lets my kernel build with BTRFS modules succeed. Released with genkernel-4.2.6. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d7061a540ee6868e6e4b70868f838ddf5e6e07a commit 5d7061a540ee6868e6e4b70868f838ddf5e6e07a Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2021-11-16 17:36:19 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2021-11-16 17:38:04 +0000 sys-kernel/genkernel: fix building of btrfs-progs Bug: https://bugs.gentoo.org/823716 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> .../genkernel-4.2.6-fix-btrfs-progs-deps.patch | 24 ++++++++++++++++++++++ ...rnel-4.2.6.ebuild => genkernel-4.2.6-r1.ebuild} | 2 ++ 2 files changed, 26 insertions(+) Works! Genkernel 4.2.6 throws no errors anymore. thx alot! |
After running `genkernel all`: > ERROR: create_initramfs(): append_data(): append_busybox(): copy_system_binaries(): System binary '/usr/lib64/libnss_dns.so' could not be found!