Обсуждение: error creating postgis25 extension on postgis 11
Hi,
On my Oracle Linux 7 box I had troubles vreating a postgis extension:
create extension postgis
The error is:
SQL Error [XX000]: ERROR: could not load library "/usr/pgsql-11/lib/postgis-2.5.so": /usr/pgsql-11/lib/postgis-2.5.so: undefined symbol: geod_polygon_init
ERROR: could not load library "/usr/pgsql-11/lib/postgis-2.5.so": /usr/pgsql-11/lib/postgis-2.5.so: undefined symbol: geod_polygon_init
This might be a packaging error in the postgis25_11 package for Oracle Linux 7.
I tried to create a ticket for this issue, however I'm not sure if this worked out correctly.
I'm sending this mail just to be sure...
[root@ol-pg11 lib64]# uname -a
Linux ol-pg11.rihu-ho 4.1.12-124.20.7.el7uek.x86_64 #2 SMP Wed Oct 24 14:15:06 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@ol-pg11 ~]# yum list installed | grep proj
proj.x86_64 4.8.0-4.el7 @epel
proj49.x86_64 4.9.3-3.rhel7.1 @pgdg11
Indeed there are 2 dependencies in my postgis25_11 package:
[root@ol-pg11 ~]# yum deplist postgis25_11
Loaded plugins: langpacks, ulninfo
package: postgis25_11.x86_64 2.5.0-1.rhel7.1
...
dependency: libproj.so.0()(64bit)
provider: proj.x86_64 4.8.0-4.el7
dependency: libproj.so.12()(64bit)
provider: proj49.x86_64 4.9.3-3.rhel7.1
...
postgis-2.5.so seems to be using the one in the /lib64 directory:
[root@ol-pg11 lib]# ldd postgis-2.5.so
...
libproj.so.0 => /lib64/libproj.so.0 (0x00007f6792485000)
...
The proj4.8 version is located in /lib64
[root@ol-pg11 lib]# cd /lib64/
[root@ol-pg11 lib64]# ls -l libproj.so*
lrwxrwxrwx. 1 root root 16 Oct 29 13:36 libproj.so.0 -> libproj.so.0.7.0
-rwxr-xr-x. 1 root root 338168 Jan 24 2014 libproj.so.0.7.0
Whereas the proj4.9 version is located in /usr/proj49/lib
[root@ol-pg11 lib64]# find / -name libproj.so.12
/usr/proj49/lib/libproj.so.12
The postgis25_11 package should only reference the the proj4.9 version.
Once I fix this manually by changing the symlink I am able to create the postgis extension.
The permanent option is to fix the package, hope you agree on this,
Kind regards,
Richard.
The problem is definitely due to the presence of two proj libraries at once, and postgis picking up on the “wrong” one first. You can force-remove the 4.8 one and run ldconfig and probably things work fine then.
Not sure how it’s happening, the spec file for postgis25 seems to make sense WRT what it’s declaring for dependencies:
I’m not sure why the “proj49” package doesn’t supercede and remove the “proj” package.
P
On Nov 4, 2018, at 7:56 AM, Richard Huesken <richard.huesken@gmail.com> wrote:Hi,On my Oracle Linux 7 box I had troubles vreating a postgis extension:create extension postgisThe error is:SQL Error [XX000]: ERROR: could not load library "/usr/pgsql-11/lib/postgis-2.5.so": /usr/pgsql-11/lib/postgis-2.5.so: undefined symbol: geod_polygon_initERROR: could not load library "/usr/pgsql-11/lib/postgis-2.5.so": /usr/pgsql-11/lib/postgis-2.5.so: undefined symbol: geod_polygon_initThis might be a packaging error in the postgis25_11 package for Oracle Linux 7.I tried to create a ticket for this issue, however I'm not sure if this worked out correctly.I'm sending this mail just to be sure...[root@ol-pg11 lib64]# uname -aLinux ol-pg11.rihu-ho 4.1.12-124.20.7.el7uek.x86_64 #2 SMP Wed Oct 24 14:15:06 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux[root@ol-pg11 ~]# yum list installed | grep projproj.x86_64 4.8.0-4.el7 @epelproj49.x86_64 4.9.3-3.rhel7.1 @pgdg11Indeed there are 2 dependencies in my postgis25_11 package:[root@ol-pg11 ~]# yum deplist postgis25_11Loaded plugins: langpacks, ulninfopackage: postgis25_11.x86_64 2.5.0-1.rhel7.1...dependency: libproj.so.0()(64bit)provider: proj.x86_64 4.8.0-4.el7dependency: libproj.so.12()(64bit)provider: proj49.x86_64 4.9.3-3.rhel7.1...postgis-2.5.so seems to be using the one in the /lib64 directory:[root@ol-pg11 lib]# ldd postgis-2.5.so...libproj.so.0 => /lib64/libproj.so.0 (0x00007f6792485000)...The proj4.8 version is located in /lib64[root@ol-pg11 lib]# cd /lib64/[root@ol-pg11 lib64]# ls -l libproj.so*lrwxrwxrwx. 1 root root 16 Oct 29 13:36 libproj.so.0 -> libproj.so.0.7.0-rwxr-xr-x. 1 root root 338168 Jan 24 2014 libproj.so.0.7.0Whereas the proj4.9 version is located in /usr/proj49/lib[root@ol-pg11 lib64]# find / -name libproj.so.12/usr/proj49/lib/libproj.so.12The postgis25_11 package should only reference the the proj4.9 version.Once I fix this manually by changing the symlink I am able to create the postgis extension.The permanent option is to fix the package, hope you agree on this,Kind regards,Richard.