Skip to content

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

  1. Open Clang64 console
  2. pacman -Syu
  3. 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
  4. wget https://download.qemu.org/qemu-8.1.0-rc0.tar.xz
  5. tar -xf qemu-8.1.0-rc0.tar.xz
  6. cd qemu-8.1.0-rc0
  7. ./configure --target-list=x86_64-softmmu
  8. 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.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information