Re: old shared lib is missing on installworld (by poudriere)
Date: Thu, 23 Oct 2025 06:19:36 UTC
On Tue, Oct 21, 2025 at 11:56 PM Matthias Apitz <guru@unixarea.de> wrote:
>
> Hello,
>
> I did on a 15-CURRENT system compiled and installed in March,
> now with sources from git:
>
> make buildworld
> make buildkernel
> make installkernel
>
> and installed it in single user mode with
>
> reboot to single user
> make installworld
> reboot to multiuser
>
> The new system boots fine (if I not count outdated entries in
> /etc/sysctl.conf causing panic with messages about ACPI).
>
> But now, creating jails after also updated /usr/ports fails with:
>
>
> # uname -a
> FreeBSD jet 16.0-CURRENT FreeBSD 16.0-CURRENT #0
> main-n281256-7d6221ff1447: Sun Oct 19 12:57:22 CEST 2025 guru@jet:/usr/obj/usr/src/amd64.amd64/sys/GENERIC
> amd64
>
> # poudriere jail -c -j 160-CURRENT -m src=/usr/src
> [00:00:00] Creating 160-CURRENT fs at
> /usr/local/poudriere/jails/160-CURRENT... done
> [00:00:01] Copying /usr/src to
> /usr/local/poudriere/jails/160-CURRENT/usr/src... done
> [00:02:57] Starting make installworld
> --- installworld ---
> make[1]: /usr/obj/usr/src/amd64.amd64/toolchain-metadata.mk:1: Using
> cached toolchain metadata from build at jet on Sun Oct 19 10:12:02 CEST 2025
> --- _installcheck_world ---
> --------------------------------------------------------------
> >>> Install check world started on Wed Oct 22 07:28:02 CEST 2025
> --------------------------------------------------------------
> --- installworld ---
> mkdir -p /tmp/install.DDxtHqxvPf
> progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp date
> echo egrep find grep id install ln make mkdir mtree mv pwd_mkdb rm sed
> services_mkdb sh sort strip sysctl test time true uname wc tzsetup
> makewhatis ; do if progpath=`env
> PATH=/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/libexec:/sbin:/bin:/usr/sbin:/usr/bin
> which $prog`; then echo $progpath; else echo "Required tool $prog not
> found in PATH
> ("/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/libexec:/sbin:/bin:/usr/sbin:/usr/bin")."
> >&2; exit 1; fi; done); if [ -z "" ] ; then libs=$(ldd -f "%o %p\n" -f
> "%o %p\n" $progs 2>/dev/null | sort -u | grep -Ev '\[.*]' | while read
> line; do $line; if [ "$2 $3" != "not found" ]; then echo $2; else echo
> "Required library $1 not found." >&2; exit 1; fi; done); fi; cp $libs
> $progs /tmp/install.DDxtHqxvPf
> Required library libutil.so.9 not found.
> *** [installworld] Error code 1
>
> make[1]: stopped making "installworld" in /usr/src
> make[1]: 1 error
>
> make[1]: stopped making "installworld" in /usr/src
>
> make: stopped making "installworld" in /usr/src
> [00:02:57] Error:
> /usr/local/share/poudriere/jail.sh:installworld:12:Failed to 'make
> installworld'
> [00:02:57] Error while creating jail, cleaning up.
> [00:02:57] Removing 160-CURRENT jail... done
>
> I investigated the problem and two commands in
> /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin are missing libutil.so.9:
>
I believe the correct solution is to install misc/compat14x which includes
several libraries that have been upgraded in 15.0 including libutil.so.9.
>
> --
> Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/
> +49-176-38902045
> Public GnuPG key: http://www.unixarea.de/key.pub
>
> --
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683