On Wed, Jun 25, 2025 at 11:54 PM Olivier Cochard-Labbé <oliv...@freebsd.org> wrote:
> Hi Alan, > > > On Sun, Jun 15, 2025 at 6:02 PM Alan Somers <asom...@freebsd.org> wrote: > >> The branch main has been updated by asomers: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=5c1ba994a8bcb6676ea3d1bb21b072b90e2d3ae9 >> >> commit 5c1ba994a8bcb6676ea3d1bb21b072b90e2d3ae9 >> Author: Alan Somers <asom...@freebsd.org> >> AuthorDate: 2024-05-07 17:48:33 +0000 >> Commit: Alan Somers <asom...@freebsd.org> >> CommitDate: 2025-06-15 16:01:37 +0000 >> >> Add a regression test for a libtpool bug >> >> >> > It seems this commit is the cause of preventing all my (freshly installed) > ZFS systems from booting than stop with: > > Mounting local filesystems:. > ld-elf.so.1: Shared object "libtpool.so.2" not found, required by "zfs" > > Because liptpool.so.2 isn’t no more in /lib (belong to the / dataset), but > in another dataset (/usr/lib) but it needs to use zfs to mount this one. > > Could the added include<src.opts.mk> in its Makefile modified the > installed directory of libtpool.so.2 ? > > Here is the bisect script used: > > #!/bin/sh > set -eu > WRKDIR=/tmp/bisec > mkdir -p $WRKDIR/lib $WRKDIR/usr/lib $WRKDIR/usr/include > make -C cddl/lib/libtpool > make -C cddl/lib/libtpool install DESTDIR=$WRKDIR > if [ -f $WRKDIR/lib/libtpool.so.2 ]; then > rm -rf $WRKDIR > exit 0 > else > rm -rf $WRKDIR > exit 1 > fi > > And my bisect session pointed me to this commit. > git bisect start HEAD 9ce5410b9094 -- > git bisect run /tmp/bisec.libtpool.sh > git bisect reset > > Regards, > Olivier > Wow! That change was definitely not intended. And I"m very sorry for the breakage. Could you please try this patch? diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index cab8949b635b..aa8883cf9b7c 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20250626: For 11 days 15.0-CURRENT installed libtpool to the wrong location +MOVED_LIBS+=usr/lib/libtpool.so.2 + # 20250623: fscandir() renamed to fdscandir() OLD_FILES+=usr/share/man/man3/fscandir.3.gz OLD_FILES+=usr/share/man/man3/fscandir_b.3.gz diff --git a/cddl/lib/libtpool/Makefile b/cddl/lib/libtpool/Makefile index 3ab625dd306b..e14eea509708 100644 --- a/cddl/lib/libtpool/Makefile +++ b/cddl/lib/libtpool/Makefile @@ -3,6 +3,7 @@ LIB= tpool +SHLIBDIR?= /lib LIBADD= spl PACKAGE= libzfs