Помилка: gdal-config не знайдено під час встановлення R-залежних пакетів, тоді як gdal встановлено


82

Вкажіть, будь ласка, те, чого я не маю:

openSUSE 11.3


xx@linux-y3pi:~/Desktop/R> sudo R CMD INSTALL rgdal_0.7-12.tar.gz 
root's password:
* installing to library ‘/usr/lib64/R/library’
* installing *source* package ‘rgdal’ ...
** package ‘rgdal’ successfully unpacked and MD5 sums checked
configure: gdal-config: gdal-config
checking gdal-config usability... ./configure: line 1353: gdal-config: command not found
no
Error: gdal-config not found
The gdal-config script distributed with GDAL could not be found.
If you have not installed the GDAL libraries, you can
download the source from  http://www.gdal.org/
If you have installed the GDAL libraries, then make sure that
gdal-config is in your path. Try typing gdal-config at a
shell prompt and see if it runs. If not, use:
 --configure-args='--with-gdal-config=/usr/local/bin/gdal-config'
with appropriate values for your installation.

ERROR: configuration failed for package ‘rgdal’
* removing ‘/usr/lib64/R/library/rgdal’

xx@linux-y3pi:~/Desktop/R> whereis gdal-config
gdal-config: /usr/local/bin/gdal-config

xx@linux-y3pi:~/Desktop/R> gdal-config 
Usage: gdal-config [OPTIONS]
Options:
 [--prefix[=DIR]]
 [--libs]
 [--dep-libs]
 [--cflags]
 [--datadir]
 [--version]
 [--ogr-enabled]
 [--formats]
 xx@linux-y3pi:~/Desktop/R>

> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
> 

xx@linux-y3pi:~/Desktop/R> gdal-config --version
1.9.0

xx@linux-y3pi:~/Desktop/R> proj
Rel. 4.8.0, 6 March 2012
usage: proj [ -beEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ]

linux-y3pi:~ # $PATH
bash: /home/xx/qtsdk-2010.05/qt/bin/:/home/xx/qtsdk-2010.05/bin:/home/xx/qtsdk-2010.05/qt/bin:/home/xx/qtsdk-2010.05/qt/bin/:/home/xx/qtsdk-2010.05/bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/xx/bin:/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games: No such file or directory

ага! which gdal-configповертається, /usr/local/bin/gdal-configале sudo which gdal-configповертаєтьсяwhich: no gdal-config in (/sbin:/bin:/usr/sbin:/usr/bin)
Брайан Д

Відповіді:


90

Вам потрібен -devпакет із заголовками та посиланнями на спільну бібліотеку для розробки, крім звичайного пакету для розгортання . Що стосується дистрибутиву, два різні варіанти використання.

У моєму розподілі:

edd@max:/tmp$ dpkg -l | grep gdal | cut -c-72
ii  libgdal1-1.7.0                                1.7.3-6ubuntu3        
ii  libgdal1-dev                                  1.7.3-6ubuntu3        
edd@max:/tmp$ 

і R CMD INSTALL rgdal_0.7-8.tar.gzпрацює так само добре, як і слід було очікувати від пакета CRAN, враховуючи всі перевірки часу побудови в CRAN.

Оновлення наприкінці 2016 року: Як зазначає @ JoshO'Brien у коментарі

Незначне оновлення: Ось у 2016 році під управлінням Ubuntu 14.04.2, libgdal1hсхоже, було замінено libgdal1(хоча libgdal1-devце все ще потрібно). Принаймні, я отримую відповідну помилку, коли намагавсяapt-get install libgdal1

Для Ubuntu 16.04 відповідний рядок буде
sudo apt-get install libgdal1i

Таке перейменування вищих бібліотек є загальним явищем; щось на зразок apt-cache search libgdalможе допомогти знайти поточні імена пакетів. Однак важливим ключем є те, libgdal-devщо для побудови необхідний "абстрактний" пакет розробки, оскільки він libgdal1iза допомогою залежності втягує "конкретний" поточний пакет часу (тут :).


1
Незначне оновлення: Ось у 2016 році під управлінням Ubuntu 14.04.2, libgdal1hсхоже, було замінено libgdal1(хоча libgdal1-devце все ще потрібно). Принаймні, я отримую відповідну помилку, коли намагався apt-get install libgdal1.
Джош О'Брайен

2
+1 за те, що я поставив мене у правильному загальному напрямку. І оскільки ми знаходимося в 2018 році, і не всі працюють на системах, заснованих на debian, ... на Arch linux фокус полягає в тому, # pacman -Syu gdalщоб завантажити з них бібліотеку растеризації community/gdal.
Cbhihe

@BrianStamper Звичайно, але ви розумієте, що відповідь вісім років, тому те, що (на даний момент) правильний набір, може змінюватися з часом.
Dirk Eddelbuettel

