Bug 280303 - /lib/libc++ requires a new version of /lib/libcxxrt
Summary: /lib/libc++ requires a new version of /lib/libcxxrt
Status: Closed Unable to Reproduce
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 14.1-RELEASE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-15 14:53 UTC by eric.mauger@igf.cnrs.fr
Modified: 2024-09-17 14:11 UTC (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eric.mauger@igf.cnrs.fr 2024-07-15 14:53:38 UTC
Hi,

Upgrading to 14.1p2 modifies the library /lib/libc++. The new version requires a newer version of /lib/libcxxrt which is not installed with patch 2.

I have vaultwarden installed and it doesn't start anymore with the following error message :
 ld-elf.so.1: /lib/libcxxrt.so.1: version CXXABI_1.3.11 required by /lib/libc++.so.1 not found

Reverting to 14.1-RELEASE (without any patch) solved the problem.

Thanks
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2024-07-16 18:22:28 UTC
I just tried this scenario, and it works just fine for me:
* install 14.1-RELEASE (amd64)
* install pkg-1.21.3
* install vaultwarden-1.30.5_4
* vaultwarden runs OK
* run freebsd-update fetch, install, reboot
* vaultwarden still runs OK

Could it be that your pkg repo points to a more recent version than:

url: "pkg+https://pkg.FreeBSD.org/${ABI}/quarterly",

?
Comment 2 Dimitry Andric freebsd_committer freebsd_triage 2024-07-16 18:26:08 UTC
Next I tried changing repo to pkg+https://pkg.FreeBSD.org/${ABI}/latest, but it only upgraded p5-CGI, p5-IO-Socket-SSL and python311, not anything else. Vaultwarden still runs fine.

Where did you get your copy of vaultwarden from?
Comment 3 eric.mauger@igf.cnrs.fr 2024-07-17 09:55:12 UTC
Hi,

I just tried a pkg upgrade vaultwarden has been upgraded to vaultwarden-1.30.5_4 install
It still works.

The I tried a freebsd-udate and it proposes to install
/lib/libc++.so.1
/lib/libzpool.so.2

I don't know why.
I have pkg+http://pkg.FreeBSD.org/${ABI}/quarterly

The libc++ comes from the core OS with freebsd-update

I think I'll try a fresh install.

Thanks
Comment 4 eric.mauger@igf.cnrs.fr 2024-07-17 11:36:43 UTC
Hi again,

After a fresh install of the OS, everything works fine.
Maybe a problem during an old upgrade...

Thanks for your effort
Comment 5 Mark Millard 2024-09-16 13:24:49 UTC
https://lists.freebsd.org/archives/freebsd-ports/2024-September/006670.html

is another report of this issue:

QUOTE
From: Matthew Phillips <matthew_at_matthewphillips.info>
Date: Mon, 16 Sep 2024 13:04:51 UTC

On 14.1, when installing any of the Node.js packages, node22 for
example, I get this error message when attempting to run the `node`
binary:

ld-elf.so.1: /lib/libcxxrt.so.1: version CXXABI_1.3.11 required by /lib/libc++.so.1 not found

Checkings strings:

# strings  /lib/libc++.so.1 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.11

That's ok, but

# strings  /lib/libcxxrt.so.1 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.6

So indeed there is a problem. This has been previously reported here:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280303 but not
resolved.

Any advice? How/can I just reinstall /lib/cxxrt.so.1 and if so, how?
END QUOTE
Comment 6 Kurt Jaeger freebsd_committer freebsd_triage 2024-09-16 14:04:33 UTC
I checked on a 14.1p4 box and:

strings /lib/libcxxrt.so.1 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.9
CXXABI_1.3.11

So maybe getting it from a suitable installation ?
Comment 7 Dimitry Andric freebsd_committer freebsd_triage 2024-09-16 17:14:46 UTC
(In reply to Kurt Jaeger from comment #6)
Does anybody know which exact version of 14.1 the ports builders use? I take it you are installing a precompiled vaultwarden package from the official ports repository?
Comment 8 Mark Millard 2024-09-16 17:29:34 UTC
(In reply to Mark Millard from comment #5)

FYI, later list activity reported that the the context was from
a "thick" style jail that had been updated with freebsd-update:

QUOTE
Ah, I think I figured it out, this is inside of a jail. I do have 1.3.9
and 1.3.11 in the root system, so it must be the release I used to
create it being old. 

I don't know why this didn't get updated with `freebsd-update` inside
the jail though. I'm using the "thick" jail approach. In any event, I'll
get a new 14.1-RELEASE tarball and create a new jail.
END QUOTE

But I'll note that CXXABI_1.3.9 also being missing means that the
content predated 13.0: CXXABI_1.3.9 goes back into early 2017 and
so its being missing would be even earlier.

(Note: I'm not the one that had the problem.)
Comment 9 Kyle Evans freebsd_committer freebsd_triage 2024-09-16 18:45:28 UTC
We had a report on IRC as well.  In their case, base was 14.0 and upgraded to 14.1, yet they get:

# readelf -n /lib/libcxxrt.so.1
[...] ABI tag: 1400097
# readelf -n /lib/libc++.so.1
[...] ABI tag: 1401000

Which would seem to indicate that it's running a 14.0 libcxxrt.so.1 still and the upgrade to 14.1 apparently didn't update libcxxrt.so.1 for some reason.
Comment 10 Kyle Evans freebsd_committer freebsd_triage 2024-09-16 19:22:25 UTC
14:05 < sidh> kevans: in /lib only 4 lib*.so.* are in ABI tag 1401000
14:06 < sidh> and 70 in 1400097
14:09 < sidh> in /usr/lib 17 are in ABI tag 1401000
14:10 < sidh> 337 are in in 1400097
14:16 < kevans> so the vast majority of your system libraries are still 14.0
14:17 < kevans> do any of the binaries fare any better?
14:18 < kevans> are the majority of them 14.1, or 14.0?
14:18 < sidh> majority is 14.0
14:18 < sidh> by far
Comment 11 Kyle Evans freebsd_committer freebsd_triage 2024-09-17 14:11:13 UTC
Moving this back to bugs@; the latest case is a weird inconsistent system as a result of the update process, which seems more plausible than a toolchain issue.