Skip to main content


Any #FreeBSD folk know why the rust compiler might give me

ld-elf.so.1: /usr/local/bin/../lib/librustc_driver-d829a4d8a572ebe4.so: Undefined symbol "_ZNSt3__122__libcpp_verbose_abortEPKcz"

I am worried the problem is my kernel is 13.2 but the rust package claims to be from 13.3? Is this a "just upgrade and stop worrying" situation

To be clear, this is just the package I installed from pkg...

rust-1.79.0_1
Name           : rust
Version        : 1.79.0_1
Installed on   : Tue Sep  3 09:18:57 2024 EDT
Origin         : lang/rust
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : lang
Licenses       : MIT or APACHE20
Maintainer     : rust@FreeBSD.org
WWW            : https://www.rust-lang.org/
Comment        : Language with a focus on memory safety and concurrency
Options        :
        DOCS           : on
        GDB            : off
        LTO            : off
        PORT_LLVM      : off
        SOURCES        : on
        WASM           : on
Shared Libs required:
        libcurl.so.4
Annotations    :
        FreeBSD_version: 1303001
        build_timestamp: 2024-09-01T01:17:44+0000
        built_by       : poudriere-git-3.4.2
        cpe            : cpe:2.3:a:rust-lang:rust:1.79.0:::::freebsd13:x64:1
        port_checkout_unclean: no
        port_git_hash  : be013aced
        ports_top_checkout_unclean: no
        ports_top_git_hash: a43753089
        repo_type      : binary
        repository     : FreeBSD
Flat size      : 1.06GiB
Description    :
Rust is an open-source systems programming language that runs blazingly
fast, prevents almost all crashes, and eliminates data races.
Some of its features:

  - Algebraic data types, type inference
  - Pattern matching and closures
  - Concurrency without data races
  - Guaranteed memory safety
  - Optional garbage collection
  - Zero-cost abstractions
  - Minimal runtime
  - Efficient C bindings
I'm neither a FreeBSD folk nor a Rust folk but that looks like a library version mismatch to me - is your libc++ the one that came with your 13.2 system? The symbol it's missing might be new in 13.3. (Not sure whether there's a feasible way to get a 13.3 libc++ without upgrading the whole system, your path of least resistance might be finding a 13.2 rust package.)
@Dave Yeah - in theory this package should be fine for all FreeBSDs - but I have a worry something happened with the package DB accidentally giving me an incompatible rustc binary - which ... shouldn't happen - I think?!
@Dave