Details
-
Bug
-
Resolution: Fixed
-
P3: Somewhat important
-
6.8.2
-
None
-
Linux; GCC14; -march=native; Intel(R) Xeon(R) Gold 6442Y (avx512_fp16)
-
-
d076420bb (dev), f20166d2d (6.9), eaf28380e (6.8)
Description
Build failure:
[...] FAILED: src/gui/CMakeFiles/Gui.dir/image/qimage.cpp.o /usr/bin/x86_64-pc-linux-gnu-c++ -DENABLE_PIXMAN_DRAWHELPERS -DGui_EXPORTS -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_GUI_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT _LEAN_HEADERS=1 -DQT_MOC_COMPAT -DQT_NO_CAST_TO_ASCII -DQT_NO_CONTEXTLESS_CONNECT -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QSNPRINTF -DQT_NO_USING_NAMESPACE -DQT_QPA_DEFAULT_PLATFORM_NAME=\"xcb\" -DQT_USE_NODISCARD_FILE_OPEN -DQT_USE_QSTRINGBUILDER -D_GLIBCXX_ASSERTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/var/tmp/paludis/build/x11-libs-qtba se-6.8.2/work/build/src/gui/Gui_autogen/include -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtGui -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/wor k/qtbase-everywhere-src-6.8.2/src/gui -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/src/gui -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/../3rdparty/VulkanMemoryAllocator -I/var/tmp /paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/../3rdparty/D3D12MemoryAllocator -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtGui/6.8.2 -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/ work/build/include/QtGui/6.8.2/QtGui -I/usr/x86_64-pc-linux-gnu/include/at-spi-2.0 -I/usr/x86_64-pc-linux-gnu/include/dbus-1.0 -I/usr/x86_64-pc-linux-gnu/lib/dbus-1.0/include -I/usr/x86_64-pc-linux-gnu/include/libmount -I/usr/x86_64-pc- linux-gnu/include/uuid -I/usr/x86_64-pc-linux-gnu/include/json-c -I/usr/x86_64-pc-linux-gnu/lib/openssl-3/include -I/usr/x86_64-pc-linux-gnu/include/blkid -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtCore -I/var/t mp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/mkspecs/linux-g++ -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/src/corelib -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtCore/6.8 .2 -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtCore/6.8.2/QtCore -I/var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtDBus -isystem /usr/x86_64-pc-linux-gnu/include/glib-2.0 -isystem /usr/x86_64-pc -linux-gnu/lib/glib-2.0/include -isystem /usr/x86_64-pc-linux-gnu/include/harfbuzz -isystem /usr/x86_64-pc-linux-gnu/include/freetype2 -isystem /usr/x86_64-pc-linux-gnu/include/libpng16 -march=native -O2 -pipe -std=gnu++17 -fPIC -fvisib ility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -Wall -Wextra -fno-exceptions -mno-direct-extern-access -U_FORTIFY_SOURCE -Wsuggest-override -fcf-protection=full -D_FORTIFY_SOURCE=3 -ftrivial-auto-var-init=pattern -f stack-protector-strong -fstack-clash-protection -Winvalid-pch -include /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/src/gui/CMakeFiles/Gui.dir/cmake_pch.hxx -MD -MT src/gui/CMakeFiles/Gui.dir/image/qimage.cpp.o -MF src/gui/CM akeFiles/Gui.dir/image/qimage.cpp.o.d -o src/gui/CMakeFiles/Gui.dir/image/qimage.cpp.o -c /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/image/qimage.cpp In file included from /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/build/include/QtGui/qrgbafloat.h:1, from /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/image/qimage.cpp:14: /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/painting/qrgbafloat.h: In instantiation of 'constexpr QRgbaFloat<T> QRgbaFloat<T>::unpremultiplied() const [with F = qfloat16]': /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/image/qimage.cpp:2737:34: required from here 2737 | p = p.unpremultiplied(); | ~~~~~~~~~~~~~~~~~^~ /var/tmp/paludis/build/x11-libs-qtbase-6.8.2/work/qtbase-everywhere-src-6.8.2/src/gui/painting/qrgbafloat.h:102:34: error: conversion from 'float' to non-scalar type 'const QRgbaFloat<qfloat16>::FastType' {aka 'const qfloat16'} requeste d 102 | const FastType ia = 1.0f / a; | ~~~~~^~~ ninja: build stopped: subcommand failed.
Output of: cat /proc/cpuinfo:
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 143 model name : Intel(R) Xeon(R) Gold 6442Y stepping : 6 microcode : 0x2b000590 cpu MHz : 2599.999 cache size : 61440 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 8 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 32 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid tsc_ known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx_vnni avx512_bf16 wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx 512_vnni avx512_bitalg avx512_vpopcntdq rdpid cldemote movdiri movdir64b fsrm md_clear serialize amx_bf16 avx512_fp16 amx_tile amx_int8 flush_l1d arch_capabilities bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs itlb_multihit mmio_unknown eibrs_pbrsb bhi bogomips : 5199.99 clflush size : 64 cache_alignment : 64 address sizes : 45 bits physical, 48 bits virtual power management:
Complete build log is attached.
A workaround/hack is:
--- a/src/gui/painting/qrgbafloat.h +++ b/src/gui/painting/qrgbafloat.h @@ -20,5 +20,5 @@ public: using Type = F; -#if defined(__AVX512FP16__) && QFLOAT16_IS_NATIVE +#if 0 // AVX512FP16 has multiplication instructions using FastType = F;
Sadly this has been known for a long time already since Qt 6.6.2 for nearly a year but doesn't appear to have been reported by Gentoo, please also see: