Mesa build breaks when only building radeonsi due to missing llvm coroutines symbols
Submitted by Shmerl
Assigned to mes..@..op.org
Link to original bug (#111679)
Description
When building only radeonsi and radv, Mesa builds fails like this:
[1135/1135] Linking target src/gallium/targets/dri/libgallium_dri.so.
FAILED: src/gallium/targets/dri/libgallium_dri.so
g++-9 -o src/gallium/targets/dri/libgallium_dri.so <...>
/usr/bin/ld: src/gallium/auxiliary/libgallium.a(gallivm_lp_bld_init.c.o): in function init_gallivm_state': lp_bld_init.c:(.text+0x2ad): undefined reference to
LLVMAddCoroEarlyPass'
/usr/bin/ld: lp_bld_init.c:(.text+0x2b6): undefined reference to LLVMAddCoroSplitPass' /usr/bin/ld: lp_bld_init.c:(.text+0x2bf): undefined reference to
LLVMAddCoroElidePass'
/usr/bin/ld: lp_bld_init.c:(.text+0x31d): undefined reference to `LLVMAddCoroCleanupPass'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
build failed!
To fix, it, llvm coroutines module can be enabled for example like this:
diff --git a/meson.build b/meson.build index 29d7981d13d..9ca40e3e896 100644 --- a/meson.build +++ b/meson.build @@ -1244,7 +1244,7 @@ endif llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit'] llvm_optional_modules = [] if with_amd_vk or with_gallium_radeonsi or with_gallium_r600
- llvm_modules += ['amdgpu', 'native', 'bitreader', 'ipo']
- llvm_modules += ['amdgpu', 'native', 'bitreader', 'ipo', 'coroutines'] if with_gallium_r600 llvm_modules += 'asmparser' endif
Version: git