GNOME Bugzilla – Bug 796447
gstreamer mac os pkg installer have wrong library path
Last modified: 2018-08-08 19:27:55 UTC
I download the pkg installer in https://gstreamer.freedesktop.org/data/pkg/osx/1.14.1/ for runtime and devel pkg After installation, when trying to launch gst-launch-1.0, it report a image not found error: ```` $ /Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0 dyld: Library not loaded: /Users/matt/Projects/cerbero-1.14/build/dist/darwin_x86_64/lib/libgstreamer-1.0.0.dylib Referenced from: /Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0 Reason: image not found Abort trap: 6 ``` I have to set DYLD_FALLBACK_LIBRARY_PATH to /Library/Frameworks/GStreamer.framework/Libraries in order to run the tool Moreover, the *.pc files have also wrong path set: ``` $cat /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig/gstreamer-plugins-base-1.0.pc prefix=/Users/matt/Projects/cerbero-1.14/build/dist/darwin_x86_64 exec_prefix=${prefix} libdir=/Users/matt/Projects/cerbero-1.14/build/dist/darwin_x86_64/lib includedir=${prefix}/include/gstreamer-1.0 pluginsdir=/Users/matt/Projects/cerbero-1.14/build/dist/darwin_x86_64/lib/gstreamer-1.0 Name: GStreamer Base Plugins Libraries Description: Streaming media framework, base plugins libraries Requires: gstreamer-1.0 Version: 1.14.1 Libs: -L${libdir} Cflags: -I${includedir} ```
*** Bug 796536 has been marked as a duplicate of this bug. ***
How does this compare to 1.14.0 exactly? Could you give examples/side-by-side? It's unclear to me right now why it would be different or what changed. (Other than Users/matt vs. Users/jan).
Might be related to commit 64a76ad (cerbero) commit 64a76adc9aa6e12642255201cbca546015ffd7b2 Author: Sebastian Dröge <sebastian@centricular.com> Date: Tue Apr 24 18:04:08 2018 +0300 Fix generation of fat shared libraries on macOS We have to properly check which of the prefixes is a parent directory of our file, not via string comparisions. Otherwise "/foo/x86" and "/foo/x86_64" or both considered parents of "/foo/x86_64/bar" and which one is stripped from the path depends on the order. Thanks to Mathieu Duponchelle for the non-ugly generator-based function for doing this check.
1.14.0 and earlier has /Library/Frameworks in place of /Users/matt/... in the rpath. One of our users got same error reported here, and I did as well. Reverting to 1.14.0 fixed the issue. Could fix via install_named_tool posthoc or in the link step I imagine.
Is there a workaround for this? If not then I do hope it will be fixed in 1.14.2
my workaround is to use homebrew to install gstreamer instead of pkg file from gstreamer website
Turns out Matt used the wrong build command to roll the MacOS binaries. 1.14.2 will be fixed, and should be out this week we hope.
*** Bug 796750 has been marked as a duplicate of this bug. ***
*** Bug 796800 has been marked as a duplicate of this bug. ***
Is this fixed with the 1.14.2 binaries now?
(In reply to Tim-Philipp Müller from comment #10) > Is this fixed with the 1.14.2 binaries now? Yes
Great, thanks for confirming.