Re: [PostgreSQL YUM Repository - Bug #3710] (Resolved) RHEL7postgresql11 postgis2.5 fails with /usr/pgsql-11/lib/postgis-2.5.so:undefined symbol: geod_polygon_init - Mailing list pgsql-pkg-yum

From Justin Pryzby
Subject Re: [PostgreSQL YUM Repository - Bug #3710] (Resolved) RHEL7postgresql11 postgis2.5 fails with /usr/pgsql-11/lib/postgis-2.5.so:undefined symbol: geod_polygon_init
Date
Msg-id 20190107215410.GA22493@telsasoft.com
Whole thread Raw
Responses Re: [PostgreSQL YUM Repository - Bug #3710] (Resolved) RHEL7postgresql11 postgis2.5 fails with /usr/pgsql-11/lib/postgis-2.5.so:undefined symbol: geod_polygon_init  (Christoph Berg <myon@debian.org>)
List pgsql-pkg-yum
This appears to be more or less same as issue #3710.  See earlier communiction,
copied below.

Just reinstalling postgis on a centos7 test server which previously ran
postgres 11 beta.

Installing : geos37-3.7.0-1.rhel7.1.x86_64
Installing : postgis24_11-2.4.6-3.rhel7.x86_64
Installing : postgis24_11-client-2.4.6-3.rhel7.x86_64

sentinel=# \i /usr/pgsql-11/share/contrib/postgis-2.4/postgis.sql 
BEGIN
SET
DO
CREATE FUNCTION
psql:/usr/pgsql-11/share/contrib/postgis-2.4/postgis.sql:95: ERROR:  could not load library
"/usr/pgsql-11/lib/postgis-2.4.so":/usr/pgsql-11/lib/postgis-2.4.so: undefined symbol: GEOSFrechetDistanceDensify
 

[pryzbyj@template0 ~]$ ldd /usr/pgsql-11/lib/postgis-2.4.so
        libgeos_c.so.1 => /usr/geos36/lib64/libgeos_c.so.1 (0x00007f3e50e6e000)
        libgeos-3.6.2.so => /usr/geos36/lib64/libgeos-3.6.2.so (0x00007f3e4f12e000)

Fixed with: rpm -e geos36-3.6.2-3.1.rhel7.x86_64
Should declare the RPM equivalent of debian's "Breaks" ??

On Wed, Dec 19, 2018 at 02:21:07PM -0600, Justin Pryzby wrote:
> On Mon, Dec 10, 2018 at 11:33:52AM +0000, redmine@postgresql.org wrote:
> > Issue #3710 has been updated by Devrim Gündüz.
> > Status changed from In Testing to Resolved
> 
> On Mon, Dec 10, 2018 at 09:06:43AM -0600, Justin Pryzby wrote:
> > Does that work for upgrades from PG10 + postgis, which would probably have
> > older geos installed ?
> 
> I went to the effort to check:
> 
> [pryzbyj@dev ~]$ /usr/pgsql-10/bin/initdb -D ./pgsql.tmp
> [pryzbyj@dev ~]$ /usr/pgsql-10/bin/postmaster -D pgsql.tmp -c port=5678 -c unix_socket_directories=/tmp
> [pryzbyj@dev ~]$ psql --host /tmp --port 5678 postgres -c 'CREATE EXTENSION postgis'
> [pryzbyj@dev ~]$ time /usr/pgsql-11/bin/pg_upgrade -b /usr/pgsql-10/bin/ -B /usr/pgsql-11/bin/ -d ./pgsql.tmp -D
pgsql.tmp11
> [pryzbyj@dev ~]$ /usr/pgsql-10/bin/pg_ctl -D pgsql.tmp stop
> [pryzbyj@dev ~]$ time /usr/pgsql-11/bin/pg_upgrade -b /usr/pgsql-10/bin/ -B /usr/pgsql-11/bin/ -d ./pgsql.tmp -D
pgsql.tmp11
> ...
> 
> Checking for presence of required libraries                 fatal
> 
> [pryzbyj@dev ~]$ cat loadable_libraries.txt 
> could not load library "$libdir/postgis-2.4": ERROR:  incompatible library "/usr/pgsql-11/lib/postgis-2.4.so":
versionmismatch
 
> DETAIL:  Server is version 11, library is version 10.
> could not load library "$libdir/rtpostgis-2.4": ERROR:  could not access file "$libdir/rtpostgis-2.4": No such file
ordirectory
 
> 
> I'd be interested to know if there's some reason why this would work on a fresh
> centos7 install (or one without historic packages installed), but I think it
> ought to work even on nonfresh installs, which are the ones where pg_upgrade is
> more likely to be used.
> 
> Justin


pgsql-pkg-yum by date:

Previous
From: Chapman Flack
Date:
Subject: Re: PL/Java 1.5.2 - fixes one regression in date conversion in 1.5.1
Next
From: Chapman Flack
Date:
Subject: Re: PL/Java 1.5.2 - fixes one regression in date conversion in 1.5.1