problem installing rgdal
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