Subject: pg11 centos7 postgis24 broken due to libgeos

From: Justin Pryzby <[email-masked]>
Date: Thu, 18 Oct 2018 11:40:19 -0500

On a brand new centos7 VM, built earlier this week, I just attempted to upgrade
to PG11:

[pryzbyj@database ~]$ sudo cat /var/lib/pgsql/loadable_libraries.txt
could not load library "$libdir/postgis-2.4": ERROR:  could not load library "/usr/pgsql-11/lib/postgis-2.4.so": /usr/pgsql-11/lib/postgis-2.4.so: undefined symbol: geod_polygon_init

[pryzbyj@database ~]$ rpm -qa |grep geos
geos36-3.6.3-1.rhel7.x86_64

[pryzbyj@database ~]$ rpm -qf /usr/pgsql-11/lib/postgis-2.4.so
postgis24_11-2.4.5-1.rhel7.1.x86_64

I can't see that symbol is available in PGDG 11 repo in geos36 nor 37.

When the package is built which has that symbol, it'll be necessary to have a
versioned dependency.

Justin

---

From: Justin Pryzby <[email-masked]>
Date: Mon, 29 Oct 2018 08:17:45 -0500

Want to mention that this is still an issue.

---

From: Devrim Gündüz <[email-masked]>
Date: Mon, 29 Oct 2018 15:33:18 +0000

Hi,

> Want to mention that this is still an issue.

Per discussion with upstream, I think I will have to release our GDAL package
to fix this issue. That will likely happen tomorrow.

Regards,
-- 
Devrim Gündüz
EnterpriseDB: https://www.enterprisedb.com
PostgreSQL Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR

---

From: Justin Pryzby <[email-masked]>
Date: Wed, 14 Nov 2018 12:34:40 -0600

> to fix this issue. That will likely happen tomorrow.

Checking back about this.

Do you mean you're planning on building an updated GDAL package?

Thanks,
-- 
Justin Pryzby
System Administrator
Telsasoft
+1-952-707-8581

---

From: Justin Pryzby <[email-masked]>
Date: Thu, 15 Nov 2018 14:50:19 -0600

> > to fix this issue. That will likely happen tomorrow.

I realized that a transition I already did to PG11 was running centos7 and
works just fine (with postgis and all its libs).

The issue appears to be this:

[pryzbyj@database ~]$ ldd /usr/pgsql-11/lib/postgis-2.4.so|grep proj
        libproj.so.0 => /lib64/libproj.so.0 (0x00007f5ef6681000)

[pryzbyj@database ~]$ rpm -qf /lib64/libproj.so.0
proj-4.8.0-4.el7.x86_64

[pryzbyj@database ~]$ rpm -qa |grep proj
proj-nad-4.8.0-4.el7.x86_64
proj49-4.9.3-3.rhel7.x86_64
proj-4.8.0-4.el7.x86_64

On the working server, libproj.so.0 finds proj49 (both servers have both
libraries installed).

[pryzbyj@database ~]$ ldd /usr/pgsql-11/lib/postgis-2.4.so |grep proj
        libproj.so.12 => /usr/proj49/lib/libproj.so.12 (0x00007f219c649000)

The postgis24_11 pacakge is pulling in proj/epel, and the PGDG proj49 doesn't
satisfy the dependency.

I worked around the problem on one of the failing servers by copying an older
postgis RPM out of /var/cache on the working server:

        package postgis24_11-2.4.5-1.rhel7.1.x86_64 (which is newer than postgis24_11-2.4.5-1.rhel7.x86_64) is already installed

Hope that helps.

Justin

---

From: Justin Pryzby <[email-masked]>
Date: Thu, 15 Nov 2018 14:53:58 -0600

>         libproj.so.12 => /usr/proj49/lib/libproj.so.12 (0x00007f219c649000)

Sorry, what I should have said was:

	libproj is libproj.so.12 and not so.0.

Justin