Date: Mon, 10 Mar 2025 08:49:55 +0100 From: Matthias Apitz <guru@unixarea.de> To: Robert Clausecker <fuz@fuz.su> Cc: freebsd-current@freebsd.org Subject: Re: Creating poudriere jail fails with libmd.so.6 not found Message-ID: <Z86Zo7RL6Z2LgJt0@c720-1400094> In-Reply-To: <Z8WNQR53omjSwDXe@fuz.su> References: <Z8VUoEgcSaQVpGNb@c720-1400094> <Z8WNQR53omjSwDXe@fuz.su>
index | next in thread | previous in thread | raw e-mail
El día lunes, marzo 03, 2025 a las 12:06:41p. m. +0100, Robert Clausecker escribió:
> The simplest solution is to clear the object directory and do a fresh world build.
> libmd.so.6 was turned into libmd.so.7 as part of a recent API change. It should
> also work to link libmd.so.7 to libmd.so.6.
>
> Yours,
> Robert Clausecker
I did so and investigated the problem with an installation into DESTDIR.
Here are my findings:
# make installworld DESTDIR=/home/guru/150.root
make[1]: "/usr/obj/usr/src/amd64.amd64/toolchain-metadata.mk" line 1: Using cached toolchain metadata from build at jet on Mon Mar 3 09:03:29 CET 2025
--------------------------------------------------------------
>>> Install check world started on Mon Mar 10 08:16:20 CET 2025
--------------------------------------------------------------
mkdir -p /tmp/install.H59PpUrQ1d
...
Required library libmd.so.7 not found.
*** Error code 1
Stop.
I investigated the problem (that's why I used DESTDIR to not
damage the system to be installed to).
The problem is that two tools, 'sort' and 'mtree'
require a shared lib libmd.so.7 which is not there in
the moment of make installworld:
/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin/sort
libmd.so.7 => not found (0)
libc.so.7 => /lib/libc.so.7 (0xe6e08064000)
[vdso] (0xe6e06c75000)
/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin/mtree
libmd.so.7 => not found (0)
libutil.so.9 => /lib/libutil.so.9 (0x10621f601000)
libc.so.7 => /lib/libc.so.7 (0x106220ca7000)
[vdso] (0x10621d82c000)
# find /lib /usr/lib -name libmd.so.7
(nothing)
This shared libmd.so.7 lib will perhaps be istalled later by
the 'make installworld', at least it is in the tree /usr/obj/...
# find /usr/obj -name libmd.so.7
/usr/obj/usr/src/amd64.amd64/tmp/usr/lib32/libmd.so.7
/usr/obj/usr/src/amd64.amd64/tmp/lib/libmd.so.7
/usr/obj/usr/src/amd64.amd64/lib/libmd/libmd.so.7
/usr/obj/usr/src/amd64.amd64/obj-lib32/lib/libmd/libmd.so.7
a workaround is before 'make installworld' to run::
# cp -p /usr/obj/usr/src/amd64.amd64/tmp/lib/libmd.so.7 /lib
With this the
# make installworld DESTDIR=/home/guru/150.root
...
>>> Installing everything completed on Mon Mar 10 08:34:13 CET 2025
>>> Install world completed in 398 seconds, ncpu: 2
--------------------------------------------------------------
397,72 real 219,14 user 162,06 sys
runs fine.
matthias
--
Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Z86Zo7RL6Z2LgJt0>
