Ошибка установки RStudio в Debian sid: проблемы зависимости libgstreamer

Я использую Debian sid (amd64), обновляя обновления так часто, как еженедельно. Я недавно загрузил настольную версию 0.99.902 из RStudio со своего официального сайта и выпустил (конечно же, как root):

dpkg -i rstudio-0.99.902-amd64.deb

безрезультатно:

dpkg: проблемы с зависимостью предотвращают настройку rstudio:  rstudio зависит от libgstreamer0.10-0; Однако: Пакет libgstreamer0.10-0 не установлен.  rstudio зависит от libgstreamer-plugins-base0.10-0; Однако: Пакет libgstreamer-plugins-base0.10-0 не установлен.

В системе установлены более новые версии (1.0-0) из этих 2 пакетов, но те старые (0.10-0) больше не доступны в официальных репозиториях Debian.

Что нужно сделать, чтобы RStudio был установлен и полностью Debian sid? Я, конечно же, установил R debs, с официального Debian репозиториев, без каких-либо проблем...

Спасибо за любую помощь!

Ответ 1

RStudio 1.0.153, выпущенный 20 июля 2017 года, зависит от GStreamer 1.0 вместо GStreamer 0.10. Он может быть установлен на современный Debian/Ubuntu без какой-либо дополнительной настройки, что делает этот вопрос и мой ответ устаревшим.

Чтобы быть более конкретным, существуют два разных пакета DEB. Один из них нацелен на Ubuntu 16.04 (или более поздней версии) и Debian 9 (или более поздней версии), который поставляется только с 64-битным вкусом и зависит от нового GStreamer 1.0. Другой пакет поддерживает Ubuntu с 12.04 до 15.10 и Debian 8, и он поставляется как в 32-битных, так и в 64-битных вариантах. Это все еще зависит от старого GStreamer 0,10.

Оригинальный ответ остается ниже.


По состоянию на середину 2016 года RStudio имеет жесткую зависимость от GStreamer 0.10, и нет никакого способа обойти это. Вы должны установить libgstreamer0.10-0 и libgstreamer-plugins-base0.10-0 для использования RStudio.

Эти пакеты можно легко извлечь из Debian Jessie (стабильный). Просто добавьте репозиторий Jessie в свой источник .list и используйте apt-pinning, чтобы придать ему более низкий приоритет:

# /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

Затем выполните apt-get update и выполните apt-get install libgstreamer0.10-0 libgstreamer-plugins-base0.10-0.

Если вы случайно поставили файл RSTudio.deb в локальный репозиторий, используйте apt-get install rstudio, а GStreamer0.10 будет втянут зависимым преобразователем. Это имеет дополнительное преимущество, заключающееся в том, что эти библиотеки будут автоматически установлены - они будут автоматически удалены после того, как RStudio потеряет их как зависимость.

Но это нарушит мою систему?

Нет.

Разработчики Upstream разработали GStreamer0.10 и GStreamer1.0 как совместную установку и возможность запуска в одно и то же время (source). Фактически оба они были доступны в репозитории Debian, поскольку сентябрь 2012 г. до Апрель 2016 года.

В этой настройке пиннинга пакеты из репозитория Jessie будут втянуты только в том случае, если Jessie является единственным поставщиком запрошенного пакета. Нет никакого риска переписать любой пакет из неустойчивого с более старой версией из stable.

Почему RStudio зависит от устаревшей библиотеки?

Поскольку GStreamer0.10 - это новейшая версия, доступная как в Debian Jessie, так и в Ubuntu 12.04, два дистрибутива, которые они хотят поддерживать.

RStudio в конечном итоге придется обновить свою зависимость до GStreamer1.0, так как она постепенно станет единственной доступной версией. Я предполагаю, что это изменение может быть введено в spring 2017. Во-первых, поддержка Ubuntu 12.04 закончится в апреле. Rstudio, скорее всего, столкнется с базовым системным требованием до 14.04 - тот, который имеет как GStreamer0.10, так и 1.0. Во-вторых, ожидается, что в это время будет выпущено Debian Stretch, которое будет доступно только для GStreamer1.0.

Ответ 2

Я нашел Мирослава ответом, чтобы быть превосходным. Но с течением времени вам понадобится еще один пакет: libssl1.0.0, поэтому ваша настройка apt-get будет выглядеть так: apt-get install libgstreamer0.10-0 libgstreamer-plugins-base0.10-0 libssl1.0.0

Ответ 3

  • Загрузите libgstreamer0.10-0 для вашего устройства из любого из зеркал.
  • Откройте терминал в каталоге, где загружен файл.
  • Установите его с помощью команды sudo dpkg -i file.deb. Пример sudo dpkg -i libgstreamer0.10-0_0.10.36-1ubuntu1_amd64.deb.
  • Теперь откройте каталог, в котором находится rstudio.deb, и установите его таким же образом.