https://bugs.winehq.org/show_bug.cgi?id=53977
Bug ID: 53977 Summary: amstream:amstream qedit:mediadet mf:transform mfmediaengine:mfmediaengine quartz:filtergraph winmm:mci wmp:media wmvcore:wmvcore mf:mf mfplay:mfplay qasf:asfreader broken on Debian Testing Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: quartz Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
amstream:amstream qedit:mediadet mf:transform mfmediaengine:mfmediaengine quartz:filtergraph winmm:mci wmp:media wmvcore:wmvcore mf:mf mfplay:mfplay qasf:asfreader all have failures on Debian Testing.
The exact failures are not really important, see the corresponding entries on the failure patterns page if more details are needed: https://test.winehq.org/data/patterns.html
What's important is that the detection of gst/gst.h now fails on Debian Testing, resulting in Wine being compiled without GStreamer support which is what broke all the tests above:
configure:17099: gstreamer-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 cflags: configure:17100: gstreamer-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 libs: configure:17103: checking for gst/gst.h configure:17103: gcc -m32 -c -g -O2 conftest.c >&5 conftest.c:174:10: fatal error: gst/gst.h: No such file or directory 174 | #include <gst/gst.h> | ^~~~~~~~~~~
And this all started with the commit below, which means this issue is related to bug 53953 but for Debian Testing instead of Fedora:
commit c7a97b5d5d56ef00a0061b75412c6e0e489fdc99 (HEAD, refs/bisect/bad) Author: Zebediah Figura zfigura@codeweavers.com Date: Thu Nov 17 19:32:39 2022 -0600
configure: Override PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH for 32-bit builds on 64-bit hosts.
This allows 32-bit packages to be found when the user has specified PKG_CONFIG_PATH for some other reason.
This also mirrors the way e.g. i686-linux-gnu-pkg-config is implemented on Debian, and possibly other distributions as well.
This also prevents 64-bit .pc files from being found. This was originally intended as a benefit [1], but can contribute to misdetection of headers which are not actually multiarch (e.g. GStreamer, although at the time that [1] was written that was a preƫxisting problem). In general a distribution which provides .pc files for one architecture should be expected to provide them for any architecture that it actually provides libraries for; even if that was not true of Debian in 2017, it is now. I moreover assert it is better to fail to find a present library than to incorrectly find the wrong one.
Note that we can't easily use i686-linux-gnu-pkg-config, as would otherwise be preferable, for reasons also described in [1].
[1] https://www.winehq.org/pipermail/wine-devel/2017-June/118002.html