Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 2024 20:58:34 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Cc:        Warner Losh <imp@bsdimp.com>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Upgrading -RELEASE to -CURRENT
Message-ID:  <849819B4-9EE6-4776-8079-B0E12ED457D0@FreeBSD.org>
In-Reply-To: <ZiackHc7wYgHF0xM@satis>
References:  <ZiL0LHM3i2rZGtvr@satis> <ZiMHdH4qu2ovfd1M@int21h> <CANCZdfr%2BAkReL0hGnZODTdovRD%2BFPhWKtirNX4g3nk1GCLuSFQ@mail.gmail.com> <ZiMi3Zb1jVrPSOQL@satis> <ZiaQKHw57SDqVxqo@satis> <A20B9013-EB8E-4044-A033-CA74E225124C@FreeBSD.org> <Ziabvutgf8bCr4WS@satis> <9C0C7B9F-9780-4B7D-9B46-CD83B516BD2A@FreeBSD.org> <ZiackHc7wYgHF0xM@satis>

next in thread | previous in thread | raw e-mail | index | archive | help
On 22 Apr 2024, at 19:21, Josef 'Jeff' Sipek <jeffpc@josefsipek.net> =
wrote:
>=20
> On Mon, Apr 22, 2024 at 19:19:27 +0200, Dimitry Andric wrote:
>> On 22 Apr 2024, at 19:17, Josef 'Jeff' Sipek <jeffpc@josefsipek.net> =
wrote:
>>>=20
>>> On Mon, Apr 22, 2024 at 19:11:46 +0200, Dimitry Andric wrote:
>>>> On 22 Apr 2024, at 18:28, Josef 'Jeff' Sipek =
<jeffpc@josefsipek.net> wrote:
>>>>>=20
>>>>> On Fri, Apr 19, 2024 at 22:05:17 -0400, Josef 'Jeff' Sipek wrote:
>>>>> ..
>>>>>>  ld-elf.so.1: /lib/libcxxrt.so.1: version CXXABI_1.3.11 required =
by /lib/libc++.so.1 not found
>>>>>=20
>>>>> So, the problem is /lib/libcxxrt.so.1 is *not* getting updated by =
'make
>>>>> installworld' because the newly built library ends up in /usr/lib =
[1].  Therefore,
>>>>> the broken system has:
>>>>>=20
>>>>> /lib/libcxxrt.so.1 from 14.0-RELEASE
>>>>> /usr/lib/libcxxrt.so.1 from -CURRENT
>>>>>=20
>>>>> ld-elf.so finds the one in /lib fails to find the required version
>>>>> (CXXABI_1.3.11) and terminates.
>>>>=20
>>>> This is very strange, and should not happen.
>>>=20
>>> Agreed :)
>>>=20
>>>> The Makefile for libcxxrt
>>>> specifies SHLIBDIR?=3D/lib, so have you somehow overridden SHLIBDIR
>>>> somewhere in your environment?
>>>=20
>>> Nope!  This is a fresh 14.0-RELEASE install (updated to -p6 via
>>> freebsd-update), then I log in as root, install git, get the source, =
and
>>> build.
>>=20
>> How, exactly, are you building?
>=20
> See my earlier email from 19 Apr 2024 22:05:17 -0400 for details.  But =
in
> short, 'make buildworld' 'make buildkernel' 'make installkernel' 'make =
installworld'.

To properly finish up this thread, Jeff was right, and
https://cgit.freebsd.org/src/commit/?id=3Dda77a1b4f0dff was the cause.
That commit added a .include <bsd.own.mk> at the top of libcxxrt's
Makefile, which is normally fine, but not if you use SHLIBDIR?=3D/lib.
That sort of assignment should always be done before including any of
the bsd.*.mk files.

I have committed https://cgit.freebsd.org/src/commit/?id=3D911a6479e18bc
for now, which should fix the problem. It also adds an ObsoleteFiles.inc
entry for /usr/lib/libcxxrt.so.1, so the file should be removed when you
run "make delete-old-libs".

-Dimitry




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?849819B4-9EE6-4776-8079-B0E12ED457D0>