When running a binary, I get the following error:
dyld: Library not loaded: /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstsdp-1.0.0.dylib Referenced from: /Users/hiphipjorge/Downloads/gstwebrtc-demos-master/sendrecv/gst/./webrtc-sendrecv Reason: Incompatible library version: webrtc-sendrecv requires version 1603.0.0 or later, but libgstsdp-1.0.0.dylib provides version 205.0.0Abort trap: 6
When I run otool
, I can confirm that that 205.0.0
is the version I expected to have.
$ otool -L /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstsdp-1.0.0.dylib/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstsdp-1.0.0.dylib: /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstsdp-1.0.0.dylib (compatibility version 205.0.0, current version 205.0.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstreamer-1.0.0.dylib (compatibility version 205.0.0, current version 205.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgio-2.0.0.dylib (compatibility version 3801.0.0, current version 3801.2.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgmodule-2.0.0.dylib (compatibility version 3801.0.0, current version 3801.2.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libz.1.2.8.dylib (compatibility version 1.0.0, current version 1.2.8) /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgobject-2.0.0.dylib (compatibility version 3801.0.0, current version 3801.2.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libffi.6.dylib (compatibility version 7.0.0, current version 7.1.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libglib-2.0.0.dylib (compatibility version 3801.0.0, current version 3801.2.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.2.0) /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
But I don't really understand where the required version 1603.0.0
in the binary came from. How can I find that out?
The binary was compiled using the following Makefile
:
CC := gccLIBS := $(shell pkg-config --libs --cflags glib-2.0 gstreamer-1.0 gstreamer-sdp-1.0 gstreamer-webrtc-1.0 json-glib-1.0 libsoup-2.4)CFLAGS := -O0 -ggdb -Wall -fno-omit-frame-pointer \ $(shell pkg-config --cflags glib-2.0 gstreamer-1.0 gstreamer-sdp-1.0 gstreamer-webrtc-1.0 json-glib-1.0 libsoup-2.4)webrtc-sendrecv: webrtc-sendrecv.c"$(CC)" $(CFLAGS) $^ $(LIBS) -o $@