Як встановити 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 = '- з-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 install libgdal1-dev

Я закінчую ще одним повідомленням про помилку

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

Наступні пакети мають невиконані залежності: libgdal1-dev: Залежить: libgdal-dev, але він не встановлюється.

Знову - коли я намагаюся встановити 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-bit)


1
На Ubuntu 12.04 встановлення libgdal-dev & libgdal1-dev спрацювало чудово - можливо, це тому, що Quantal (12.10) є зовсім новим, а сервісні пакети ще не оновили правильні версії? (Насправді, чому це говорить, що він буде встановлений, 3.3.3-2~precise2коли ви перебуваєте на кванталі?)
mathematical.coffee

1
@ mathematical.coffee Правильно. Я робив це на QQbeta2 кілька тижнів тому, але не можу пригадати, як. Спробуйте встановити CRAN-сховище в /etc/apt/sources.list, preciseа не quantal.
Арі Б. Фрідман

2
Ви подивилися, чи зможете ви отримати r-cran-rgdal через Майкрософт?
Дірк Еддельбюттель

mathematical.coffee: Тож може бути занадто рано тоді. Арі: Я оновив репортаж CRAN - дякую за пораду. Дірк: Вибачте моє невігластво - ми говоримо про startpad.net/~marutter/+archive/c2d4u
radek

@radek, давши відповідь Джоша О'Браєна нижче 14.04, можливо, варто відредагувати ваше питання, щоб зробити його більш загальним для інших версій Ubuntu. Думаю, було б корисно для цього поставити канонічне запитання.
amc

Відповіді:


24

Більш недавню відповідь можна знайти тут: http://robinlovelace.net/r/2013/11/26/installing-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

Витратили віки на цю проблему, тому сподіваємось, що ця оновлена ​​відповідь буде корисною для інших. Дайте мені знати, якщо так!


Виникла проблема з ще rgdalодним часом ... і натрапила на моє власне питання тут. Цього разу ваше рішення вирішило проблему.
radek

Це є корисним. Дуже дякую, що знайшли час для запису цих кроків.
Джош О'Брайен

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 не любить знижувати пакети, але буде, якщо ви вкажете його.


Спасибі - це, здавалося, зробило трюк. Чи майбутні оновлення спричинить певний конфлікт із таким рішенням?
radek

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-очиститися

(Очистити кеш)


Спасибі. Я спробував ваше рішення (autoremove нічого не вигнав) - на жаль, це не допомогло.
radek

1
Він видаляє, якщо є непотрібний пакет, іноді стає важливим його видалити, коли у вас є його система.
Ketan Patel

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.