GNOME Bugzilla – Bug 770988
GL plugin build calls g-ir-scanner with GL_CFLAGS but not the matching GL_LIBS.
Last modified: 2018-11-03 11:49:48 UTC
At: https://github.com/GStreamer/gst-plugins-bad/blob/9e06a750184c2973958ae1898ad2a92810064b85/gst-libs/gst/gl/Makefile.am#L167 $(GL_FLAGS) appears on the g-ir-scanner command line but $(GL_LIBS) does not. As a result it will fail to find the library even if you manage to get past https://bugzilla.gnome.org/show_bug.cgi?id=770987
Do you want to provide a patch for that? Sounds correct to add it (how does it even work for any of us without? I don't know)
It only fails if you need a -L argument for the compiler to find the GL libs. If they are in standard paths then gstgl will be linked to them, meaning that they'll pulled in indirectly - with all the autotools fun that brings. If however you need a -L then because of the other bug, everyone just puts it into global LIBS or LDFLAGS. But g-ir-scanner ignores those. But most people who need -L for this are cross compiling and don't even bother to try building G-I because they've been told it's so hard. (Turns out it is actually very easy for arm - install qemu with binfmt support for the target arch and make sure the sysroot is set up right and it "just works" except for this one plugin.)
I would have though the libtool archive we passed should've had them or doesn't g-i use that either?
It does use libtool, but libtool can't find the indirect libraries because of https://bugzilla.gnome.org/show_bug.cgi?id=770623. At least I think that is what is happening. There's so many moving parts...
Specifically https://bugzilla.gnome.org/show_bug.cgi?id=770623#c16
Ah, Hmm. Adding GL_LIBS to the scanner command line sounds fine then. Do you want to provide a patch?
I am happy to do a patch. However if you want to fix https://bugzilla.gnome.org/show_bug.cgi?id=770987 by using GST_GL_* instead of GL_* then I think those will have to be used here as well.
They are two separate changes. Here, EGL_CFLAGS/LIBS would be what pkg-config/user/guessing decided on, GST_GL_{CFLAGS,LIBS} and only GST_GL_* would be what is passed for compilation, linking, g-ir-scanner, etc for the libgstgl library.
However they do depend on each other depending on which one you do first.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/291.