Quantcast
Viewing all articles
Browse latest Browse all 22006

How do I determine the required version of a dynamic library?

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 $@

Viewing all articles
Browse latest Browse all 22006

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>