[R] problem installing rgdal

Prof Brian Ripley ripley at stats.ox.ac.uk
Sun Jan 16 14:08:17 CET 2011


On Sun, 16 Jan 2011, alessandro.sarretta at inwind.it wrote:

> Dear R experts,
> I'm trying to install rgdal in my R 2.11.1 (Ubuntu 10.10).
> I have as an ouput the following messages. It seems that there are problems
> with libgdal1.7.0 or sqlite3...
> Could someboby help me?

You would do better to ask on R-sig-geo for this particular package, 
and ask the maintainer or on R-devel more generally about installing 
source packages (see the posting guide).  But

- Your R is need of updating (see the posting guide)
- GDAL 1.7.0 is really rather old
- The bug seems to be in your libgdal installation: if libgdal was 
compiled with sqlite support, libgdal.so should be linked to 
libsqlite3.  Do you have sqlite3 installed (not the RSQLite package, 
but the uduntu package)?  If not, please install it.  You can check 
for missing dependencies by (in the terminal)

ldd /usr/lib/libgdal.so

If 'libsqlite3.so.0' is not there, you need to modify rgdal (I know, 
because you need to do similar things with a static libgdal).  On my 
Mac I need to alter rgdal/src/Makevars.in to be

PKG_LIBS=@PKG_LIBS@ -lproj -lsqlite3 -lexpat -ltiff -ljpeg -lpng -lz -ldl -lcurl -lssl -lcrypto -lz

and so I guess you need at least

PKG_LIBS=@PKG_LIBS@ -lsqlite3

But because GDAL can be installed with lots of optional facilities 
(one of which is sqlite3), you may need to ask Ubuntu support for 
exactly what is needed to link against their build.  Or compile 
current GDAL from the sources for yourself.


