首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载库"/usr/pgsql-10/lib/postgis-2.5.so":/usr/pgsql-10/lib/postgis-2.5.so:未定义符号: GEOSFrechetDistanceDensify

无法加载库"/usr/pgsql-10/lib/postgis-2.5.so":/usr/pgsql-10/lib/postgis-2.5.so:未定义符号: GEOSFrechetDistanceDensify
EN

Database Administration用户
提问于 2018-12-03 08:22:39
回答 1查看 5.1K关注 0票数 1

我在centos 7.4上安装了postgresql 10,并在几个月前安装了postgis2.5 2.5。安装成功,Iam能够使用postgis。突然间我得到了下面的错误。

代码语言:javascript
复制
test=# create extension postgis ;
ERROR:  could not load library "/usr/pgsql-10/lib/postgis-2.5.so": /usr/pgsql-10/lib/postgis-2.5.so: undefined symbol: GEOSFrechetDistanceDensify

在GIS-2.5上的ldd如下所示

代码语言:javascript
复制
lib]# ldd postgis-2.5.so 
    linux-vdso.so.1 =>  (0x00007ffcc03ef000)
    libgeos_c.so.1 => /usr/geos36/lib64/libgeos_c.so.1 (0x00007f7a7d766000)
    libproj.so.12 => /usr/proj49/lib/libproj.so.12 (0x00007f7a7d4fd000)
    libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00007f7a7d2f2000)
    libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f7a7cf88000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f7a7cc86000)
    libSFCGAL.so.1 => /lib64/libSFCGAL.so.1 (0x00007f7a7c1b7000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f7a7bdea000)
    libgeos-3.6.3.so => /usr/geos36/lib64/libgeos-3.6.3.so (0x00007f7a7ba3c000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f7a7b735000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7a7b51f000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7a7b303000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f7a7b0ff000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f7a7aee9000)
    liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f7a7acc3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f7a7dc56000)
    libCGAL.so.11 => /usr/lib64/libCGAL.so.11 (0x00007f7a7aa9b000)
    libCGAL_Core.so.11 => /usr/lib64/libCGAL_Core.so.11 (0x00007f7a7a862000)
    libmpfr.so.4 => /usr/lib64/libmpfr.so.4 (0x00007f7a7a607000)
    libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f7a7a38f000)
    libboost_date_time-mt.so.1.53.0 => /usr/lib64/libboost_date_time-mt.so.1.53.0 (0x00007f7a7a17e000)
    libboost_thread-mt.so.1.53.0 => /usr/lib64/libboost_thread-mt.so.1.53.0 (0x00007f7a79f67000)
    libboost_system-mt.so.1.53.0 => /usr/lib64/libboost_system-mt.so.1.53.0 (0x00007f7a79d63000)
    libboost_serialization-mt.so.1.53.0 => /usr/lib64/libboost_serialization-mt.so.1.53.0 (0x00007f7a79af7000)
    librt.so.1 => /usr/lib64/librt.so.1 (0x00007f7a798ef000)

GEOSFrechetDistanceDensify函数似乎是在Geos的3.7版中添加的,如下面的链接所示&我有Geos3.6。这就是造成这一错误的原因吗?https://trac.osgeo.org/geos/browser/git/NEWS?rev=3.7.0

请帮我解决这个问题。

EN

回答 1

Database Administration用户

发布于 2019-01-21 14:48:17

更新后,CentOS上也出现了同样的问题。我安装了3.6和3.7。

安装的$yum列表geos36.x86_64 3.6.3-1.rhel7 @pgdg10 geos37.x86_64 3.7.0-1.rhel7 @pgdg10 10

我不得不移除3.6:

$yum删除geos36

并重新启动PostgreSQL

$systemctl重新启动PostgreSQL10

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/223977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档