Сподіваюся, ви розумієте, що 2012 рік був 8 років тому. Сподіваюся, ви прочитаєте, як відповідь вже була відредагована в 2016 році для Ubuntu 16.04, і як у 2018 році була додана інша відповідь. Вони мають ключове значення для того, щоб ви зрозуміли, що це сила чогось подібного, apt-cache search libgdalщоб у будь-який момент часу знайти сучасну на той час назву. Це принципово цінніше, ніж відповідь на вирізаний файл cookie, яку ви копіюєте без розуміння. Тому що печиво стає несвіжим.
Dirk Eddelbuettel

95

В Ubuntu 18.04

Я виправив це, sudo apt install libgdal-dev сподіваючись, хтось вважає це корисним. Деякі наведені вище відповіді здаються застарілими та тривалими.

У попередніх версіях (які мали apt-get)

sudo apt-get install libgdal-dev


2
Це працює для мене в Ubuntu 18.04 та R версії 3.4.4 (2018-03-15).
fvfaleiro

3
працював у мене (Ubuntu 18.04; R 3.6.3). Не потрібно було "sudo apt-get install libproj-dev" для встановлення rgdal.
Мансі

Так, те саме для мене за допомогою debian-stretch
Тімоті Далтон,

2
Працював у мене на Ubuntu 20.04
Дуглас Феррейра

Працював у мене в Ubuntu 18.04.4 та R 4.0.2. при спробі встановити пакет sf і отримати подібну помилку.
Сантьяго Капоб'янко

35

Ви можете використовувати пакет apt-file , щоб знайти, який пакет містить відсутні файл, який ви шукаєте.

Спочатку встановіть apt-файл за допомогою команди apt-get install apt-file
Оновити apt-файл за допомогою команди apt-file update
Тепер ви можете використовувати apt-файл для пошуку відсутнього файлу.apt-file search gdal-config

У моєму випадку я отримав ту ж помилку під час налаштування grass-7.1 від svn. Як показано нижче:

    $ ./configure
    ...more...
    checking whether to use GDAL... yes
    checking for gdal-config... /usr/bin/gdal-config
                  ...more....
    ./configure: 1: ./configure: /usr/bin/gdal-config: not found
    ./configure: 6093: test: =: unexpected operator
    configure: error: *** Unable to locate GDAL library.

Але після пошуку файлу gdal-config з apt-файлом, як показано нижче, я зміг усунути помилку, встановивши пакет libgdal1-dev

$ apt-file search gdal-config

Результати

libgdal1-dev: /usr/bin/gdal-config

Тож я встановив libgdal1-dev , як показано нижче:

$ sudo apt-get install libgdal1-dev

11
Це виправило цю помилку, але мені також довелося зробити sudo apt-get install libproj-devінсталяцію rgdal. Див stackoverflow.com/questions/15248815/rgdal-package-installation
geneorama

3
Я можу підтвердити, що libproj-devце теж потрібно. R повертає configure: error: proj_api.h not found...інакше, як згадував @geneorama.
narendra-choudhary

Я підтверджую це, включаючи пакет у коментарях, вирішив мою проблему для Ubuntu 16.04 та R 3.4.
luchonacho

В Ubuntu 19.10, R 3.6.2 мені лише довелося sudo apt-get install libgdal-dev, не потрібно libproj-dev. Примітка: це було libgdal-devНЕ libgdal1-dev.
Rui Barradas

7

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

Потрібні пакети libgdal-dev та libproj-dev:

sudo apt-get install gdal-bin proj-bin libgdal-dev libproj-dev

Потім встановіть rgdal до

install.packages("rgdal")

Завантажити rgdal на

library(rgdal)

7

На macOS

brew install gdal

видалив помилку

gdal-config не знайдено


1
Просто порада для інших, зверніть увагу на вихід терміналу після його запуску, оскільки можуть бути й інші речі, які вам потрібно зробити (мені довелося встановити щось інше до того, як встановить gdal, і мені довелося пов’язати його після встановлення - але варити хай я знаю, як це зробити на виході)
stevec

4

Прочитайте довідковий посібник.

Системні вимоги до побудови з джерела: GDAL> = бібліотека 1.6.0 з http://trac.osgeo.org/gdal/wiki/DownloadSource та PROJ.4 (proj> = 4.4.9) з http: //trac.osgeo. org / proj / ;


Я додав версію конфігурації gdal вище. Я також перевіряю наявність proj4. Але, чи пов'язаний proj4 з "цією" помилкою?
Aquarius_Girl

Я встановив proj, див. Редагування. Проблема все ще існує.
Aquarius_Girl

4

Спробуйте це на CentOS 6

sudo yum install gdal gdal-python gdal-devel mapserver mapserver-python libxml2 libxml2-python python-lxml python-pip python-devel gcc

На жаль, на моєму сервері centos sudo yum install gdal-devel не вдається із довгим набором повідомлень про обробку залежностей, а потім купу помилок. Здається, вони залучають centos 5 версій (наприклад, gdal-1.8.0-4.el5.elgis.x86_64), але Im on centos 6.
JerryN

2
нам справді все це потрібно? sudo yum install gdal-develнедостатньо?
Брайан Д.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.