Search code examples
rustgstreamergstreamer-rs

gstreamer-rust library libgobject-2.0.0.dylib not loaded


Trying to run the tutorials of gstreamer-rs

getting the error

dyld[62967]: Library not loaded:... @rpath/libgobject-2.0.0.dylib '/usr/lib/libgobject-2.0.0.dylib' (no such file, not in dyld cache)

libgobject-2.0.dylib is part of /Library/Frameworks/GStreamer.framework/Versions/1.0/lib

Cargo.toml

[package]
name = "gstreamerDemo"
version = "0.1.0"
edition = "2021"

[dependencies]
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gdk = { git = "https://github.com/gtk-rs/gtk3-rs", optional = true }
gtk = { git = "https://github.com/gtk-rs/gtk3-rs", optional = true }

gst = { version = "0.20.2", package = "gstreamer" }

[target.'cfg(target_os = "macos")'.dependencies]
cocoa = "0.24"
objc = "0.2.7"

code (minimal)

#[path = "../common.rs"]
mod tutorials_common;

fn tutorial_main() {
    // Initialize GStreamer
    gst::init().unwrap();
    ...
}

Solution

  • adding a symbolic link to the files under /Library/Frameworks/GStreamer.framework/Versions/1.0/lib did the trick like:

    sudo ln -s /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/*.dylib /usr/local/lib/
    

    I do prefer a better solution like dynamic linkage, If anyone can post a working example, I will accept that as a solution