Re: git is broken because curl is broken which stops me in my tracks
- In reply to: Mark Millard : "RE: git is broken because curl is broken which stops me in my tracks"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Sep 2025 10:13:47 UTC
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