rgdal cannot load shared object
On Thu, 25 Aug 2011 11:15:35 +0200,
Rainer M Krug <r.m.krug at gmail.com> wrote:
On Wed, Aug 24, 2011 at 5:40 PM, Sebastian P. Luque <spluque at gmail.com>wrote:
On Wed, 24 Aug 2011 13:30:37 +0200, Roger Bivand <Roger.Bivand at nhh.no> wrote:
On Tue, 23 Aug 2011, Sebastian P. Luque wrote:
Hello,
I'm on a Debian sid system, and after a an upgrade of packages >>
('apt-get upgrade') over the weekend, loading rgdal no longer works:
Debian GIS packages are not reliable. The CRAN debian checks failed
in > mid-May with a libgdal upgrade, which got resolved after some time > without clear diagnoses - possibly an upstream dependency issue in > something one libgdal build depended on and another not. General > advice with Debian and derivative systems is to install GDAL from > source if possible to avoid this kind of issue. The feel of the error > message is that some components have been built with different C++ > versions, so your question about re-installing rgdal for upgraded GDAL > binaries has two answers, no if C++ and its libraries have not > changed, yes if they have.
I haven't seen a reply on R-sig-debian, so please report back there too if you make progress.
Thanks Roger; I tried reinstalling rgdal, and got some more clues
following install.packages("rgdal") (relevant lines only):
/usr/lib/libgdal1.7.0.so: undefined reference to `libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status ./configure: line 3366: ./proj_conf_test: No such file or directory PROJ.4 Version 4.7 or earlier /usr/lib/libgdal1.7.0.so: undefined reference to `libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status ./configure: line 3409: ./proj_conf_test: No such file or directory /usr/lib/libgdal1.7.0.so: undefined reference to `libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status ./configure: line 3459: ./proj_conf_test: No such file or directory
and:
/usr/lib/libgdal1.7.0.so: undefined reference to `libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status ./configure: line 3366: ./proj_conf_test: No such file or directory PROJ.4 Version 4.7 or earlier /usr/lib/libgdal1.7.0.so: undefined reference to `libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status ./configure: line 3409: ./proj_conf_test: No such file or directory /usr/lib/libgdal1.7.0.so: undefined reference to `libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status ./configure: line 3459: ./proj_conf_test: No such file or directory
in addition to the error I previously reported. So AFAICS, it seems like a problem with Debian sid's libgdal1-1.7.0 or one of the libdap packages, given the "undefined reference to 'libdap::AISConnect::AISConnect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' line.
In my experience, proj usually points to something related to proj4 - are you sure that proj4 os properly installed, including dev files (not sure if needed, but likely)?
I think the problem comes from this bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638294 because when I found this conflict, I went ahead and used "dpkg -i --force-overwrite ..", which may have botched my libdap. It looks like we will soon have a new version. Cheers,
Seb