id = 1341 title = "Static build failure with clang (clang 14.0.6)" state = "closed" created_at = "2022-11-25T11:15:24.129Z" closed_at = "2024-03-12T14:25:29.681Z" labels = ["Build System"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1341" host-os = "ArchlinuxARM" host-arch = "aarch64" qemu-version = "7.1.0" guest-os = "n/a" guest-arch = "n/a" description = """Static build failure with redefinition of 'iovec'. The configure looks like this: ``` export CC=clang ../$pkgbase-$pkgver/configure \\ --prefix=/usr \\ --sysconfdir=/etc \\ --libexecdir=/usr/lib/qemu \\ --enable-attr \\ --enable-linux-user \\ --enable-tcg \\ --disable-bpf \\ --disable-bsd-user \\ --disable-capstone \\ --disable-docs \\ --disable-fdt \\ --disable-gcrypt \\ --disable-glusterfs \\ --disable-gnutls \\ --disable-gtk \\ --disable-install-blobs \\ --disable-kvm \\ --disable-libiscsi \\ --disable-libnfs \\ --disable-libssh \\ --disable-linux-io-uring \\ --disable-nettle \\ --disable-opengl \\ --disable-qom-cast-debug \\ --disable-sdl \\ --disable-system \\ --disable-tools \\ --disable-tpm \\ --disable-vde \\ --disable-vhost-crypto \\ --disable-vhost-kernel \\ --disable-vhost-net \\ --disable-vhost-user \\ --disable-vnc \\ --disable-werror \\ --disable-xen \\ --disable-zstd \\ --static ``` The compiling failure looks like this: ``` FAILED: libqom.fa.p/qom_object.c.o clang -Ilibqom.fa.p -I. -I../qemu-7.1.0 -Iqapi -Itrace -Iui/shader -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -fcolor-diagnostics -Wall -Winvalid-pch -std=gnu11 -O2 -g -isystem /home/adam/qemu-user-static/src/qemu-7.1.0/linux-headers -isystem linux-headers -iquote . -iquote /home/adam/qemu-user-static/src/qemu-7.1.0 -iquote /home/adam/qemu-user-static/src/qemu-7.1.0/include -iquote /home/adam/qemu-user-static/src/qemu-7.1.0/tcg/aarch64 -pthread -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-typedef-redefinition -Wno-tautological-type-limit-compare -Wno-psabi -Wno-missing-braces -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fPIE -MD -MQ libqom.fa.p/qom_object.c.o -MF libqom.fa.p/qom_object.c.o.d -o libqom.fa.p/qom_object.c.o -c ../qemu-7.1.0/qom/object.c distcc[94580] (dcc_build_somewhere) Warning: failed to distribute, running locally instead clang-14: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../qemu-7.1.0/qom/object.c:13: /home/adam/qemu-user-static/src/qemu-7.1.0/include/qemu/osdep.h:517:8: error: redefinition of 'iovec' struct iovec { ^ /usr/include/bits/types/struct_iovec.h:26:8: note: previous definition is here struct iovec ^ In file included from ../qemu-7.1.0/qom/object.c:13: /home/adam/qemu-user-static/src/qemu-7.1.0/include/qemu/osdep.h:524:9: warning: 'IOV_MAX' macro redefined [-Wmacro-redefined] #define IOV_MAX 1024 ^ /usr/include/bits/xopen_lim.h:66:10: note: previous definition is here # define IOV_MAX __IOV_MAX ^ 1 warning and 1 error generated. distcc[94580] ERROR: compile ../qemu-7.1.0/qom/object.c on localhost failed ninja: build stopped: subcommand failed. ```""" reproduce = """1. Compile qemu using above configure and use clang as the compiler""" additional = """Full meson log: [meson-log.txt](/uploads/a63d609852148140e8fa7210c6912982/meson-log.txt)"""