[GRASS-user] GRASS and libgeos 3.1.1/3.3.3

Dear list,

I have recently updated Ubuntu to 13.04, now I find when I open grass and
select a mapset I get the following errors:

Error 1
g.proj or projection error... ...libgeos-3.1.1.so: cannot open...

Error 2
Error setting region...

Error 3
same as error 1

So I think the problem is that I have libgeos-3.3.3.so not libgeos-3.1.1.so
So I guess two solutions, either install libgeos-3.1.1 or correct grass to
search for 3.3.3.

How would/should I do this?

Thanks

Gary

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764.html
Sent from the Grass - Users mailing list archive at Nabble.com.

Hi Gary,

I have recently updated Ubuntu to 13.04, now I find when I open grass and
select a mapset I get the following errors:

Error 1
g.proj or projection error... ...libgeos-3.1.1.so: cannot open...

Error 2
Error setting region...

Error 3
same as error 1

So I think the problem is that I have libgeos-3.3.3.so not libgeos-3.1.1.so
So I guess two solutions, either install libgeos-3.1.1 or correct grass to
search for 3.3.3.

How would/should I do this?

where did you get your GRASS package from? UbuntuGIS?

working here with the stock 6.4.2-2build1 ubuntu grass package on Mint 15
(aka ubu 13.04) all's ok. (but that doesn't depend on geos at all- too old)

if the ubuntuGIS package please file a bug on their PPA or post to ubuntu at
lists.osgeo.org asking for a rebuild.

have a look at available dependencies & versions with:

apt-cache policy grass-core
apt-cache policy libgeos-dev

packages for GEOS 3.1.1 don't seem available on Raring as standard pkgs,
http://packages.ubuntu.com/search?keywords=libgeos

regards,
Hamish

Thanks Hamish,

grass-core:
installed 6.4.2-2bui l ch
candicate 6.4.2-2bui l ch
version table:
*** 6.4.2-2bui I ch

libgeos-dev:
installed 3.3.3-1.1
candicate 3.3.3-1.1
version table:
*** 3.3.3-1.1 0

I installed grass through synaptic on Ubuntu (with R and other associated
programs)

Could I remove libgeos and simply install version 3.1.1? Or could I
reinstall GRASS (whilst keeping all my mapsets?)

Thankyou for your help

Gary

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764p5075795.html
Sent from the Grass - Users mailing list archive at Nabble.com.

[g.region failing on ubuntu 13.04 causing main startup to fail]

Gary wrote:

T hanks Hamish,

grass-core:
installed 6.4.2-2bui l ch
candicate 6.4.2-2bui l ch
version table:
*** 6.4.2-2bui I ch

libgeos-dev:
installed 3.3.3-1.1
candicate 3.3.3-1.1
version table:
*** 3.3.3-1.1 0

I installed grass through synaptic on Ubuntu (with R and other associated
programs)

That is strange, 6.4.2-2build1 doesn't depend on GEOS.

("apt-cache show grass-core" and look at the Depends line)

What version of GDAL are you using? Is that from the standard ubuntu repositories?
No PPAs in your list of software sources?

I see g.region only depends on PROJ.4 though, not GDAL..
(what version of the libproj is installed?)

Could I remove libgeos and simply install version 3.1.1? Or could I
reinstall GRASS (whilst keeping all my mapsets?)

As far as I can tell a 3.1.1 package doesn't exist.

here are the reverse package dependencies, anything look familiar?

$ apt-cache rdepends libgeos-3.3.3
libgeos-3.3.3
Reverse Depends:
libgeos-3.3.3:i386
osmjs
osm2pgsql
libgeos-dbg
libgeos-c1
libgeos++-dev

$ apt-cache rdepends libgeos-c1
libgeos-c1
Reverse Depends:
libgeos-c1:i386
spatialite-gui
python-shapely
python-mpltoolkits.basemap
python-mapscript
postgresql-9.1-postgis
php5-mapscript
mapserver-bin
libspatialite3
libqgis1.7.5
libplayerwkb3.0
libmapscript-ruby1.9.1
libmapscript-ruby1.8
libmapscript-perl
libmapnik2-2.0
libgeos-ruby1.8
libgeos-dev
libgeos-dbg
libgdal1
cgi-mapserver

