Skip to content

LLVM 18.1.8 breaks paths for sanitizers in connection with Rust #95792

@kamulos

Description

@kamulos

My project is using Rust together with clang and the address sanitizer. Both the build orchestration and the linker invocations are done by cargo which is based on LLVM 18.1.7.

I install llvm via apt.llvm.org and when I do that now I get version 18.1.8, I found no way to pin it to a specific LLVM version. To me it seems that the paths of the static ASAN libraries have changed with the newest patch release, I get the following error:

ld: error: cannot open /usr/lib/llvm-18/lib/clang/18/lib/linux/libclang_rt.asan_static-x86_64.a: No such file or directory
ld: error: cannot open /usr/lib/llvm-18/lib/clang/18/lib/linux/libclang_rt.asan-x86_64.a: No such file or directory

But in reality the libraries are now in /usr/lib/llvm-18/lib/clang/18/lib/x86_64-pc-linux-gnu under different names.

Such a breaking change is surprising for a patch release, especially if there is no real possibility to install an older version.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions