I have a computer that runs Debian Stretch which has Gstreamer 1.0 installed. I am trying to run a Processing sketch that uses the Processing video library which in turn relies on Gstreamer 0.10. This produces a runtime error because they removed a symbol gst_object_sink.

It seems a PITA to try to rebuild the Processing video library with different Java bindings for Gstreamer 1.0.

Thus the question: Is it possible to install on the same system a second version (0.10) of Gstreamer?

The problem seems to be that libgstreamer0.10-0 appears in Wheezy, Jessie, SID, but not Stretch/Testing.... Why would that be, and how to fix it?

  • Debian is switching to GStreamer 1.0 and has therefore already GStreamer 0.10 removed from Debian Stretch/Testing. See bugs.debian.org/cgi-bin/bugreport.cgi?bug=802812 . It will also be removed from Sid/Unstable as soon as all programs are update to the new GStreamer release. – jofel Apr 18 '16 at 13:59

It is perfectly possible to install multiple versions of a library in Debian. Pinning is the way to go. In this case I decided to obtain libgstreamer0.10 from Debian Unstable (running Debian Testing myself).

Create the file /etc/apt/sources.list.d/unstable.list with contents:

deb http://ftp.nl.debian.org/debian/ unstable main
deb-src http://ftp.nl.debian.org/debian/ unstable main

Then, create /etc/apt/preferences.d/unstable with contents:

Package: *
Pin: release a=unstable
Pin-Priority: 200

Now run apt-get update. To check if everything went ok, type apt-cache policy libgstreamer0.10-0. It should report something like:

  Installed: (none)
  Candidate: 0.10.36-1.5
  Version table:
     0.10.36-1.5 50
        200 http://ftp.nl.debian.org/debian unstable/main amd64 Packages
        100 /var/lib/dpkg/status

Note that this adds all packages from unstable with a lower priority. It is also possible to single out one or a few packages. See the documentation on pinning for more details.

PS For me the reason to do this was solving an RStudio dependency on libgstreamer-0.10: "rstudio: error while loading shared libraries: libgstreamer-0.10.so.0: cannot open shared object file: No such file or directory" (added these details so others may find this after a search).

PPS The link given by @jofel (partly) answers the why part of your question.

  • Thanks. So if 200 is a lower priority, what is the "default" priority of my stable system? – 0__ Apr 27 '16 at 10:40
  • 1
    That would be 500. You can check with any installed package, e.g. apt-cache policy tasksel. – Victor Klos Apr 27 '16 at 11:21

I managed to get processing-video 2.2.1 to work, installing the corresponding Debian Jessie .deb files downloaded via https://pkgs.org:

  • gstreamer-0.10-gconf
  • gstreamer-0.10-plugins-base
  • libgstreamer0.10-0
  • libgstreamer-plugins-base0.10-0

Installing each via dpkg -i. Others such as 'plugins-good' have unsatisfied dependencies, but were not needed in my case.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.