Skip to content

[LLVM] [cmake] soname change in commit #91a3846 breaks building mesa trunk against llvm trunk #82647

Closed
@LW-archlinux

Description

@LW-archlinux

In commit 91a3846 libLLVM-19.so was renamed to libLLVM.so.19.0 .

A symlink from libLLVM-19.so to libLLVM.so was introduced for compatibility with old library name.

This breaks the build of mesa trunk against llvm trunk on archlinux with this error : /usr/bin/ld: /usr/lib/../lib/libLLVM.so.19.0: error adding symbols: DSO missing from command line

In https://gitlab.freedesktop.org/mesa/mesa/-/issues/10644 it was suggested a broken symlink could be the cause.

I checked and realised the breakl occurs because on archlinux libLLVM.so is only present in the official llvm-libs package from [extra] repo. Older llvm versions and AUR llvm builds use versioned symlinks / sonames (most common case) or conflict with repo llvm .

The llvm trunk pacakge I build mesa against does the former.

Manually changing the symlink to the new soname directly solves the build failure for mesa trunk.

While archlinux & related distros may be the only ones using that specific method to allow multiple llvm versions to coexist, symlinking indirectly through libLLVM.so seems an unnecessary step for linkers and prone to failure.

Please change the compatibility symlink to directly link to the new soname library.

Lone_Wolf

Metadata

Metadata

Assignees

Labels

cmakeBuild system in general and CMake in particular

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions