rgdal package installation
Asked Answered
S

19

114

The issue here is not exactly how to plot maps through R, as I have found already a pretty nice example here, but rather how to make it work. In fact, I am unable to load library rgdal:

library(rgdal)
Error in library(rgdal) : there is no package called ‘rgdal’

However, when I try to install the above package manually, I get the following error:

....
configure: error: proj_api.h not found in standard or given locations.
ERROR: configuration failed for package ‘rgdal’
* removing ‘/home/eualin/R/i686-pc-linux-gnu-library/2.15/rgdal’
Warning in install.packages : installation of package ‘/home/eualin/Downloads/rgdal_0.8-5.tar.gz’ had non-zero exit status

Any input welcome!

Sf answered 6/3, 2013 at 13:35 Comment(10)
If under a debian-like system, try to install the libproj-dev package.Hun
I do use debian. installation of libproj-dev didn't change anything (I think, it was already installed). sudo port install proj guves the following exception: sudo: port: command not found Any idea?Sf
What command did you use to install your package ?Hun
@juba: I used sudo apt-get install libproj-devSf
Sorry, I meant to install rgdal... And what version of debian do you use ?Hun
@Hun With sudo apt-get install rgdal I get an Unable to locate package rgdal error.Sf
Did you use install.packages("rgdal") ?Hun
It works now, but seriously, I had tried all of them already, with no luck. Anyway, I'll mark your answers as correct.Sf
To mark an answer as correct, you can check the green mark. And you don't have to upvote every comment I made :) Glad you solved your problem.Hun
I cannot "install.packages("rgdal"). I get "package not available for R version 3.4.4Licketysplit
H
132

I f you look at the package page on CRAN, you will see the following :

SystemRequirements: for building from source: GDAL >= 1.7.1 library from http://trac.osgeo.org/gdal/wiki/DownloadSource and PROJ.4 (proj >= 4.4.9) from http://trac.osgeo.org/proj/; GDAL OSX frameworks built by William Kyngesburye at http://www.kyngchaos.com/ may be used for source installs on OSX.

As you seem to be under Linux, you always build package from source, so you will have to install the corresponding libraries on your system. If you are under Mint, Ubuntu or another Debian derivative, you can do :

$ sudo apt-get install libgdal1-dev libproj-dev

One tip that can be useful, still under a Debian based system, is to install the apt-file package and run :

$ sudo apt-file update

Then, when you get an error such as :

configure: error: proj_api.h not found in standard or given locations.

You can use the following command to find which package you must install to get the missing file :

$ apt-file search proj_api.h
libproj-dev: /usr/include/proj_api.h
Hun answered 6/3, 2013 at 13:42 Comment(3)
Didn't quite work for me, running Linux Mint 17.1 Rebecca built on Ubuntu 14.04 trusty-- apt-file wasn't working. I ended up removing libproj-dev and re-installing it due to some corruption issue & then installing libgdal1, libgdal1-dev and dependencies (version 1.11.2 in the official repository as of this writing, but I saw version 2 here so a change may be on the horizon)Shows
If you're in the future and not seeing libgdal*1*-dev, it might be because GDAL 2 is out and the package name has dropped the number so just libgdal-dev. Ubuntu 18.04 seems to be like this.Hyperemia
I have installed all dependencies, but I still got the configure: error: proj_api.h not found in standard or given locations. The proj_api.h is also found in the /usr/include. Any idea?Flavio
L
43

If you use OS X with the Homebrew package manager, and have R installed through the homebrew-science tap, you can install rgdal by first installing gdal.

brew install gdal

You may first want to list the options available before you run this in case you want something fancy like postgresql support. To see the available options type

brew options gdal

then to be fancy you can type

brew install --with-postgresql gdal

after a while you should be good to go with dependencies, since proj including your needed proj_api.h are dependencies! Unfortunately, rgdal still won't find pro_api.h right now since it isn't looking in /usr/local/include. To fix this and other possible maladies with your rgdal installation, use the following R command to install rgdal:

  > install.packages('rgdal', type = "source", configure.args=c('--with-proj-include=/usr/local/include','--with-proj-lib=/usr/local/lib'))

This should be similar to what you would also need for MacPorts with the exception of the brew steps, and your libraries/headers are most likely under "/opt/local/lib" and "/opt/local/include" respectively.

Note: to brew upgraders if you are using "--with-armadillo" as an option with gdal, and upgraded armadillo to 7 from 6. You will have to recompile gdal before you upgrade/reinstall rgdal.

Lenin answered 10/11, 2014 at 3:9 Comment(3)
thanks. your method works on my machine after a few failures according to other solution posted.Magnesia
God sent solution! I don't know how many hours I spent on this. EeeshExact
Worked for me. Only other thing was that I needed to restart R after installing the rgdal package.Gauger
K
30

On a Fedora 21 system using R-3.2.0, the following worked:

yum install gdal.x86_64 gdal-devel.x86_64 gdal-libs.x86_64
yum install proj.x86_64 proj-devel.x86_64
yum install proj-epsg.x86_64 proj-nad.x86_64

Obviously this was the result of repeated tries to get:

install.packages("rgdal")

to work. You can probably do it all in one install.

Katykatya answered 28/4, 2015 at 0:24 Comment(2)
Worked for me on Centos also.Otter
I'm in Fedora 27 and R 3.4.3 and this answer is still working!Pourboire
M
16

On ubuntustudio 14.04 (same for all debian distros):

sudo apt-get install libproj-dev libgdal-dev

Then I could install package rgdal

R info:
R version 3.0.2 (2013-09-25) -- "Frisbee Sailing"

Linux info:
Linux francois-K53SV 3.13.0-34-lowlatency #60-Ubuntu SMP PREEMPT Wed Aug 13 16:15:18 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Meadowlark answered 17/8, 2014 at 21:44 Comment(0)
I
15

Here what i did on Centos7:

yum install gdal gdal-devel
yum install proj-devel
yum install proj-nad
yum install proj-epsg

Then simply

install.packages("rgdal")

Worked fine but it wasn't clear at all.

Incrustation answered 1/6, 2016 at 13:47 Comment(6)
Just tested in a fresh Centos 7, I think you need proj-devel and not just proj. Otherwise, we're getting configure: error: proj_api.h not found in standard or given locations. This is for rgdal 1.2-6.Toliver
I needed version > 2.0 to use the sf package. These instructions worked for me, though they took a long time, be patient. gis.stackexchange.com/questions/263495/…Cherlycherlyn
agree with @HenrikB, I needed proj-devel for same error. also may want to use sudo yum install ...Sanfo
These days I have some edit permissions on SO, so I updated this answer to install proj-devel (not just proj)Toliver
In Fedora, this worked for me: dnf install gdal gdal-devel proj-devel proj-nad proj-epsg.Ogdoad
On Fedora 34, sudo dnf install gdal-devel proj-devel seemed to work.Menace
A
6

For ubuntu 16.04 and R 3.5.1, this works quite fast:

sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install gdal-bin python-gdal python3-gdal libgdal1-dev

Then;

sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev

Finally in CRAN;

install.packages("rgdal")
Actionable answered 14/12, 2018 at 11:55 Comment(0)
H
5

In OSX, I download proj from http://www.kyngchaos.com/software/frameworks and I run the following command in R.

install.packages('rgdal', type = "source", configure.args=c('--with-proj-include=/Library/Frameworks/PROJ.framework/Headers', '--with-proj-lib=/Library/Frameworks/PROJ.framework/unix/lib'))
Handicapper answered 20/8, 2015 at 2:55 Comment(0)
O
4

This worked for me:

install.packages('rgdal',repos="http://www.stats.ox.ac.uk/pub/RWin")
Obvious answered 14/8, 2014 at 15:53 Comment(1)
This is the only thing that worked for me in all the searching I've done.Mesosphere
G
3

For Mac (OS.X Version10.12.6) users, This worked for me. First, go to command line and install gdal using >> brew install gdal Second, got to Rstuduio(R console) and install the package using install.packages("rgdal")

Gearbox answered 25/9, 2017 at 19:9 Comment(0)
C
2

For me (Ubuntu 16.04, R 3.4.2), a mixture of the above solutions worked:

sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev

Then simply installed rgdal from CRAN.

Canada answered 26/1, 2018 at 10:18 Comment(2)
Thanks for providing this. I was able to get it working for Ubuntu 16.04Bruxelles
That one eventually worked out for me using ubuntu 18.04. ThanksMarivaux
O
1

The only thing that worked on my system was to compile PROJ4 from source as described here and then instal the rgdal package as

 install.packages("rgdal")
Ochs answered 5/1, 2015 at 17:43 Comment(0)
W
1

For people in multi-user environments with multiple versions of proj installed (from source), the method I used was:

install.packages('rgdal',configure.args="--with-proj-include=/sw/proj/4.9.2/include --with-proj-lib=/sw/proj/4.9.2/lib")
Within answered 23/8, 2016 at 4:28 Comment(0)
C
1

To fix this you need to install libgdal-dev:

$ sudo apt install libgdal-dev

Contrayerva answered 4/4, 2019 at 17:16 Comment(0)
E
1

If anyone still has issues on this, I got a version of rgdal from this site :

https://cran.r-project.org/web/packages/rgdal/index.html

and installed it :

install.packages("filename.tar", repos = NULL, type = "source")
Exhilarate answered 5/4, 2022 at 9:10 Comment(1)
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From ReviewSectarian
U
0

None of the above answers worked for me (running R 3.5.1 on Linux Mint 17.1). GDAL version in the Ubuntu repositories is 1.11.3, this causes installation of rGDAL to fail. Here is the solution that worked for me (from this website):

sudo apt-get install libexpat1-dev

Download and install GDAL

wget http://download.osgeo.org/gdal/2.1.1/gdal-2.1.1.tar.gz
tar xvf gdal-2.1.1.tar.gz
cd gdal-2.1.1
./configure
sudo make
sudo make install

Verify version

gdal-config --version

I then got this error:

** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/local/lib/R/site-library/rgdal/libs/rgdal.so':
libgdal.so.20: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed

This was fixed by updating the bindings:

sudo ldconfig

Then running install.packages("rgdal") in R worked fine.

Underpinnings answered 3/6, 2019 at 20:18 Comment(0)
M
0

Unable to get rgdal to install properly, I have tried all mentioned and all suggestions here R not finding package even after package installation

library(rgdal)
rgdal: version: 1.4-3, (SVN revision 828)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/xxx/Documents/R/win-library/3.4/rgdal/gdal
GDAL binary built with GEOS: TRUE 
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/xxx/Documents/R/win-library/3.4/rgdal/proj
Linking to sp version: 1.3-1 
Warning message:
package ‘rgdal’ was built under R version 3.4.4

I have upgraded my R to 3.6.1

Try again:

batch_gdal_translate(x, desc, outsuffix = "4.img", of = "HFA", co="TILED=YES")
NULL
Warning messages:
1: In gdal_setInstallation() :
No GDAL installation found. Please install 'gdal' before continuing:
    - www.gdal.org (no HDF4 support!)
    - www.trac.osgeo.org/osgeo4w/ (with HDF4 support RECOMMENDED)
    - www.fwtools.maptools.org (with HDF4 support)

2: In gdal_setInstallation() : If you think GDAL is installed, please run:
gdal_setInstallation(ignore.full_scan=FALSE)

i have tried to run this from Rstudio & command line R 3.6.1 GUI.

all times I have tried this I get positive results for the libraries being installed.

library(raster)
Loading required package: sp
library(rgdal)
rgdal: version: 1.4-4, (SVN revision 833)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 2.2.3, released 2017/11/20
Path to GDAL shared files: C:/Users/xxx/Documents/R/R-3.6.1/library/rgdal/gdal
GDAL binary built with GEOS: TRUE 
Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
Path to PROJ.4 shared files: C:/Users/xxx/Documents/R/R-3.6.1/library/rgdal/proj
Linking to sp version: 1.3-1 
library(gdalUtils)
Registered S3 method overwritten by 'R.oo':
method        from       
throw.default R.methodsS3

the files I am trying to read are dted files?

x <- list.files(path = src, pattern = ".dt", full.names = TRUE)
length(x)

batch_gdal_translate(x, desc, outsuffix = "4.img", of = "HFA", co="TILED=YES")

I have tried the above with GTIFF .tif format also and I get the same error. But I am not trying to read .hdf files, just .dt0, .dt1, .dt2

this will work on another machine that I have R installed on, however, I am trying to figure out what is wrong with the installation I have on "this" machine.

Machicolate answered 16/8, 2019 at 16:56 Comment(0)
R
0

Explicitly adding the include path in CFLAGS worked for me

install.packages('rgdal', type = "source", configure.args=c('CFLAGS=-I/apps/proj4/5.2.0/include'))
Reardon answered 30/10, 2019 at 16:32 Comment(0)
D
0

If you are using MacPorts this should work:

  1. Install gdal (proj6 will be installed as a dependency)

    sudo port install gdal
    
  2. Install pkg-config

    sudo port install pkgconfig
    
  3. Set PKG_CONIFG_PATH variable to point to a directory with proj.pc file. In my case this was:

    export PKG_CONFIG_PATH=/opt/local/lib/proj6/lib/pkgconfig
    
Dina answered 29/12, 2019 at 22:34 Comment(0)
B
0

If you are using Conda environment please use:

conda install -c conda-forge r-rgdal
conda install -c conda-forge/label/broken r-rgdal
conda install -c conda-forge/label/cf201901 r-rgdal
conda install -c conda-forge/label/cf202003 r-rgdal

conda install -c conda-forge proj
Biblicist answered 26/6, 2022 at 23:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.