confused,
Hamish

[g.region failing on ubuntu 13.04 causing main startup to fail]

oops, that was g.proj failing.

I see g.region only depends on PROJ.4 though, not GDAL..
(what version of the libproj is installed?)

g.proj depends on GDAL libs which depends on GEOS.

what version of GDAL is installed? 1.9.0-3.1ubuntu1?

$ dpkg -l | grep libgdal

what does this say:

$ ldd /usr/lib/grass64/bin/g.proj | grep geos

?

Hamish

Hi Hamish,

dpkg -l | grep libgdal

ii libgdal1 1.9.0-3.1ubuntu4 amd64 Geospatial Data
Abstraction Library
rc libgdal1-1.5.0 1.5.4-4 amd64 Geospatial Data
Abstraction Library
rc libgdal1-1.6.0 1.6.3-3build2 amd64 Geospatial Data
Abstraction Library
rc libgdal1-1.7.0 1.7.3-6ubuntu3 amd64 Geospatial Data
Abstraction Library

ldd /usr/lib/grass64/bin/g.proj | grep geos

/usr/lib/grass64/bin/g.proj: /usr/local/lib/libgdal.so.1: no version
information available (required by /usr/lib/grass64/bin/g.proj)

libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007fed2e466000)
libgeos-3.1.1.so => not found
libgeos-3.3.3.so => /usr/lib/libgeos-3.3.3.so (0x00007fed2b4dc000)

So the problem is with the absense of 3.1.1, any way to tell grass to only
use 3.3.3?

All this happened after upgrading ubuntu and upgrading packages, I hadn't
checked grass for a few months until I came to use it, it would be nice to
get to my PhD data! I have backed up the mapsets on another drive, I tried
completely removing grass and reinstalling but it didnt solve the problem.
Thanks for your help

Gary

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764p5075928.html
Sent from the Grass - Users mailing list archive at Nabble.com.

Gary wrote:

dpkg -l | grep libgdal

ii libgdal1 1.9.0-3.1ubuntu4 amd64 Geospatial Data
Abstraction Library

ok, same as me & 13.04,
http://packages.ubuntu.com/search?suite=raring&keywords=libgdal

rc libgdal1-1.5.0 1.5.4-4 amd64 Geospatial Data
Abstraction Library
rc libgdal1-1.6.0 1.6.3-3build2 amd64 Geospatial Data
Abstraction Library
rc libgdal1-1.7.0 1.7.3-6ubuntu3 amd64 Geospatial Data
Abstraction Library

(all removed)

ldd /usr/lib/grass64/bin/g.proj | grep geos

/usr/lib/grass64/bin/g.proj: /usr/local/lib/libgdal.so.1: no version
information available (required by /usr/lib/grass64/bin/g.proj)

... /usr/local/lib/libgdal.so.1 ? Did you have a custom installed version
of GDAL in /usr/local? That may be the conflict.

libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007fed2e466000)
libgeos-3.1.1.so => not found
libgeos-3.3.3.so => /usr/lib/libgeos-3.3.3.so (0x00007fed2b4dc000)

So the problem is with the absense of 3.1.1, any way to tell grass to only
use 3.3.3?

I think it's actually GDAL which wants GEOS 3.1.1, the problem comes
along to GRASS through there when GRASS loads in GDAL.

All this happened after upgrading ubuntu and upgrading packages,

I'd heard it prefers fresh installs to in-place upgrades, but I've never
tried it myself.

I hadn't checked grass for a few months until I came to use it, it
would be nice to get to my PhD data! I have backed up the mapsets on
another drive,

I'd be confident that your data is ok, GRASS can be loaded onto any other
computer of opportunity to access it in an emergency.

I tried completely removing grass and reinstalling but it didnt solve
the problem.

Look for files related to an old GDAL version in the /usr/local/ dirs.

regards,
Hamish

Gary wrote:

dpkg -l | grep libgdal

