Re: libutil.so.9 not found (was: HEADS-UP: pkgbase pkg upgrade breaks systems Re: after updating to latest, pkg base segfaults and leaves me unbootable)
Date: Wed, 13 Aug 2025 10:31:43 UTC
On Aug 13, 2025, at 03:13, Mark Millard <marklmi@yahoo.com> wrote: > Graham Perrin <grahamperrin_at_gmail.com> wrote on > Date: Wed, 13 Aug 2025 06:34:46 UTC : > >> On 11/08/2025 01:17, Dan Mahoney (Ports) wrote: >>> … pkg is still being persnickety, and I don't know what the mechanism is to bootstrap it is: >>> >>> # ldd /usr/local/sbin/pkg >>> /usr/local/sbin/pkg: >>> libelf.so.2 => /lib/libelf.so.2 (0x2a08ac8d1000) >>> libjail.so.1 => /lib/libjail.so.1 (0x2a08ad283000) >>> libm.so.5 => /lib/libm.so.5 (0x2a08adcbd000) >>> libarchive.so.7 => /usr/lib/libarchive.so.7 (0x2a08ae37a000) >>> libz.so.6 => /lib/libz.so.6 (0x2a08abe01000) >>> libutil.so.9 => not found (0) >>> … >> >> >> I guess, that explains pkg non-usable in the shell when booting >> FreeBSD-15.0-CURRENT-amd64-20250807-02f394281fd6-279407-disc1.iso >> >>> ld-elf.so.1: Shared object "libutil.so.9" not found, required by "pkg" > > Yes, the port-packages builder's poudriere jail world was older than > the change to libutil.so.10 and, so, still had libutil.so.9 . That > was mixed with a newer FreeBSD that instead had libutil.so.10 . > > There are later changes from libcrypto.so.30 to libcrypto.so.35 and > libssl.so.30 to libssl.so.35 that have the same time relationship > issue for some more recent port package builder poudriere runs as > I understand. > > Such coordination issues are one of the consequences of pkg not being > built and distributed as part of the FreeBSD world but as a > ports-package. (I ignore here, other constraints that lead it to > be a ports-package instead.) > > At some point the port-package builder jail worlds for main-* (amd64, > aarch64, armv7, and possibly i386 for a time) need to be updated to > have a FreeBSD world version that is based on having all 3 of: > > libutil.so.10 > libcrypto.so.35 > libssl.so.35 > > May be at some point the infrastructure could detect such mismatches > for the likes of FreeBSD-*.0-CURRENT-*.iso being assembled using a > too-old pkg that would otherwise be included --and prevent forming > a distribution with a pkg that was not operable because it is too > old. The above paragraph of my note was not coherent since pkg is installed later via the bootstrap process. It would be more like: the bootstrap validates library version compatibilities and reports any library version "not found" status and then indicates to try bootstrapping again later to hopefully get a newer build of pkg that might be library compatible with the FreeBSD vintage in question. That likely gets into a more overall error handling sequence as well. > Another issue is how long main-* port-package builder runs take as > stands, especially for aarch64 and armv7 that share the same builder > machine (ampere2). > === Mark Millard marklmi at yahoo.com