> Thanks a lot!
> Ale
>
>> install.packages()
> Warning in install.packages() :
>  argument 'lib' is missing: using '/home/ale/R/i686-pc-linux-gnu-library/2.
> 11'
> trying URL 'http://rm.mirror.garr.it/mirrors/CRAN/src/contrib/RSQLite_0.9-4.
> tar.gz'
> Content type 'application/x-gzip' length 1298948 bytes (1.2 Mb)
> opened URL
> ==================================================
> downloaded 1.2 Mb
>
> * installing *source* package ‘RSQLite’ ...
> checking for gcc... gcc -std=gnu99
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc -std=gnu99 accepts -g... yes
> checking for gcc -std=gnu99 option to accept ISO C89... none needed
> checking how to run the C preprocessor... gcc -std=gnu99 -E
> checking for gcc... (cached) gcc -std=gnu99
> checking whether we are using the GNU C compiler... (cached) yes
> checking whether gcc -std=gnu99 accepts -g... (cached) yes
> checking for gcc -std=gnu99 option to accept ISO C89... (cached) none needed
> checking for library containing fdatasync... none required
> configure: creating ./config.status
> config.status: creating src/Makevars
> ** libs
> gcc -std=gnu99 -I/usr/share/R/include -DRSQLITE_USE_BUNDLED_SQLITE -
> DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -
> DSQLITE_SOUNDEX -DTHREADSAFE=0     -fpic  -g -O2 -c RS-DBI.c -o RS-DBI.o
> gcc -std=gnu99 -I/usr/share/R/include -DRSQLITE_USE_BUNDLED_SQLITE -
> DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -
> DSQLITE_SOUNDEX -DTHREADSAFE=0     -fpic  -g -O2 -c RS-SQLite.c -o RS-SQLite.o
> gcc -std=gnu99 -I/usr/share/R/include -DRSQLITE_USE_BUNDLED_SQLITE -
> DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -
> DSQLITE_SOUNDEX -DTHREADSAFE=0     -fpic  -g -O2 -c param_binding.c -o
> param_binding.o
> gcc -std=gnu99 -I/usr/share/R/include -DRSQLITE_USE_BUNDLED_SQLITE -
> DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -
> DSQLITE_SOUNDEX -DTHREADSAFE=0     -fpic  -g -O2 -c sqlite-all.c -o sqlite-all.
> o
> sqlite-all.c:1: warning: extra tokens at end of #ifdef directive
> mkdir -p ../inst/include
> cp sqlite/sqlite3.h ../inst/include
> cp sqlite/sqlite3ext.h ../inst/include
> gcc -std=gnu99 -shared -o RSQLite.so RS-DBI.o RS-SQLite.o param_binding.o
> sqlite-all.o -L/usr/lib/R/lib -lR
> installing to /home/ale/R/i686-pc-linux-gnu-library/2.11/RSQLite/libs
> ** R
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices ...
> ** testing if installed package can be loaded
>
> * DONE (RSQLite)
>
> The downloaded packages are in
> 	‘/tmp/RtmprTwixW/downloaded_packages’
>> install.packages()
> Warning in install.packages() :
>  argument 'lib' is missing: using '/home/ale/R/i686-pc-linux-gnu-library/2.
> 11'
> trying URL 'http://rm.mirror.garr.it/mirrors/CRAN/src/contrib/rgdal_0.6-33.tar.
> gz'
> Content type 'application/x-gzip' length 1422992 bytes (1.4 Mb)
> opened URL
> ==================================================
> downloaded 1.4 Mb
>
> * installing *source* package ‘rgdal’ ...
> gdal-config: gdal-config
> checking for gcc... gcc -std=gnu99
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc -std=gnu99 accepts -g... yes
> checking for gcc -std=gnu99 option to accept ANSI C... none needed
> checking how to run the C preprocessor... gcc -std=gnu99 -E
> checking for egrep... grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking proj_api.h usability... yes
> checking proj_api.h presence... yes
> checking for proj_api.h... yes
> checking for pj_init_plus in -lproj... yes
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_int'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_double'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_exec'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_text'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_double'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_blob'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_step'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_get_table'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_open'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_free_table'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_reset'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_bytes'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_blob'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_last_insert_rowid'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_name'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_prepare'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_int'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_finalize'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_text'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_count'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_close'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_decltype'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_type'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_errmsg'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_free'
> collect2: ld returned 1 exit status
> ./configure: line 3065: ./proj_conf_test: No such file or directory
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_int'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_double'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_exec'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_text'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_double'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_blob'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_step'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_get_table'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_open'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_free_table'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_reset'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_bytes'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_blob'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_last_insert_rowid'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_name'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_prepare'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_int'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_finalize'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_bind_text'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_count'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_close'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_decltype'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_column_type'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_errmsg'
> /usr/lib/libgdal1.7.0.so: undefined reference to `sqlite3_free'
> collect2: ld returned 1 exit status
> ./configure: line 3099: ./proj_conf_test: No such file or directory
> Package CPP flags: -I/usr/include/gdal
> Package LIBS: -L/usr/lib -lgdal1.7.0
> configure: creating ./config.status
> config.status: creating src/Makevars
> ** libs
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c OGR_write.cpp -o OGR_write.o
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c gdal-bindings.cpp -o gdal-
> bindings.o
> gcc -std=gnu99 -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-
> pc-linux-gnu-library/2.11/sp/include"   -fpic  -g -O2 -c local_stubs.c -o
> local_stubs.o
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c ogr_geom.cpp -o ogr_geom.o
> gcc -std=gnu99 -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-
> pc-linux-gnu-library/2.11/sp/include"   -fpic  -g -O2 -c ogr_polygons.c -o
> ogr_polygons.o
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c ogr_proj.cpp -o ogr_proj.o
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c ogrdrivers.cpp -o ogrdrivers.o
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c ogrsource.cpp -o ogrsource.o
> g++ -I/usr/share/R/include -I/usr/include/gdal  -I"/home/ale/R/i686-pc-linux-
> gnu-library/2.11/sp/include"   -fpic  -g -O2 -c projectit.cpp -o projectit.o
> g++ -shared -o rgdal.so OGR_write.o gdal-bindings.o local_stubs.o ogr_geom.o
> ogr_polygons.o ogr_proj.o ogrdrivers.o ogrsource.o projectit.o -L/usr/lib -
> lgdal1.7.0 -lproj -L/usr/lib/R/lib -lR
> installing to /home/ale/R/i686-pc-linux-gnu-library/2.11/rgdal/libs
> ** R
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices ...
> ** testing if installed package can be loaded
> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>  unable to load shared library '/home/ale/R/i686-pc-linux-gnu-library/2.
> 11/rgdal/libs/rgdal.so':
>  /usr/lib/libgdal1.7.0.so.1: undefined symbol: sqlite3_bind_int
> ERROR: loading failed
> * removing ‘/home/ale/R/i686-pc-linux-gnu-library/2.11/rgdal’
>
> The downloaded packages are in
> 	‘/tmp/RtmprTwixW/downloaded_packages’
> Warning message:
> In install.packages() :
>  installation of package 'rgdal' had non-zero exit status
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


More information about the R-help mailing list