https://bugs.winehq.org/show_bug.cgi?id=56776
Bug ID: 56776 Summary: Build failure with GCC 14 (mingw64-toolchain 12.0.0/GCC 14.1.0) due to [-Wincompatible-pointer-types] Product: Wine-staging Version: 9.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: timo.gurr@gmail.com CC: leslie_alistair@hotmail.com, z.figura12@gmail.com Distribution: ---
Created attachment 76576 --> https://bugs.winehq.org/attachment.cgi?id=76576 01_0001-include-Check-element-type-in-CONTAINING_RECORD-and-.patch.error.log
While vanilla wine 9.10 builds fine, having the staging 9.10 patches applied the build fails due to -Wincompatible-pointer-types with GCC 14 (mingw64-toolchain 12.0.0 / GCC 14.1.0).
This was also reported for Gentoo at the end of 2023 at https://bugs.gentoo.org/919758 and a workaround being applied with https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8c7ecb8fbbdbcbef6b9804...
We're experiencing the same issues on Exherbo Linux now and I couldn't find any previous report about the issue.
I could narrow it down to two offending patches, after removing those the build succeeded:
rm ../wine-staging-9.10/patches/Compiler_Warnings/0001-include-Check-element-type-in-CONTAINING_RECORD-and-.patch rm ../wine-staging-9.10/patches/shell32-IconCache/0001-shell32-iconcache-Generate-icons-from-available-icons-.patch
/var/tmp/paludis/build/app-emulation-wine-9.10/work/wine-9.10/configure --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --prefix=/usr/x86_64-pc-linux-gnu --bindir=/usr/x86_64-pc-linux-gnu/bin --sbindir=/usr/x86_64-pc-linux-gnu/bin --libdir=/usr/x86_64-pc-linux-gnu/lib --datadir=/usr/share --datarootdir=/usr/share --docdir=/usr/share/doc/wine-9.10 --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var/lib --disable-build-id --disable-tests --disable-werror --with-dbus --with-fontconfig --with-freetype --with-gettext --with-gnutls --with-inotify --with-pthread --with-udev --with-x --with-xcomposite --with-xcursor --with-xfixes --with-xinerama --with-xinput --with-xinput2 --with-xrandr --with-xrender --with-xshape --with-xshm --with-xxf86vm --without-coreaudio --without-gettextpo --without-opencl --without-pcsclite --without-v4l2 --enable-win64 --without-odbc --without-alsa --without-unwind --without-gphoto --with-cups --with-gstreamer --without-capi --with-gssapi --with-krb5 --with-opengl --without-osmesa --without-oss --without-pcap --with-pulse --without-netapi --without-sane --without-sdl --with-usb --with-vulkan --with-wayland --with-mingw --enable-archs=x86_64,i386
Attached are the two logs / snippets with the actual build errors as requested by bugzilla.
https://bugs.winehq.org/show_bug.cgi?id=56776
--- Comment #1 from Timo Gurr timo.gurr@gmail.com --- Created attachment 76577 --> https://bugs.winehq.org/attachment.cgi?id=76577 02_0001-shell32-iconcache-Generate-icons-from-available-icons-.patch.error.log
https://bugs.winehq.org/show_bug.cgi?id=56776
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #2 from Fabian Maurer dark.shadow4@web.de --- My understanding was that warnings in staging code are not too important, since it's only in staging since it's not good enough in the first place. Can't you compile without Werror?
https://bugs.winehq.org/show_bug.cgi?id=56776
--- Comment #3 from Timo Gurr timo.gurr@gmail.com --- (In reply to Fabian Maurer from comment #2)
Can't you compile without Werror?
Please see https://gcc.gnu.org/gcc-14/porting_to.html (C language issues - Certain warnings are now errors) for further details, these are errors now not just warnings starting with GCC 14. This is also generally nothing specific to wine or staging, just (old) code that requires to be fixed for newer compilers to keep working/compiling hence my bugreport since noone else did yet while even the Gentoo documentation on this topic explicitly mentions to report bugs to upstreams in this regard: https://wiki.gentoo.org/wiki/Modern_C_porting#-Wincompatible-pointer-types
https://bugs.winehq.org/show_bug.cgi?id=56776
Timo Gurr timo.gurr@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #76577|0 |1 is obsolete| |
--- Comment #4 from Timo Gurr timo.gurr@gmail.com --- Created attachment 76650 --> https://bugs.winehq.org/attachment.cgi?id=76650 02_0001-cmd-Support-for-launching-programs-based-on-file-ass.patch.error.log
wine-staging 9.11 fixed 0001-shell32-iconcache-Generate-icons-from-available-icons-.patch with https://github.com/wine-staging/wine-staging/commit/03c0de0368fd54f1b1c61731... but introduced another failure with 0001-cmd-Support-for-launching-programs-based-on-file-ass.patch
After removing those two wine-staging 9.11 builds fine:
rm ../wine-staging-9.10/patches/Compiler_Warnings/0001-include-Check-element-type-in-CONTAINING_RECORD-and-.patch rm ../wine-staging-9.11/patches/cmd-launch-association/0001-cmd-Support-for-launching-programs-based-on-file-ass.patch
Build log with the new failure for 0001-cmd-Support-for-launching-programs-based-on-file-ass.patch attached.
https://bugs.winehq.org/show_bug.cgi?id=56776
Timo Gurr timo.gurr@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|9.10 |9.11
https://bugs.winehq.org/show_bug.cgi?id=56776
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|9.11 |9.10
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- Please don't change the version, it's only the version it's first reported at.