Fehler: gdal-config wurde bei der Installation von R-abhängigen Paketen nicht gefunden, während gdal installiert ist

78

Bitte weisen Sie auf den Punkt hin, den ich vermisse:

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
Wassermann_Girl
quelle
Aha! which gdal-configkehrt zurück, kehrt /usr/local/bin/gdal-configaber sudo which gdal-configzurückwhich: no gdal-config in (/sbin:/bin:/usr/sbin:/usr/bin)
Brian D

Antworten:

88

Sie benötigen das -devPaket mit Headern und Links für gemeinsam genutzte Bibliotheken für die Entwicklung neben dem normalen Paket für die Bereitstellung . Zwei verschiedene Anwendungsfälle für die Distribution.

Auf meiner Distribution:

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$ 

und R CMD INSTALL rgdal_0.7-8.tar.gzfunktioniert einwandfrei, wie Sie es von einem CRAN-Paket erwarten würden, wenn alle Build-Time-Prüfungen bei CRAN durchgeführt werden.

Update Ende 2016: Wie @ JoshO'Brien im Kommentar betont

Kleines Update: Hier im Jahr 2016 libgdal1hscheint Ubuntu 14.04.2 ersetzt worden zu sein libgdal1(obwohl libgdal1-deves noch benötigt wird). Zumindest bekomme ich einen entsprechenden Fehler, als ich es versuchteapt-get install libgdal1

Für Ubuntu 16.04 wäre die entsprechende Zeile
sudo apt-get install libgdal1i

Eine solche Umbenennung von vorgelagerten Bibliotheken ist üblich; Etwas wie apt-cache search libgdalkann helfen, die aktuellen Paketnamen zu finden. Der wichtige Schlüssel ist jedoch, dass das "abstrakte" Entwicklungspaket libgdal-devalles ist, was zum Erstellen benötigt wird, da das "konkrete" aktuelle Laufzeitpaket (hier :) libgdal1iüber eine Abhängigkeit eingezogen wird.

Dirk Eddelbuettel
quelle
1
Kleines Update: Hier im Jahr 2016 libgdal1hscheint Ubuntu 14.04.2 ersetzt worden zu sein libgdal1(obwohl libgdal1-deves noch benötigt wird). Zumindest bekomme ich einen entsprechenden Fehler, als ich es versuchte apt-get install libgdal1.
Josh O'Brien
2
+1, um mich in die richtige allgemeine Richtung zu bringen. Und da wir im Jahr 2018 sind und nicht jeder an Debian-basierten Systemen arbeitet, besteht der Trick unter Arch Linux darin, die Rasterbibliothek # pacman -Syu gdalvon herunterzuladen community/gdal.
Cbhihe
@BrianStamper Sicher, aber Sie erkennen, dass die Antwort acht Jahre alt ist, sodass sich die (derzeit) korrekte Menge im Laufe der Zeit ändern kann.
Dirk Eddelbuettel
Ich hoffe du verstehst, dass 2012 vor 8 Jahren war. Ich hoffe, Sie werden lesen, wie die Antwort bereits 2016 für Ubuntu 16.04 bearbeitet wurde und wie 2018 eine weitere Antwort hinzugefügt wurde. Der Schlüssel, den Sie hier verstehen müssen, ist die Fähigkeit von etwas apt-cache search libgdal, zu jedem Zeitpunkt den damals aktuellen Namen zu finden. Das ist grundsätzlich wertvoller als eine Antwort, die Sie ohne Verständnis kopieren. Weil die Kekse abgestanden sind.
Dirk Eddelbuettel
91

In Ubuntu 18.04

Ich habe das von sudo apt install libgdal-dev Hope behoben. Jemand findet das hilfreich. Einige der oben genannten Antworten scheinen veraltet und langwierig zu sein.

In früheren Versionen (die apt-get hatten)

sudo apt-get install libgdal-dev

Gayan Kavirathne
quelle
2
Es funktioniert für mich in Ubuntu 18.04 und R Version 3.4.4 (15.03.2018).
Fvfaleiro
3
arbeitete für mich (Ubuntu 18.04; R 3.6.3). Für die Installation von rgdal musste nicht "sudo apt-get install libproj-dev" ausgeführt werden.
Mansi
Ja, das gleiche gilt für mich mit Debian-Stretch
Timothy Dalton
1
Arbeitete für mich auf Ubuntu 20.04
Douglas Ferreira
Arbeitete für mich in Ubuntu 18.04.4 und R 4.0.2. beim Versuch, das sf-Paket zu installieren und einen ähnlichen Fehler zu erhalten.
Santiago Capobianco
35

