FTBFS due to LLVM commit 2dea3f129878 (LLVMVectorTypeKind is gone)
When trying to build Mesa (last tried commit b520a58c), I get the following FTBFS:
[700/2343] cc -Isrc/amd/llvm/ce8261c@@amd_common_llvm@sta -Isrc/amd/llvm -I../src/amd/llvm -Iinclude -I../include -Isrc -I../src -Isrc/mapi -I../src/mapi -Isrc/mesa -I../src/mesa -I../src/gallium/include -Isrc/gallium/auxiliary -I../src/gallium/auxiliary -Isrc/compiler -I../src/com
piler -Isrc/amd -I../src/amd -Isrc/amd/common -I../src/amd/common -Isrc/compiler/nir -I../src/compiler/nir -I/usr/lib/llvm-11/include -I/usr/include/libdrm -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -std=c99 '-DPACKAGE_VERSION="20.1.0-devel"' '-DPACKAGE_BUGREP
ORT="https://gitlab.freedesktop.org/mesa/mesa/issues"' -DUSE_ELF_TLS -DHAVE_ST_VDPAU -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 -DHAVE_X11_PLATFORM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM -DHAVE_DRM_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DENABLE_SHADE
R_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL -DHAVE___BUILTIN_UNREACHABLE -DHAVE_F
UNC_ATTRIBUTE_CONST -DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC -DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK -DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED -DHAVE_FUNC_ATTRIBUTE
_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_FUNC_ATTRIBUTE_ALIAS -DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_UINT128 -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS -DUSE_X86_64_ASM -DMAJOR_IN_SYSMACROS -DHAVE_SYS_SYSCTL_H -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_EXE
CINFO_H -DHAVE_SYS_SHM_H -DHAVE_CET_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_TIMESPEC_GET -DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_PROGRAM_INVOCATION_NAME -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -D
HAVE_ZLIB -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM -DLLVM_AVAILABLE '-DMESA_LLVM_VERSION_STRING="11.0.0"' -DUSE_LIBGLVND=1 -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED -DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS -DHAVE_GALLIUM_EXTRA_HUD=1 -DHAVE_LIBSENSORS=1 -Werror=implicit-f
unction-declaration -Werror=missing-prototypes -Werror=return-type -Werror=empty-body -Werror=incompatible-pointer-types -Werror=int-conversion -Wno-missing-field-initializers -Wno-format-truncation -fno-math-errno -fno-trapping-math -fno-common -Werror=format -Wformat-security -O3
-Wall -march=native -mfpmath=sse -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fvisibility=hidden -MD -MQ 'src/amd/llvm/ce8261c@@amd_common_llvm@sta/ac_llvm_build.c.o' -MF 'src/amd/llvm/ce8261c@@
amd_common_llvm@sta/ac_llvm_build.c.o.d' -o 'src/amd/llvm/ce8261c@@amd_common_llvm@sta/ac_llvm_build.c.o' -c ../src/amd/llvm/ac_llvm_build.c
FAILED: src/amd/llvm/ce8261c@@amd_common_llvm@sta/ac_llvm_build.c.o
cc -Isrc/amd/llvm/ce8261c@@amd_common_llvm@sta -Isrc/amd/llvm -I../src/amd/llvm -Iinclude -I../include -Isrc -I../src -Isrc/mapi -I../src/mapi -Isrc/mesa -I../src/mesa -I../src/gallium/include -Isrc/gallium/auxiliary -I../src/gallium/auxiliary -Isrc/compiler -I../src/compiler -Isrc
/amd -I../src/amd -Isrc/amd/common -I../src/amd/common -Isrc/compiler/nir -I../src/compiler/nir -I/usr/lib/llvm-11/include -I/usr/include/libdrm -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -std=c99 '-DPACKAGE_VERSION="20.1.0-devel"' '-DPACKAGE_BUGREPORT="https:
//gitlab.freedesktop.org/mesa/mesa/issues"' -DUSE_ELF_TLS -DHAVE_ST_VDPAU -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 -DHAVE_X11_PLATFORM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM -DHAVE_DRM_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DENABLE_SHADER_CACHE -DH
AVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL -DHAVE___BUILTIN_UNREACHABLE -DHAVE_FUNC_ATTRIBU
TE_CONST -DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC -DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK -DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED -DHAVE_FUNC_ATTRIBUTE_RETURNS_NO
NNULL -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_FUNC_ATTRIBUTE_ALIAS -DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_UINT128 -DUSE_SSE41 -DUSE_GCC_ATOMIC_BUILTINS -DUSE_X86_64_ASM -DMAJOR_IN_SYSMACROS -DHAVE_SYS_SYSCTL_H -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_EXECINFO_H -DH
AVE_SYS_SHM_H -DHAVE_CET_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_TIMESPEC_GET -DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_PROGRAM_INVOCATION_NAME -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DHAVE_ZLIB -
DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBDRM -DLLVM_AVAILABLE '-DMESA_LLVM_VERSION_STRING="11.0.0"' -DUSE_LIBGLVND=1 -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED -DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS -DHAVE_GALLIUM_EXTRA_HUD=1 -DHAVE_LIBSENSORS=1 -Werror=implicit-function-dec
laration -Werror=missing-prototypes -Werror=return-type -Werror=empty-body -Werror=incompatible-pointer-types -Werror=int-conversion -Wno-missing-field-initializers -Wno-format-truncation -fno-math-errno -fno-trapping-math -fno-common -Werror=format -Wformat-security -O3 -Wall -mar
ch=native -mfpmath=sse -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fvisibility=hidden -MD -MQ 'src/amd/llvm/ce8261c@@amd_common_llvm@sta/ac_llvm_build.c.o' -MF 'src/amd/llvm/ce8261c@@amd_common_
llvm@sta/ac_llvm_build.c.o.d' -o 'src/amd/llvm/ce8261c@@amd_common_llvm@sta/ac_llvm_build.c.o' -c ../src/amd/llvm/ac_llvm_build.c
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_get_llvm_num_components’:
../src/amd/llvm/ac_llvm_build.c:147:53: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
147 | unsigned num_components = LLVMGetTypeKind(type) == LLVMVectorTypeKind
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c:147:53: note: each undeclared identifier is reported only once for each function it appears in
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_llvm_extract_elem’:
../src/amd/llvm/ac_llvm_build.c:158:44: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
158 | if (LLVMGetTypeKind(LLVMTypeOf(value)) != LLVMVectorTypeKind) {
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_get_elem_bits’:
../src/amd/llvm/ac_llvm_build.c:170:31: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
170 | if (LLVMGetTypeKind(type) == LLVMVectorTypeKind)
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_get_type_size’:
../src/amd/llvm/ac_llvm_build.c:209:7: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
209 | case LLVMVectorTypeKind:
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_to_integer_type’:
../src/amd/llvm/ac_llvm_build.c:238:28: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
238 | if (LLVMGetTypeKind(t) == LLVMVectorTypeKind) {
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_to_float_type’:
../src/amd/llvm/ac_llvm_build.c:293:28: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
293 | if (LLVMGetTypeKind(t) == LLVMVectorTypeKind) {
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_build_type_name_for_intr’:
../src/amd/llvm/ac_llvm_build.c:355:31: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
355 | if (LLVMGetTypeKind(type) == LLVMVectorTypeKind) {
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
../src/amd/llvm/ac_llvm_build.c: In function ‘ac_build_expand’:
../src/amd/llvm/ac_llvm_build.c:630:44: error: ‘LLVMVectorTypeKind’ undeclared (first use in this function); did you mean ‘LLVMVectorType’?
630 | if (LLVMGetTypeKind(LLVMTypeOf(value)) == LLVMVectorTypeKind) {
| ^~~~~~~~~~~~~~~~~~
| LLVMVectorType
This is, most likely due to upstream commit 2dea3f129878, which replaced LLVMVectorTypeKind
with LLVMFixedVectorTypeKind
and LLVMScalableVectorTypeKind
.