Re: Upgrading -RELEASE to -CURRENT
- Reply: Josef 'Jeff' Sipek : "Re: Upgrading -RELEASE to -CURRENT"
- In reply to: Josef 'Jeff' Sipek : "Re: Upgrading -RELEASE to -CURRENT"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 22 Apr 2024 18:58:34 UTC
On 22 Apr 2024, at 19:21, Josef 'Jeff' Sipek <jeffpc@josefsipek.net> wrote: > > 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: >>> >>> 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: >>>>> >>>>> 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 >>>>> >>>>> 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: >>>>> >>>>> /lib/libcxxrt.so.1 from 14.0-RELEASE >>>>> /usr/lib/libcxxrt.so.1 from -CURRENT >>>>> >>>>> ld-elf.so finds the one in /lib fails to find the required version >>>>> (CXXABI_1.3.11) and terminates. >>>> >>>> This is very strange, and should not happen. >>> >>> Agreed :) >>> >>>> The Makefile for libcxxrt >>>> specifies SHLIBDIR?=/lib, so have you somehow overridden SHLIBDIR >>>> somewhere in your environment? >>> >>> 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. >> >> How, exactly, are you building? > > 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=da77a1b4f0dff 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?=/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=911a6479e18bc 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