Attn Packagers: Dependency change from gstreamer-0.10 to gstreamer >= 1.0
Hi all, The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer. winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work. Thanks, Andrew
Hi Andrew, when I compile latest git Wine as 32bit on my Fedora 23 (x86_64 arch), I get gstreamer configure error ("checking whether gint64 defined by gst/gst.h is indeed 64-bit: no"), and gstreamer gets disabled by auto configuration. I can solve the problem (gstreamer gets configured and compiled) if I specify gstreamer include dirs manually: GSTREAMER_CFLAGS='-pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include' With automated settings gstreamer includes are set up as following (please mind lib64 instead of lib): -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib64/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include Wine64 gets gstreamer configured and built just fine by default. Is it some auto configuration bug? Thanks, Paul. On 01/15/2016 08:04 PM, Andrew Eikum wrote:
Hi all,
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer.
winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work.
Thanks, Andrew
The problem here is glib and gstreamer have different header files for 32- and 64-bit, but pkgconfig doesn't have a mechanism to specify which you should get. In your setup, it is returning the 64-bit headers, which are wrong for our 32-bit build. You need to specify something like "PKG_CONFIG_PATH=/usr/lib32/pkgconfig" before running configure. On my Arch Linux machine: [aeikum(a)aeikum ~]$ pkg-config --cflags gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include [aeikum(a)aeikum ~]$ PKG_CONFIG_PATH=/usr/lib32/pkgconfig pkg-config --cflags gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib32/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib32/glib-2.0/include Andrew On Fri, Jan 15, 2016 at 09:46:14PM +0300, Paul Gofman wrote:
Hi Andrew,
when I compile latest git Wine as 32bit on my Fedora 23 (x86_64 arch), I get gstreamer configure error ("checking whether gint64 defined by gst/gst.h is indeed 64-bit: no"), and gstreamer gets disabled by auto configuration. I can solve the problem (gstreamer gets configured and compiled) if I specify gstreamer include dirs manually: GSTREAMER_CFLAGS='-pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include'
With automated settings gstreamer includes are set up as following (please mind lib64 instead of lib): -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib64/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
Wine64 gets gstreamer configured and built just fine by default.
Is it some auto configuration bug?
Thanks, Paul.
On 01/15/2016 08:04 PM, Andrew Eikum wrote:
Hi all,
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer.
winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work.
Thanks, Andrew
Thank you for the hint. Setting PKG_CONFIG_PATH=/usr/lib/pkgconfig before ./configure works for me. On 01/15/2016 10:12 PM, Andrew Eikum wrote:
The problem here is glib and gstreamer have different header files for 32- and 64-bit, but pkgconfig doesn't have a mechanism to specify which you should get. In your setup, it is returning the 64-bit headers, which are wrong for our 32-bit build.
You need to specify something like "PKG_CONFIG_PATH=/usr/lib32/pkgconfig" before running configure. On my Arch Linux machine:
[aeikum(a)aeikum ~]$ pkg-config --cflags gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
[aeikum(a)aeikum ~]$ PKG_CONFIG_PATH=/usr/lib32/pkgconfig pkg-config --cflags gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib32/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib32/glib-2.0/include
Andrew
On Fri, Jan 15, 2016 at 09:46:14PM +0300, Paul Gofman wrote:
Hi Andrew,
when I compile latest git Wine as 32bit on my Fedora 23 (x86_64 arch), I get gstreamer configure error ("checking whether gint64 defined by gst/gst.h is indeed 64-bit: no"), and gstreamer gets disabled by auto configuration. I can solve the problem (gstreamer gets configured and compiled) if I specify gstreamer include dirs manually: GSTREAMER_CFLAGS='-pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include'
With automated settings gstreamer includes are set up as following (please mind lib64 instead of lib): -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib64/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
Wine64 gets gstreamer configured and built just fine by default.
Is it some auto configuration bug?
Thanks, Paul.
On 01/15/2016 08:04 PM, Andrew Eikum wrote:
Hi all,
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer.
winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work.
Thanks, Andrew
Great. I can't think of any way we can work around this, unfortunately. Maybe we should print a suggestion to check their pkg-config settings or something if that check fails. Andrew On Fri, Jan 15, 2016 at 10:26:07PM +0300, Paul Gofman wrote:
Thank you for the hint. Setting PKG_CONFIG_PATH=/usr/lib/pkgconfig before ./configure works for me.
On 01/15/2016 10:12 PM, Andrew Eikum wrote:
The problem here is glib and gstreamer have different header files for 32- and 64-bit, but pkgconfig doesn't have a mechanism to specify which you should get. In your setup, it is returning the 64-bit headers, which are wrong for our 32-bit build.
You need to specify something like "PKG_CONFIG_PATH=/usr/lib32/pkgconfig" before running configure. On my Arch Linux machine:
[aeikum(a)aeikum ~]$ pkg-config --cflags gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
[aeikum(a)aeikum ~]$ PKG_CONFIG_PATH=/usr/lib32/pkgconfig pkg-config --cflags gstreamer-1.0 -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib32/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib32/glib-2.0/include
Andrew
On Fri, Jan 15, 2016 at 09:46:14PM +0300, Paul Gofman wrote:
Hi Andrew,
when I compile latest git Wine as 32bit on my Fedora 23 (x86_64 arch), I get gstreamer configure error ("checking whether gint64 defined by gst/gst.h is indeed 64-bit: no"), and gstreamer gets disabled by auto configuration. I can solve the problem (gstreamer gets configured and compiled) if I specify gstreamer include dirs manually: GSTREAMER_CFLAGS='-pthread -I/usr/include/gstreamer-1.0 -I/usr/lib/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include'
With automated settings gstreamer includes are set up as following (please mind lib64 instead of lib): -pthread -I/usr/include/gstreamer-1.0 -I/usr/lib64/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
Wine64 gets gstreamer configured and built just fine by default.
Is it some auto configuration bug?
Thanks, Paul.
On 01/15/2016 08:04 PM, Andrew Eikum wrote:
Hi all,
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer.
winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work.
Thanks, Andrew
Am 15.01.2016 um 18:04 schrieb Andrew Eikum:
Hi all,
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer.
winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work.
Nice, will this be ported back to stable?
On 01/15/2016 08:40 PM, André Hentschel wrote:
Am 15.01.2016 um 18:04 schrieb Andrew Eikum:
Hi all,
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. dshow is used by some games and applications, including Microsoft Office, to display videos and play audio. Wine's winegstreamer allows applications that use dshow to support a wide variety of media through gstreamer.
winegstreamer has been broken for a long time (see Bug 30557), and many distros disable the DLL when shipping Wine. If your distro provides 32-bit gstreamer libraries, then you can now re-enable winegstreamer and expect it to work.
Nice, will this be ported back to stable? It depends if there is an interest from distributions. Anyway it isn't 1.8.1 material so it would get in earliest in 1.8.2.
bye michael
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi Andrew, Am 2016-01-15 um 17:04 schrieb Andrew Eikum:
The next release of Wine will include a commit which changes our winegstreamer dshow module to use the modern gstreamer 1.0 API instead of the long-deprecated gstreamer 0.10 API. I'm getting a differnet kind of build failure on both 32 and 64 bit on Gentoo:
$ ../../src/wine/configure --enable-win64 configure: WARNING: gst/gstpad.h: present but cannot be compiled configure: WARNING: gst/gstpad.h: check for missing prerequisite headers? configure: WARNING: gst/gstpad.h: see the Autoconf documentation configure: WARNING: gst/gstpad.h: section "Present But Cannot Be Compiled" configure: WARNING: gst/gstpad.h: proceeding with the compiler's result configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to wine-devel(a)winehq.org ## configure: WARNING: ## ------------------------------------ ## configure:12620: gcc -c -g -O2 -I/usr/include/gstreamer-1.0 - -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include conftest.c >&5 In file included from conftest.c:220:0: /usr/include/gstreamer-1.0/gst/gstpad.h:64:7: error: unknown type name 'gchar' const gchar * gst_pad_mode_get_name (GstPadMode mode); Similarly on 32 bit: $ PKG_CONFIG_PATH="/usr/lib32/pkgconfig" ../../src/wine/configure - --with-wine64=../_wine64/ checking gst/gstpad.h usability... no checking gst/gstpad.h presence... yes configure: WARNING: gst/gstpad.h: present but cannot be compiled configure: WARNING: gst/gstpad.h: check for missing prerequisite headers? configure: WARNING: gst/gstpad.h: see the Autoconf documentation configure: WARNING: gst/gstpad.h: section "Present But Cannot Be Compiled" configure: WARNING: gst/gstpad.h: proceeding with the compiler's result configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to wine-devel(a)winehq.org ## configure: WARNING: ## ------------------------------------ ## In file included from conftest.c:219:0: /usr/include/gstreamer-1.0/gst/gstpad.h:64:7: error: unknown type name 'gchar' const gchar * gst_pad_mode_get_name (GstPadMode mode); -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWmiSsAAoJEN0/YqbEcdMwmhcQAJWJyYIe+EcRABaCwBKZE+nl iKlS8xAOpURJiI4/a8Qtf1fAGl9d6NW/6IJCiymyCVSNiDLloU69f6M89hfe7i/8 z6j/Y+L7V7ggBiW0yDisYV7ZpsNROk6ci0lv0ArJ7qaZFwyT43aSFMEZ4c2JkPex gFueAnZodep1kd4iRtFNFWcKaCKTFd9V+WbHolDahxl/EGuXnHRJLpCPiu5ZIZjv NmD9SwlTEnImhGyd66M6R8UjxGFTTpg99nfCwKJTDbQh36nKFro1iSU1pM5Q2oaP uO14fVyPc4GB9NTKiJ9P6dZZpwWgX5GbWKcdhxvL+AqrlysgqmQ/eWNkqo4ZcSzp kruRkWbFCWzDIItljBWonV7p4yBhlxb1D1/181a9ceNXOd2vDS51kjCBS4AtEgiC j1z4L+XfozZZheCLyAFk2DGN4UhM3haZi6DkD1NPIgGkq4/O4h+S9XXliiUGU99+ N+FVssKCbdtGkgJO05DOwivA3SHqZehCeK7P8RvyGH7B4gnh566F12EwHHITIafi D72KROawPSWQ9gjYxDPUBT2f49c2e6vtdf/fQjTlEbEBSJJJEoXfcIiI8SKCRo61 BeICoFc5FtsbcJPeCk7O6fGqPVzZomSHkcTi8C/WiM1P2QFFRUxAs1BB6CmP1Qrx h0d+vu2QMaTZ0e08OkD9 =VbjZ -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Am 2016-01-16 um 11:08 schrieb Stefan Dösinger:
/usr/include/gstreamer-1.0/gst/gstpad.h:64:7: error: unknown type name 'gchar' http://lists.freedesktop.org/archives/gstreamer-commits/2015-August/0888 91.html probably. I guess Gentoo needs to update. It used to be a fairly up to date distro once upon a time... -----BEGIN PGP SIGNATURE----- Version: GnuPG v2
iQIcBAEBCAAGBQJWmir8AAoJEN0/YqbEcdMwzSIP/2vyZYzVJUqu0BQINjngCr6o 0uxZlTbgpVRiuY9xrSAwVv3bq6I2RLbGmsO/tSRj1U5yn+tVLQLYU7gaAN1E+TS0 QRJ17tno77cVAJcggYhiEQVB8hpYvS0DT6ydp980T/HEjs1GQCWuFmJxEadgEE22 RAUOYucTC6eKEYKU7GqgKQ7AnjisPNiuxK2DLu8PHIynWnfgTF3Tv7tEis+qtzpz 2MJTNOnGgf4b9/9TOOu9SZuzZcPp3BHW7qcwgTa/iVhvV7078AxyjmfDCcJj0nR5 hXOiaew9qfe8NmrjBfozN5DQb26M5kDpTAxCLyMmZ8j8Zt2JQS1jZ/jfNcDLAkdx CGv8++1Oqv3oihl5n4lc/iHTzZrKKpo0+0+K8YbxNqT2TSqd8gsCNgMW9671eNpr nIZfHU4O4BH9Iv+FyWwZDNk9s7nKw3PvswhxQOk3z2HmG08/LCOn26Ekkqw7eZaj OfIrhmh6teHlr8uwGG6O6xzQQyyFN2fBHAuOC3HWgUFlpyAz3aqYQxElQrFtvpcy eVi32rZpKSiBNNPqLies2T3MAE5FmtG8nsryzODV6o97Qscnv+uB5fb9MlqnFMaK IUkhwRp5oZefFzCwIyCfoQF627t7QIOJsQphFe8S4shgxhFAncr+OA3BLmelVtJ6 yH8Pc3sLvYElYNVA5XkO =wWSH -----END PGP SIGNATURE-----
On Sat, Jan 16, 2016 at 11:35:24AM +0000, Stefan Dösinger wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2016-01-16 um 11:08 schrieb Stefan Dösinger:
/usr/include/gstreamer-1.0/gst/gstpad.h:64:7: error: unknown type name 'gchar' http://lists.freedesktop.org/archives/gstreamer-commits/2015-August/0888 91.html probably. I guess Gentoo needs to update. It used to be a fairly up to date distro once upon a time...
Is this a distro problem, then? Anything we should change in Wine? Andrew
Am 18.01.2016 um 18:49 schrieb Andrew Eikum <aeikum(a)codeweavers.com>:
On Sat, Jan 16, 2016 at 11:35:24AM +0000, Stefan Dösinger wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2016-01-16 um 11:08 schrieb Stefan Dösinger:
/usr/include/gstreamer-1.0/gst/gstpad.h:64:7: error: unknown type name 'gchar' http://lists.freedesktop.org/archives/gstreamer-commits/2015-August/0888 91.html probably. I guess Gentoo needs to update. It used to be a fairly up to date distro once upon a time...
Is this a distro problem, then? Anything we should change in Wine? I'd say so. I'll check for unstable gstreamer packages and see if they fix this next weekend. I don't see anything that you can or should change in Wine to fix this.
2016-01-20 0:24 GMT+01:00 Stefan Dösinger <stefandoesinger(a)gmail.com>:
Am 18.01.2016 um 18:49 schrieb Andrew Eikum <aeikum(a)codeweavers.com>:
On Sat, Jan 16, 2016 at 11:35:24AM +0000, Stefan Dösinger wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2016-01-16 um 11:08 schrieb Stefan Dösinger:
/usr/include/gstreamer-1.0/gst/gstpad.h:64:7: error: unknown type name 'gchar' http://lists.freedesktop.org/archives/gstreamer-commits/2015-August/0888 91.html probably. I guess Gentoo needs to update. It used to be a fairly up to date distro once upon a time...
Is this a distro problem, then? Anything we should change in Wine? I'd say so. I'll check for unstable gstreamer packages and see if they fix this next weekend. I don't see anything that you can or should change in Wine to fix this.
I'm late on this but in case it still helps someone, cfb88194f260b7ada7cc55d216ed2fd8f970cc46 (included in Wine 1.9.2) fixed it for me.
participants (6)
-
Andrew Eikum -
André Hentschel -
Matteo Bruni -
Michael Stefaniuc -
Paul Gofman -
Stefan Dösinger