You are not logged in.

#1 2025-04-17 12:06:52

Samueru
Member
Registered: 2023-07-03
Posts: 31

I'm trying to build mesa with llvm linked statically with no luck

It seems this was easy a few years ago when the `llvm-libs` package still shipped static libs by looking at this: https://forum.artixlinux.org/index.php/ … 145.0.html


I modified the llvm-libs PKGBUILD to also add the `.a` libraries and now I have a bunch of them. But when I try to build mesa with `-D shared-llvm=disabled` I just get this error:

Checking for function "pthread_setaffinity_np" with dependency threads: YES 
Run-time dependency expat found: YES 2.7.1
Library m found: YES
Message: libdrm 2.4.121 needed because amdgpu has the highest requirement
Run-time dependency libdrm_intel found: YES 2.4.124
Run-time dependency libdrm_amdgpu found: YES 2.4.124
Run-time dependency libdrm found: YES 2.4.124
Run-time dependency libudev found: YES 257
llvm-config found: YES (/usr/bin/llvm-config) 19.1.7
Run-time dependency LLVM (modules: amdgpu, bitreader, bitwriter, core, coverage, engine, executionengine, instcombine, instrumentation, ipo, irreader, libdriver, linker, lto, mcdisassembler, mcjit, native, objcarcopts, option, profiledata, scalaropts, target, transformutils, all-targets, coroutines, frontenddriver, frontendhlsl, frontendopenmp, lto, windowsdriver) found: NO (tried config-tool)
Looking for a fallback subproject for the dependency llvm (modules: bitwriter, engine, mcdisassembler, mcjit, core, executionengine, scalaropts, transformutils, instcombine, amdgpu, bitreader, ipo, linker, coverage, instrumentation, ipo, irreader, lto, option, objcarcopts, profiledata, coverage, target, linker, irreader, option, libdriver, lto, native)
Building fallback subproject with default_library=static
ERROR: Subproject llvm is buildable: NO

mesa-25.0.3/meson.build:1785:13: ERROR: Neither a subproject directory nor a llvm.wrap file was found.

Offline

#2 2025-04-17 17:19:56

mackin_cheese
Member
Registered: 2025-01-07
Posts: 461

Re: I'm trying to build mesa with llvm linked statically with no luck

Okay please:

1. Post the PKGBUILD you were using
2. Post the exact command you were using that produced that output
3. Post the full output

Offline

#3 2025-04-17 20:53:05

Samueru
Member
Registered: 2023-07-03
Posts: 31

Re: I'm trying to build mesa with llvm linked statically with no luck

mackin_cheese wrote:

Okay please:

1. Post the PKGBUILD you were using

2. Post the exact command you were using that produced that output

3. Post the full output

1. It is the existing llvm-libs PKGBUILD modified to include the static libs: https://pastebin.com/WygAf2jz

When installing I noticed that this modified llvm-libs contains a few static libs that conflict with the existing llvm package, those were overwritten in that case, I don't think this is a problem given that both files get produced by the same PKGBUILD and llvm is split into two separate packages but let me know.

2. I took the existing mesa PKGBUILD and added the [-D shared-llvm=disabled] to meson_options: https://gitlab.archlinux.org/archlinux/ … heads#L182

3. https://pastebin.com/xjrqmq8b

https://pastebin.com/af9qS96h

Edit: I just noticed that I got a different error this time after repeating the steps lol

Last edited by Samueru (2025-04-17 20:58:25)

Offline

#4 2025-04-18 10:05:16

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 13,639

Re: I'm trying to build mesa with llvm linked statically with no luck

mesa needs a lot more then just llvm-libs .

You will very likely need to provide static builds of llvm , clang and libclc . Also a build of spirv-llvm-translator against your static llvm .

Look again at the llvm repo PKGBUILD .

# Utilizing LLVM_DISTRIBUTION_COMPONENTS to avoid
# installing static libraries; inspired by Gentoo
_get_distribution_components() {

The _get_distribution_components() function was specifically added to get rid of static libraries, you'll have to remove any usage of that function.


Moderator Note :
moved to Creating & Modifying Packages


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

Board footer

Powered by FluxBB