Mauricio Calvao Mauricio Calvao - 7 months ago 67
R Question

RStudio installation failure under Debian sid: libgstreamer dependency problems

I use Debian sid (amd64), rolling updates as often as weekly. I downloaded recently the desktop version 0.99.902 of RStudio from their offical site and issued (as root, of course):

dpkg -i rstudio-0.99.902-amd64.deb

to no avail:

dpkg: dependency problems prevent configuration of rstudio:
rstudio depends on libgstreamer0.10-0; however:
Package libgstreamer0.10-0 is not installed.
rstudio depends on libgstreamer-plugins-base0.10-0; however:
Package libgstreamer-plugins-base0.10-0 is not installed.

Newer versions (1.0-0) of these 2 packages are installed on the system, but those older ones (0.10-0) are not available anymore on the official Debian repos.

What should be done to have RStudio installed and fully operational under
Debian sid? I have, of course, installed R debs, from official Debian
repositories, without any issues...

Thanks for any help!


As of mid-2016, RStudio has hard dependency on GStreamer 0.10 and there is no way around it. You have to install libgstreamer0.10-0 and libgstreamer-plugins-base0.10-0 to use RStudio.

These packages can be easily pulled in from Debian Jessie (stable). Just add Jessie repository to your sources.list and use apt-pinning to give it lower priority:

# /etc/apt/sources.list:
deb jessie main
# /etc/apt/preferences.d/01_release:
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 600

Package: *
Pin: release o=Debian,n=jessie
Pin-Priority: 10

Then issue apt-get update and follow up with apt-get install libgstreamer0.10-0 libgstreamer-plugins-base0.10-0.

If you have happened to put RStudio .deb file into local repository, then use apt-get install rstudio and GStreamer0.10 will be pulled in by dependency resolver. This has additional advantage of marking these libraries as automatically installed - they will be subject to automatic removal once RStudio drop them as dependency.

But will that break my system?


Upstream developers designed GStreamer0.10 and GStreamer1.0 as co-installable and able to run at the same time (source). In fact, both were available in Debian repository since September 2012 up to April 2016.

In this pinning setup, packages from Jessie repository will be pulled in only when Jessie is the only provider of requested package. There is no risk of overwriting any package from unstable with older version from stable.

Why does RStudio depend on obsolete library?

Because GStreamer0.10 is the newest version available in both Debian Jessie and Ubuntu 12.04, two distributions they want to support.

RStudio will eventually have to upgrade their dependency to GStreamer1.0, as it will gradually become the only version available. I guess this change may be introduced in spring 2017. First, support for Ubuntu 12.04 will end in April. Rstudio is likely to bump base system requirement to 14.04 - one that has both GStreamer0.10 and 1.0. Second, Debian Stretch - that will have only GStreamer1.0 available - is expected to be released around that time.