On 9/14/25 23:15, Mark Millard wrote:
[Note: do not have access to a riscv64 context,
limiting my ability to detect expected
differences.]
Dennis Clarke <dclarke_at_blastwave.org> wrote on
Date: Mon, 15 Sep 2025 01:00:06 UTC :
Well I am not sure how to get around this mess :
uname -apKU output for the failing context? For
the poudriere jail's world?
Both the system itself and the poudriere jail are based on the same
sources.
enceladus# uname -apKU
FreeBSD enceladus 15.0-PRERELEASE FreeBSD 15.0-PRERELEASE
main-n279980-004ce88ad1ef GENERIC riscv riscv64 1500063 1500063
enceladus#
enceladus# poudriere jails -l
JAILNAME VERSION ARCH METHOD TIMESTAMP
PATH
150rv64 15.0-PRERELEASE 1500063 riscv.riscv64 src=/usr/src 2025-09-02
17:06:01 /poudriere/jails/150rv64
enceladus#
On main 16 for amd64, for example:
/usr/lib/libkrb5.so.122
Does that file exist in your failing context?
Well this is funny. The file exists in the poudriere jail and NOT on
the system itself :
enceladus# ls -l /usr/lib/libkrb5.so.122
ls: /usr/lib/libkrb5.so.122: No such file or directory
enceladus#
enceladus# ls -l /poudriere/jails/150rv64/usr/lib/libkrb5.so.122
-r--r--r-- 1 root wheel 723424 Sep 4 07:51
/poudriere/jails/150rv64/usr/lib/libkrb5.so.122
enceladus#
So, presuming use of the system libraries for such,
not a ports-build of such a library, the missing
or unloadble library is a system library. Are
you in fact trying to use the system library?
I am ( in fact ) using packages built with poudriere on this machine
with that jail.
Are you sure that you have your system and your
poudriere jail's world configurations matching,
such as for WITH_MITKRB5 vs. WITHOUT_MITKRB5 ?
I am not aware of any such tweaks and where would they hide?
enceladus# cd /usr/src
enceladus# git pull origin main
ld-elf.so.1: Shared object "libkrb5.so.122" not found, required by
"libcurl.so.4"
fatal: remote helper 'https' aborted session
I'll note that "ldd -a PATH" gives a lot more
information about the dependency structure
that causes libraries to be listed. Sometimes
that is handy.
yep .. the package built last night for git and curl is broken
as far as the system is concerned :
enceladus#
enceladus# ls -l /usr/local/bin/curl
-rwxr-xr-x 1 root wheel 245688 Sep 14 22:07 /usr/local/bin/curl
enceladus# ldd -a /usr/local/bin/curl
/usr/local/bin/curl:
libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x6afcc6000)
libnghttp2.so.14 => /usr/local/lib/libnghttp2.so.14 (0x6b0a8a000)
libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x6b18d6000)
libssh2.so.1 => /usr/local/lib/libssh2.so.1 (0x6af328000)
libpsl.so.5 => /usr/local/lib/libpsl.so.5 (0x6b3107000)
libssl.so.35 => /usr/lib/libssl.so.35 (0x6b2867000)
libcrypto.so.35 => /lib/libcrypto.so.35 (0x6b3a20000)
libzstd.so.1 => /usr/local/lib/libzstd.so.1 (0x6b4a01000)
libbrotlidec.so.1 => /usr/local/lib/libbrotlidec.so.1 (0x6b6152000)
libbrotlicommon.so.1 => /usr/local/lib/libbrotlicommon.so.1
(0x6b52f8000)
libz.so.6 => /lib/libz.so.6 (0x6b7235000)
libkrb5.so.122 => not found (0)
libgssapi_krb5.so.122 => not found (0)
libthr.so.3 => /lib/libthr.so.3 (0x6b66f7000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libcurl.so.4:
libnghttp2.so.14 => /usr/local/lib/libnghttp2.so.14 (0x6b0a8a000)
libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x6b18d6000)
libssh2.so.1 => /usr/local/lib/libssh2.so.1 (0x6af328000)
libpsl.so.5 => /usr/local/lib/libpsl.so.5 (0x6b3107000)
libssl.so.35 => /usr/lib/libssl.so.35 (0x6b2867000)
libcrypto.so.35 => /lib/libcrypto.so.35 (0x6b3a20000)
libzstd.so.1 => /usr/local/lib/libzstd.so.1 (0x6b4a01000)
libbrotlidec.so.1 => /usr/local/lib/libbrotlidec.so.1 (0x6b6152000)
libbrotlicommon.so.1 => /usr/local/lib/libbrotlicommon.so.1
(0x6b52f8000)
libz.so.6 => /lib/libz.so.6 (0x6b7235000)
libkrb5.so.122 => not found (0)
libgssapi_krb5.so.122 => not found (0)
libthr.so.3 => /lib/libthr.so.3 (0x6b66f7000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libnghttp2.so.14:
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libidn2.so.0:
libunistring.so.5 => /usr/local/lib/libunistring.so.5 (0x6b9849000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libssh2.so.1:
libcrypto.so.35 => /lib/libcrypto.so.35 (0x6b3a20000)
libz.so.6 => /lib/libz.so.6 (0x6b7235000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libpsl.so.5:
libidn2.so.0 => /usr/local/lib/libidn2.so.0 (0x6b18d6000)
libunistring.so.5 => /usr/local/lib/libunistring.so.5 (0x6b9849000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/lib/libssl.so.35:
libcrypto.so.35 => /lib/libcrypto.so.35 (0x6b3a20000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/lib/libcrypto.so.35:
libthr.so.3 => /lib/libthr.so.3 (0x6b66f7000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libzstd.so.1:
libthr.so.3 => /lib/libthr.so.3 (0x6b66f7000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libbrotlidec.so.1:
libm.so.5 => /lib/libm.so.5 (0x6ba323000)
libbrotlicommon.so.1 => /usr/local/lib/libbrotlicommon.so.1
(0x6b52f8000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/usr/local/lib/libbrotlicommon.so.1:
libm.so.5 => /lib/libm.so.5 (0x6ba323000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/lib/libz.so.6:
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/lib/libthr.so.3:
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
libsys.so.7 => /lib/libsys.so.7 (0x6bb012000)
/lib/libc.so.7:
libsys.so.7 => /lib/libsys.so.7 (0x6bb012000)
/usr/local/lib/libunistring.so.5:
libthr.so.3 => /lib/libthr.so.3 (0x6b66f7000)
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
/lib/libm.so.5:
libc.so.7 => /lib/libc.so.7 (0x6b86c8000)
enceladus#
I am not sure how to dig out of this rathole.
The problem that I ponder over coffee this morning is that I have
a system built from sources. From the stuff in /usr/src which I use
git to fetch. That works.
Then I build a new jail from those same sources. That works.
Then I build packages with poudriere using the jail. That works
with a pile of exceptions because RISC-V is just a lab bench experiment.
Then I run "pkg upgrade -Ffy" followed closely by "pkg upgrade -fy".
At this point I have packages that are self hosted on this board and I
expect things to "just work" within those packages.
That does not work.
This is the problem I ponder over coffee this morning.
--
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken