Как установить rgdal на Ubuntu 12.10?

16

Я изо всех сил пытаюсь установить rgdalбиблиотеку на Ubuntu 12.10.

Установка изнутри R приводит к ошибке:

Ошибка: gdal-config не найден. Сценарий gdal-config, распространяемый с GDAL, не найден. Если вы не установили библиотеки GDAL, вы можете загрузить исходный код с http://www.gdal.org/. Если вы установили библиотеки GDAL, убедитесь, что gdal-config находится на вашем пути. Попробуйте набрать gdal-config в командной строке и посмотрите, работает ли он. Если нет, используйте: --configure-args = '- with-gdal-config = / usr / local / bin / gdal-config' с соответствующими значениями для вашей установки.

ОШИБКА: сбой конфигурации для пакета 'rgdal' * удаление '/home/rdk/R/x86_64-pc-linux-gnu-library/2.15/rgdal' Предупреждение в install.packages: установка пакета 'rgdal' имела ненулевой выход положение дел

R-sig-Geo , эти два вопроса SE и другие сайты указали мне на требования libgdal1-dev.

Но когда я пытался

sudo apt-get установить libgdal1-dev

Я получаю еще одно сообщение об ошибке

Некоторые пакеты не могут быть установлены. Это может означать, что вы запросили невозможную ситуацию, или если вы используете нестабильный дистрибутив, что некоторые необходимые пакеты еще не созданы или не были удалены из Incoming. Следующая информация может помочь разрешить ситуацию:

Следующие пакеты имеют неудовлетворенные зависимости: libgdal1-dev: Зависит от: libgdal-dev, но он не будет установлен. E: Невозможно исправить проблемы, у вас есть поврежденные пакеты.

Снова - когда я пытаюсь установить libgdal-devдругую ошибку зависимостей, появляется

Следующие пакеты имеют неудовлетворенные зависимости: libgdal-dev: Зависит от: libgeos-dev, но он не будет установлен Зависит от: libspatialite-dev, но он не будет установлен

Снова пытаясь libgeos-devвыдает сообщение:

Depends: libgeos-c1 (= 3.3.3-1.1) but 3.3.3-2~precise2 is to be installed
E: Unable to correct problems, you have held broken packages.

и libspatialite-dev:

Depends: libspatialite3 (= 3.1.0~rc2-1ubuntu1) but
3.1.0~rc2-2~precise1 is to be installed

Есть ли способ укротить эти зависимости и rgdalзапустить в Ubuntu?

мой sessionInfo()

Версия R 2.15.1 (2012-06-22) Платформа: x86_64-pc-linux-gnu (64-разрядная версия)

Радек
источник
1
В Ubuntu 12.04 установка libgdal-dev и libgdal1-dev работала нормально - возможно, это из-за того, что Quantal (12.10) является довольно новым, и разработчики пакетов еще не обновили правильные версии? (На самом деле, почему он говорит, что собирается установить, 3.3.3-2~precise2когда вы находитесь на количественном?)
математика.coffee
1
@ математический. Кофе - это правильно. Я делал это на QQbeta2 несколько недель назад, но не помню, как. Попробуйте установить репозиторий CRAN в /etc/apt/sources.list preciseвместо quantal.
Ари Б. Фридман
2
Вы смотрели, можете ли вы получить r-cran-rgdal через PPA Майкла?
Дирк Эддельбюттель
математический кофе: возможно, слишком рано. Ари: Я обновил репо CRAN - спасибо за совет. Дирк: простите за мое невежество - мы говорим о launchpad.net/~marutter/+archive/c2d4u
radek
@radek, учитывая приведенный ниже ответ Джоша О'Брайена на 14.04, возможно, стоит отредактировать ваш вопрос, чтобы сделать его более общим для других выпусков Ubuntu. Я думаю, что было бы полезно иметь канонический вопрос для этого.
AMC

Ответы:

24

Более свежий ответ можно найти здесь: http://robinlovelace.net/r/2013/11/26/install-rgdal-on-ubuntu.html .

По сути, три следующие строки кода должны отсортировать его:

sudo apt-get install aptitude # install aptitude as an alternative to apt-get
sudo aptitude install libgdal-dev # install the package (you may have to respond to queries here)
sudo aptitude install libproj-dev # install the proj.4 projection library

Потратил много времени на эту проблему, поэтому надеюсь, что этот обновленный ответ будет полезен для других. Дайте мне знать, если так!

RobinLovelace
источник
У меня была проблема с rgdalеще разом ... и наткнулся на мой собственный вопрос здесь. На этот раз ваше решение решило проблему.
Радек
Это является полезным. Большое спасибо за то, что нашли время записать эти шаги.
Джош О'Брайен
1
sudo apt-get install r-cran-rgdal # эта команда также делает это и автоматически устанавливает зависимости
RobinLovelace
13

Попробуйте запустить их все вместе и указать версии, например так:

sudo apt-get install libgdal1-dev libgdal-dev libgeos-c1=3.3.3-1.1 libspatialite3=3.1.0~rc2-1ubuntu1

apt-get не любит понижать версию пакетов, но будет, если вы укажете это.

Rucent88
источник
Спасибо - это, похоже, помогло. Будут ли будущие обновления вызывать конфликт с таким решением?
Радек
2
Да, они могут вызвать проблемы при обновлении. Чтобы предотвратить обновление пакета, запустите его для каждого пакета:echo packagename hold | sudo dpkg --set-selections
Rucent88
4

Здесь, в январе 2016 года, в Ubuntu 14.04.2 (и с R 3.2.2) мне потребовалось следующее, чтобы установить и rgdal, и дополнительный (и часто очень полезный) пакет gdalUtils :

sudo apt-get update
sudo apt-get -y install libgdal1h
sudo apt-get -y install libgdal1-dev
sudo apt-get install libproj-dev
sudo apt-get install gdal-bin
Rscript 'install.packages(c("rgdal", "gdalUtils"))'

Обновление: Как и в январе 2017 года, версия libgdal - 1i, поэтому вторая строка кода должна выглядеть так:

sudo apt-get -y install libgdal1i
Джош О'Брайен
источник
3

Откройте терминал, нажав (Ctrl + alt + T) и введите следующую команду.

sudo apt-get update

sudo apt-get install -f

(Это исправит зависимости.)

sudo apt-get autoremove

(удаление ненужных пакетов)

sudo apt-get clean

(Очистить кэш)

Кетан Патель
источник
Благодарю. Я попробовал ваше решение (автоматическое удаление ничего не вышло) - к сожалению, это не помогло.
Radek
1
Он удаляет любой ненужный пакет, иногда становится важным удалить его, когда он есть в вашей системе.
Кетан Патель
3

Чтобы заставить rgdal установить на Ubuntu 12.04, мне пришлось установить (и удерживать) множество пакетов, зависящих от версии. В основном я пробовал каждый пакет и устанавливал необходимые версии зависимостей, пока не смог вернуться к исходной цели, чтобы установить libgdal1-dev

sudo apt-get install libspatialite3=3.0.0~beta20110817-3
echo libspatialite3 hold | sudo dpkg --set-selections
sudo apt-get install libspatialite-dev
sudo apt-get install libgeos-c1=3.3.3-1.1~pgdg12.4+1
echo libgeos-c1 hold | sudo dpkg --set-selections
sudo apt-get install libgdal1=1.9.0-3.1~pgdg12.4+1
echo libgdal1 hold | sudo dpkg --set-selections

sudo apt-get install libgdal-dev
sudo apt-get install libgdal1-dev
gdal-config # now works, and can now install rgdal
томы
источник