pramsey / pgsql-ogr-fdw

PostgreSQL foreign data wrapper for OGR
MIT License
237 stars 34 forks source link

undefined symbol: GEOSConcaveHull #246

Closed rinaldsb closed 1 year ago

rinaldsb commented 1 year ago
    I have tested the problem on freshly installed Rocky linux 8.6 VM, and it had the same problem:
# pgsql
dnf install -y dnf-plugins-core
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf config-manager --set-disabled pgdg10 pgdg11 pgdg12 pgdg13 pgdg15
dnf -y module disable postgresql
# epel/powertools
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf config-manager --set-enabled powertools
# install postgres/postgis/ogr_fdw
dnf install postgresql14 postgresql14-server postgresql14-contrib postgresql14-devel postgis33_14 ogr_fdw_14

/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl start postgresql-14

su - postgres
export PATH=/usr/pgsql-14/bin:$PATH

createdb impshp

(cat << 'EOF'
CREATE EXTENSION postgis;
CREATE EXTENSION ogr_fdw;
EOF
) | psql impshp

mkdir ~/shp
wget https://www.geofabrik.de/data/shapefiles_dresden.zip -O ~/shp/shapefiles_dresden.zip
(cd ~/shp; unzip -q shapefiles_dresden.zip)

export PATH=/usr/pgsql-14/bin:$PATH

echo "SELECT postgis_full_version();"  | psql -tqA impshp
POSTGIS="3.3.2 4975da8" [EXTENSION] PGSQL="140" GEOS="3.11.1-CAPI-1.17.1" PROJ="9.0.1" LIBXML="2.9.7" LIBJSON="0.13.1" LIBPROTOBUF="1.3.0" WAGYU="0.5.0 (Internal)"

(cat << EOF
CREATE SERVER IF NOT EXISTS shapes
  FOREIGN DATA WRAPPER ogr_fdw
  OPTIONS (
    datasource '$(echo ~/shp)'
    ,format 'ESRI Shapefile'
    );
EOF
) | psql impshp  

(cat << 'EOF'
IMPORT FOREIGN SCHEMA "ogr_all"
FROM SERVER shapes INTO public;
EOF
) | psql impshp

NOTICE:  Number of tables to be created 29
ERROR:  could not load library "/usr/pgsql-14/lib/postgis-3.so": /usr/pgsql-14/lib/postgis-3.so: undefined symbol: GEOSConcaveHull
LINE 3:   geom Geometry(Polygon,4326),
               ^
QUERY:  CREATE FOREIGN TABLE gis_osm_adminareas_a_07_1 (
  fid bigint,
  geom Geometry(Polygon,4326),
  osm_id varchar(10),
  lastchange varchar(20),
  code integer,
  fclass varchar(28),
  geomtype varchar(1),
  postalcode varchar(10),
  name varchar(100)
) SERVER shapes
OPTIONS (layer 'gis_osm_adminareas_a_07_1');

CONTEXT:  importing foreign table "gis_osm_adminareas_a_07_1"

[postgres@localhost ~]$ ldd /usr/pgsql-14/lib/postgis-3.so
        linux-vdso.so.1 (0x00007ffe0d96f000)
        libgeos_c.so.1 => /usr/geos311/lib64/libgeos_c.so.1 (0x00007f62bf432000)
        libtiff.so.5 => /lib64/libtiff.so.5 (0x00007f62bf1b9000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f62bee37000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f62beaa2000)
        libproj.so.25 => /usr/proj90/lib64/libproj.so.25 (0x00007f62be498000)
        libjson-c.so.4 => /lib64/libjson-c.so.4 (0x00007f62be288000)
        libprotobuf-c.so.1 => /lib64/libprotobuf-c.so.1 (0x00007f62be07f000)
        libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f62bdd17000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f62bdaff000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f62bd8d8000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f62bd6d4000)
        libSFCGAL.so.1 => /lib64/libSFCGAL.so.1 (0x00007f62bc986000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f62bc76e000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f62bc3a8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f62bf9f6000)
        libgeos.so.3.11.1 => /usr/geos311/lib64/libgeos.so.3.11.1 (0x00007f62bbeca000)
        libjbig.so.2.1 => /lib64/libjbig.so.2.1 (0x00007f62bbcbe000)
        libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f62bba55000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f62bb835000)
        libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007f62bb521000)
        libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f62bb293000)
        libgmpxx.so.4 => /usr/lib64/libgmpxx.so.4 (0x00007f62bb08c000)
        libboost_thread.so.1.66.0 => /usr/lib64/libboost_thread.so.1.66.0 (0x00007f62bae60000)
        libboost_system.so.1.66.0 => /usr/lib64/libboost_system.so.1.66.0 (0x00007f62bac5b000)
        libboost_serialization.so.1.66.0 => /usr/lib64/libboost_serialization.so.1.66.0 (0x00007f62baa1a000)
        libboost_chrono.so.1.66.0 => /usr/lib64/libboost_chrono.so.1.66.0 (0x00007f62ba811000)
        libboost_date_time.so.1.66.0 => /usr/lib64/libboost_date_time.so.1.66.0 (0x00007f62ba5fe000)
        libboost_atomic.so.1.66.0 => /usr/lib64/libboost_atomic.so.1.66.0 (0x00007f62ba3fc000)
        libmpfr.so.4 => /usr/lib64/libmpfr.so.4 (0x00007f62ba198000)
        libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f62b9f00000)
        libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007f62b9cd9000)
        libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f62b9abb000)
        libssh.so.4 => /lib64/libssh.so.4 (0x00007f62b984c000)
        libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f62b963b000)
        libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f62b93a7000)
        libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f62b8ebe000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f62b8c69000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f62b897f000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f62b8768000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f62b8564000)
        libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f62b8315000)
        liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f62b8105000)
        libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f62b7ef8000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f62b7cf0000)
        libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f62b796f000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f62b775e000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f62b755a000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f62b7342000)
        libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f62b7124000)
        libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f62b6f03000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f62b6cd9000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f62b6ab0000)
        libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f62b682c000)

Where should i address this issue ?

Originally posted by @rinaldsb in https://github.com/pramsey/pgsql-ogr-fdw/issues/245#issuecomment-1339373973

pramsey commented 1 year ago

You'll want to file with the PGDG yum project: https://redmine.postgresql.org/projects/pgrpms