RStudio installation failure under Debian sid: libgstreamer dependency problems

后端 未结 4 1657
梦毁少年i
梦毁少年i 2021-02-04 10:21

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 cours

4条回答
  •  迷失自我
    2021-02-04 10:46

    RStudio 1.0.153, released on July 20th 2017, depends on GStreamer 1.0 instead of GStreamer 0.10. It can be installed on modern Debian/Ubuntu without any additional setup, rendering this question and my answer obsolete.

    To be more specific, there are two different DEB packages. One is aimed at Ubuntu 16.04 (or later) and Debian 9 (or later), comes only in 64-bit flavor and depends on newer GStreamer 1.0. Another package supports Ubuntu from 12.04 up to 15.10 and Debian 8 and it comes in both 32-bit and 64-bit flavors. This one still depends on older GStreamer 0.10.

    Original answer remains below.


    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 http://httpredir.debian.org/debian 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?

    No.

    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.

提交回复
热议问题