Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qtmultimedia broken on darwin by gstreamer update #39289

Closed
mpickering opened this issue Apr 20, 2018 · 13 comments
Closed

qtmultimedia broken on darwin by gstreamer update #39289

mpickering opened this issue Apr 20, 2018 · 13 comments
Labels
6.topic: darwin Running or building packages on Darwin

Comments

@mpickering
Copy link
Contributor

Issue description

In #38149 @bkchr updated all the gstreamer plugins but they no longer build on darwin. This causes
a lot of Qt packages to fail because gstreamer is a dependency of qtmultimedia.

They fail to build because of added dependencies such as wayland and libcap which are not available on darwin.

Please can we revert these patches until this issue is fixed?

Related: #36932

cc @LnL7

@matthewbauer
Copy link
Member

matthewbauer commented Apr 21, 2018

In general, I think we don't want to revert things on unstable just because things break. We call it unstable because we expect things on it to break. The nixpkgs-18.03-darwin channel has a working qt.qtmultimedia (sadly qt.qtwebengine is still broken and we should definitely cherry-pick a fix if we can find a reliable one). I definitely agree it should be a high priority to fix and hopefully someone can look into it. But if we don't let things break no one will ever fix them.

@bkchr
Copy link
Contributor

bkchr commented Apr 21, 2018

Ohh, I will try to prepare a patch that disables these dependencies on Mac.

@LnL7
Copy link
Member

LnL7 commented Apr 21, 2018

@bkchr I'm not sure if that will be enough, the gst plugin builds look pretty broken with meson.

https://github.com/LnL7/nixpkgs/commits/darwin-gstreamer

In file included from ../gst-libs/gst/gl/gstglcontext.c:60:
../gst-libs/gst/gl/x11/gstglcontext_glx.h:26:10: fatal error: 'GL/glx.h' file not found
#include <GL/glx.h>
         ^~~~~~~~~~
49 warnings and 1 error generated.
[203/618] Generating GstSdp-1.0.typelib with a custom command.
[204/618] Compiling C object 'gst-libs/gst/gl/gstgl-1.0@sha/gstglsl.c.o'.
In file included from ../gst-libs/gst/gl/gstglsl.c:28:
In file included from ../gst-libs/gst/gl/gstglsl_private.h:25:
In file included from ../gst-libs/gst/gl/gstglfuncs.h:59:
...
[205/618] Generating GstRtsp-1.0.gir with a custom command.
Package gstreamer-sdp-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-sdp-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-sdp-1.0' found
g-ir-scanner: link: clang -o /private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/tmp-introspect43lSKQ/GstRtsp-1.0 /private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/tmp-introspect43lSKQ/GstRtsp-1.0.o -L. -Wl,-rpath,. -lgstrtsp-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lgio-2.0 -lm -lgstsdp-1.0 -lgstbase-1.0 -lorc-0.4 -lgstrtp-1.0 -lgstaudio-1.0 -lgsttag-1.0 -L/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/rtsp -Wl,-rpath,/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/rtsp -L/nix/store/7cb7305cliycr62pkcc8yzpjl50jncad-glib-2.56.0/lib -Wl,-rpath,/nix/store/7cb7305cliycr62pkcc8yzpjl50jncad-glib-2.56.0/lib -L/nix/store/v2q9hs1l47904p44xqv5fhii7rzpnxy5-gstreamer-1.14.0/lib -Wl,-rpath,/nix/store/v2q9hs1l47904p44xqv5fhii7rzpnxy5-gstreamer-1.14.0/lib -L/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/sdp -Wl,-rpath,/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/sdp -L/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/rtp -Wl,-rpath,/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/rtp -L/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/audio -Wl,-rpath,/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/audio -L/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/tag -Wl,-rpath,/private/tmp/nix-build-gst-plugins-base-1.14.0.drv-0/gst-plugins-base-1.14.0/build/gst-libs/gst/tag -L/nix/store/64zw9v6zankf1c9glhzhsgp4cr5gnnk5-orc-0.4.28/lib -Wl,-rpath,/nix/store/64zw9v6zankf1c9glhzhsgp4cr5gnnk5-orc-0.4.28/lib -L/nix/store/7cb7305cliycr62pkcc8yzpjl50jncad-glib-2.56.0/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0

@LnL7 LnL7 added the 6.topic: darwin Running or building packages on Darwin label Apr 21, 2018
@bkchr
Copy link
Contributor

bkchr commented Apr 21, 2018

@LnL7 https://bugzilla.gnome.org/show_bug.cgi?id=781148 I think you are right. Maybe we need to disable meson on Mac OS.

@mpickering
Copy link
Contributor Author

I think reverting is a good option still because this breaks a lot of packages, there is no clear fix and the patch wasn't tested at all by OfBorg when being reviewed.

@bkchr
Copy link
Contributor

bkchr commented Apr 22, 2018

I would rather stick to autoconf on Mac, but not revert all the patches.

@jwiegley
Copy link
Contributor

jwiegley commented Apr 23, 2018

I agree with reverting too. It's one thing to say that it's OK if unstable breaks because it's unstable, as long as it's a breakage that can be fixed fairly readily. Leaving it broken is not the definition of unstable, so I think in cases like, reverting is actually the "fix" for right now.

@matthewbauer
Copy link
Member

Ok got gstreamer and gst-plugins-base working. qtmultimedia is currently building.

@LnL7
Copy link
Member

LnL7 commented Apr 23, 2018

I don't like conditionalizing builds like that for no good reason, but I guess if @matthewbauer already got it working we should just use it.

@matthewbauer
Copy link
Member

I don't like conditionalizing builds like that for no good reason

Oops! I didn't realize that. There is kind of a good reason in this case though. Not all of the plugins are necessary and most likely unused downstream. Cdparanoia and Xlib plugins were probably never used by Darwin apps anyway (see https://github.com/GStreamer/gst-plugins-base/blob/6a3640f36739c9869beaf05e83136e44492023e3/REQUIREMENTS).

Feel free to modify it though.

@mpickering
Copy link
Contributor Author

Where is your patch @matthewbauer ?

Thanks for trying to fix this.

@matthewbauer
Copy link
Member

The commit is 49d97c3. Still looking into qtwebengine.

@LnL7
Copy link
Member

LnL7 commented Apr 23, 2018

@matthewbauer qtwebengine is not a new failure, check if it also works on 18.03 if you manage to fix it. I think I skipped over it with the ZHF review and forgot about it.

Thanks for all the work you've been doing recently!

@Twey Twey mentioned this issue May 2, 2018
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin
Projects
None yet
Development

No branches or pull requests

5 participants