8.1.0rc0: Build failure compiling with clang on windows
Host environment
- Operating system: Windows 10 22H2, Msys2/Clang64
- Architecture: x86_64
Description of problem
Building in Clang64 environment finally fails with:
...
[1416/2001] Compiling C object libcommon.fa.p/ui_dbus-listener.c.obj
FAILED: libcommon.fa.p/ui_dbus-listener.c.obj
"cc" "-m64" "-mcx16" "-Ilibcommon.fa.p" "-Isubprojects/dtc/libfdt" "-I../subprojects/dtc/libfdt" "-Iui" "-I../ui" "-IC:/msys64/clang64/include/pixman-1" "-IC:/msys64/clang64/include/glib-2.0" "-IC:/msys64/clang64/lib/glib-2.0/include" "-IC:/msys64/clang64/include/ncursesw" "-fcolor-diagnostics" "-Wall" "-Winvalid-pch" "-std=gnu11" "-O2" "-g" "-fstack-protector-strong" "-Wundef" "-Wwrite-strings" "-Wmissing-prototypes" "-Wstrict-prototypes" "-Wredundant-decls" "-Wold-style-definition" "-Wtype-limits" "-Wformat-security" "-Wformat-y2k" "-Winit-self" "-Wignored-qualifiers" "-Wempty-body" "-Wnested-externs" "-Wendif-labels" "-Wexpansion-to-defined" "-Wmissing-format-attribute" "-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-gnu-variable-sized-type-not-at-end" "-Wthread-safety" "-iquote" "." "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/include" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/host/include/x86_64" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/host/include/generic" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/tcg/i386" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE" "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-fno-pie" "-DNCURSES_WIDECHAR" "-DNCURSES_WIDECHAR=1" -MD -MQ libcommon.fa.p/ui_dbus-listener.c.obj -MF "libcommon.fa.p/ui_dbus-listener.c.obj.d" -o libcommon.fa.p/ui_dbus-listener.c.obj "-c" ../ui/dbus-listener.c
../ui/dbus-listener.c:355:10: error: call to undeclared function 'd3d_texture2d_release0'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
if (!d3d_texture2d_release0(tex, &err)) {
^
../ui/dbus-listener.c:360:10: error: call to undeclared function 'd3d_texture2d_share'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
if (!d3d_texture2d_share(tex, &share_handle, &err)) {
^
../ui/dbus-listener.c:392:10: error: call to undeclared function 'd3d_texture2d_acquire0'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
if (!d3d_texture2d_acquire0(tex, &err)) {
^
3 errors generated.
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:162: run-ninja] Error 1
make[1]: Leaving directory '/home/helge/qemu-8.1.0-rc0/build'
make: *** [GNUmakefile:11: all] Error 2
...
Steps to reproduce
- Open Clang64 console
pacman -Syu
pacman -S binutils mingw-w64-clang-x86_64-toolchain mingw-w64-clang-x86_64-glib2 mingw-w64-clang-x86_64-ninja mingw-w64-clang-x86_64-pixman mingw-w64-clang-x86_64-python mingw-w64-clang-x86_64-python-sphinx mingw-w64-clang-x86_64-python-sphinx_rtd_theme
wget https://download.qemu.org/qemu-8.1.0-rc0.tar.xz
tar -xf qemu-8.1.0-rc0.tar.xz
cd qemu-8.1.0-rc0
./configure --target-list=x86_64-softmmu
make
Additional information
The used cc is clang in Msys2/Clang64 environment:
$ md5sum /clang64/bin/cc.exe /clang64/bin/clang.exe
bb70e04a10456b05b07f14d190ad9015 */clang64/bin/cc.exe
bb70e04a10456b05b07f14d190ad9015 */clang64/bin/clang.exe
On manually repeating the command in build directory a different error is shown:
$ cd build
$ "cc" "-m64" "-mcx16" "-Ilibcommon.fa.p" "-Isubprojects/dtc/libfdt" "-I../subprojects/dtc/libfdt" "-Iui" "-I../ui" "-IC:/msys64/clang64/include/pixman-1" "-IC:/msys64/clang64/include/glib-2.0" "-IC:/msys64/clang64/lib/glib-2.0/include" "-IC:/msys64/clang64/include/ncursesw" "-fcolor-diagnostics" "-Wall" "-Winvalid-pch" "-std=gnu11" "-O2" "-g" "-fstack-protector-strong" "-Wundef" "-Wwrite-strings" "-Wmissing-prototypes" "-Wstrict-prototypes" "-Wredundant-decls" "-Wold-style-definition" "-Wtype-limits" "-Wformat-security" "-Wformat-y2k" "-Winit-self" "-Wignored-qualifiers" "-Wempty-body" "-Wnested-externs" "-Wendif-labels" "-Wexpansion-to-defined" "-Wmissing-format-attribute" "-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-gnu-variable-sized-type-not-at-end" "-Wthread-safety" "-iquote" "." "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/include" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/host/include/x86_64" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/host/include/generic" "-iquote" "C:/msys64/home/helge/qemu-8.1.0-rc0/tcg/i386" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE" "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-fno-pie" "-DNCURSES_WIDECHAR" "-DNCURSES_WIDECHAR=1" -MD -MQ libcommon.fa.p/ui_dbus-listener.c.obj -MF "libcommon.fa.p/ui_dbus-listener.c.obj.d" -o libcommon.fa.p/ui_dbus-listener.c.obj "-c" ../ui/dbus-listener.c
../ui/dbus-listener.c:236:9: error: expected expression
Error *err = NULL;
^
../ui/dbus-listener.c:240:56: error: use of undeclared identifier 'err'
if (!d3d_texture2d_release0(ddl->d3d_texture, &err)) {
^
../ui/dbus-listener.c:241:30: error: use of undeclared identifier 'err'
error_report_err(err);
^
3 errors generated.