Sie können das Paket apt-file verwenden , um herauszufinden, welches Paket die fehlende Datei enthält, nach der Sie suchen.

Installieren Sie zuerst die apt-Datei mit dem Befehl apt-get install apt-file
Aktualisieren Sie die apt-Datei mit dem Befehl. apt-file update
Jetzt können Sie apt-file verwenden , um die fehlende Datei zu finden.apt-file search gdal-config

In meinem Fall habe ich den gleichen Fehler beim Konfigurieren von grass-7.1 von svn erhalten. Wie nachfolgend dargestellt:

    $ ./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.

Nachdem ich nach der unten gezeigten Datei gdal-config mit apt-file gesucht hatte , konnte ich den Fehler nach der Installation des Pakets libgdal1-dev beheben

$ apt-file search gdal-config

Ergebnisse

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

Also habe ich libgdal1-dev installiert , wie unten gezeigt:

$ sudo apt-get install libgdal1-dev
Erick
quelle
11
Dies behebt diesen Fehler, aber ich musste auch tun sudo apt-get install libproj-dev, um zu installieren rgdal. Siehe stackoverflow.com/questions/15248815/rgdal-package-installation
geneorama
3
Ich kann bestätigen, dass dies libproj-devauch benötigt wird. R gibt etwas configure: error: proj_api.h not found...anderes zurück, wie von @geneorama erwähnt.
Narendra-Choudhary
Ich bestätige, dass dies, einschließlich des Pakets in den Kommentaren, mein Problem für Ubuntu 16.04 und R 3.4 gelöst hat.
Luchonacho
In Ubuntu 19.10, R 3.6.2 musste ich nur sudo apt-get install libgdal-dev, keine Notwendigkeit libproj-dev. Hinweis: war es libgdal-devnicht libgdal1-dev.
Rui Barradas
7

Dies liegt daran, dass die Konfiguration für das Paket 'rgdal' fehlgeschlagen ist und wir die erforderlichen Abhängigkeiten installieren müssen.

Die Pakete libgdal-dev und libproj-dev sind erforderlich:

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

Dann installieren Sie rgdal von

install.packages("rgdal")

Laden Sie rgdal von

library(rgdal)
Athira Ramachandran
quelle
7

Unter macOS

brew install gdal

Fehler behoben

gdal-config nicht gefunden

lhaferkamp
quelle
1
Nur ein Tipp für andere: Achten Sie nach dem Ausführen auf die Terminalausgabe, da Sie möglicherweise andere Dinge tun müssen (ich musste etwas anderes installieren, bevor gdal installiert werden konnte, und ich musste es nach der Installation verknüpfen - aber brauen lassen Ich weiß, wie man das in der Ausgabe macht)
Stevec
4

Lesen Sie das Referenzhandbuch.

Systemanforderungen für das Erstellen aus der Quelle: GDAL> = 1.6.0 Bibliothek von http://trac.osgeo.org/gdal/wiki/DownloadSource und PROJ.4 (proj> = 4.4.9) von http: //trac.osgeo. org / proj / ;

Roland
quelle
Ich habe die Version von gdal config oben hinzugefügt. Ich suche auch nach proj4. Aber hängt proj4 mit "diesem" Fehler zusammen?
Aquarius_Girl
Ich habe das Projekt installiert, siehe die Bearbeitung. Das Problem besteht immer noch.
Aquarius_Girl
4

Versuchen Sie dies unter CentOS 6

sudo yum install gdal gdal-python gdal-devel mapserver mapserver-python libxml2 libxml2-python python-lxml python-pip python-devel gcc
Wesam Na
quelle
Leider schlägt die Installation von gdal-devel auf meinem Centos-Server mit einer langen Reihe von Meldungen über die Verarbeitung von Abhängigkeiten und einer Reihe von Fehlern fehl. Sie scheinen Centos 5-Versionen zu beinhalten (z. B. gdal-1.8.0-4.el5.elgis.x86_64), aber ich bin auf Centos 6.
JerryN
2
brauchen wir wirklich alle? sudo yum install gdal-develist nicht genug?
Brian D