On Thu, Feb 21, 2019 at 02:26:06PM +0100, Christoph Berg wrote:
> Why does postgis-2.4.so even "see" the geos37 package?
>
> > [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" ??
Note that the problem was postgis24 was "seeing" geos 36 INSTEAD OF 37, not
that it was seeing 37.
I don't know about debian (from which I've been absent for a decade), but I
think for centos it's because of this:
[pryzbyj@template0 ~]$ rpm -ql geos37-3.7.0-1.rhel7.1.x86_64
/etc/ld.so.conf.d/geos37-pgdg-libs.conf
...
[pryzbyj@template0 ~]$ cat /etc/ld.so.conf.d/geos37-pgdg-libs.conf
/usr/geos37/lib64/
[pryzbyj@database ~]$ rpm -ql geos36
/etc/ld.so.conf.d/geos36-pgdg-libs.conf
...
[pryzbyj@database ~]$ cat /etc/ld.so.conf.d/geos36-pgdg-libs.conf
/usr/geos36/lib64/
Presumably, if both are installed it finds geos36-pgdg-libs.conf first, thus
linker uses to geos36.
I think to fully resolve this it's necessary to *prohibit* co-installation of
new postgis with old geos.
But note that's not adequately resolved by releasing a new geos36, since
someone might run rpm/dpkg -i on a single package, without installing all the
other updates from the repo.
Justin