ii libgdal1 1.9.0-3.1ubuntu4 amd64 Geospatial Data
Abstraction Library

ok, same as me & 13.04,
http://packages.ubuntu.com/search?suite=raring&keywords=libgdal

er, hang on: you've got 1.9.0-3.1ubuntu4?

me & ubuntu 13.04 have 1.9.0-3.1ubuntu1.

The 1.9.0-3.1ubuntu4 package looks like it comes from Saucy Salamander
(aka 13.10) which isn't released yet, due next month:
http://packages.ubuntu.com/search?suite=all&keywords=libgdal

? any clues about the ubuntu version in /etc/apt/sources.list and /etc/apt/sources.list.d/ ?

what does this say about installed vs. available GDAL versions:

$ apt-cache policy libgdal1

?

Hamish

... /usr/local/lib/libgdal.so.1 ? Did you have a custom installed version
of GDAL in /usr/local? That may be the conflict.

in this directory is the libgdal.so.1 file and libgdal.so file, both link to
a shared library libgdal.so.1.13.2 which is also in this directory

dir /usr/local/lib/ contents:
Python (dir)
R (dir)
libgdal.a (AR archive)
site_ruby (dir)

libgdal.la
libgdal.so
libgdal.so.1
libgdal.so.1.13.2

Does this help?

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764p5075952.html
Sent from the Grass - Users mailing list archive at Nabble.com.

apt-cache policy libgdal1
libgdal1:
  Installed: 1.9.0-3.1ubuntu4
  Candidate: 1.9.0-3.1ubuntu4
  Version table:
*** 1.9.0-3.1ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
        100 /var/lib/dpkg/status

I had the problem with Grass in 12.10, so I upgraded to 13.04 using the
do-release-upgrade -d

the -d has caused it to use the development version! But as GRASS had the
same problem with 12.10 this shouldnt be the source of the main problem, is
there anyway to revert to the 1.9.0-3.1ubuntu1?

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764p5075955.html
Sent from the Grass - Users mailing list archive at Nabble.com.

Gary wrote:

the -d has caused it to use the development version! But as GRASS had the
same problem with 12.10 this shouldnt be the source of the main problem, is
there anyway to revert to the 1.9.0-3.1ubuntu1?

I suspect the immediate problem is the extra+outdated GDAL version in
/usr/local/. It would be strange if a newer version of the GDAL ubuntu
package were depending on an older version of GEOS, right?

In addition, I don't see GEOS 3.1.1 available in any of the recent
ubuntu versions, so suspect the /usr/local/ custom installed version
is to blame for the bulk of the trouble.
http://packages.ubuntu.com/search?keywords=libgeos

You can use "ldd" on the libraries found with:

$ locate libgdal | grep '\.so'

to verify which one(s) are looking for libgeos 3.1.1.

e.g.
$ ldd /usr/lib/libgdal.so.1 | grep geos
$ ldd /usr/lib/grass64/lib/libgdal.so | grep geos

Hamish

$ ldd libgdal.so.1 | grep geos
    libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007f8652f4b000)
    libgeos-3.1.1.so => not found
    libgeos-3.3.3.so => /usr/lib/libgeos-3.3.3.so (0x00007f864f8f6000)
$ ldd libgdal.so | grep geos
    libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007fc26729a000)
    libgeos-3.1.1.so => not found
    libgeos-3.3.3.so => /usr/lib/libgeos-3.3.3.so (0x00007fc263c45000)
$ ldd /usr/lib/grass64/lib/libgdal.so | grep geos
    libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007fef3a3de000)
    libgeos-3.3.3.so => /usr/lib/libgeos-3.3.3.so (0x00007fef337a7000)

So it is the gdal which is causing te conflict?
How do I uninstall it? just delete the libgeos files?

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764p5075993.html
Sent from the Grass - Users mailing list archive at Nabble.com.

Hi Hamish, thank you for your help
I renamed the libgdal.so links in /usr/lib/ to xlibgdal and now grass works
again, that was the problem!

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/GRASS-and-libgeos-3-1-1-3-3-3-tp5075764p5076000.html
Sent from the Grass - Users mailing list archive at Nabble.com.