Postgres Postgis错误:未加载库:/usr/local/lib/libspatialite.5.dylib

时间:2014-08-05 23:57:05

标签: postgresql postgis

在开发中浏览Postgres-Rails应用程序时,由于PG错误,我遇到了错误输出的页面。认为我当前的Git分支架构可能与我的数据库不同步,我试图rake db:reset。这导致错误(我不再能够重现)声称它无法在postgis.control目录中找到usr/local/Cellar/postgresql/9.3.5/share/postgresql文件(IIRC)。在看到我的9.3.4版Postgres的相应目录中存在该控制文件之后,我尝试了很多东西,但最终卸载了我的postgres-9.3.4并且brew已经卸载然后再次安装PostGIS。在某些时候,尽管我每次尝试重置数据库仍然失败,但错误消息已更改为

  

错误:无法加载库“/usr/local/Cellar/postgresql/9.3.5/lib/rtpostgis-2.1.so”:dlopen(/usr/local/Cellar/postgresql/9.3.5/lib/rtpostgis -2.1.so,10):未加载库:/usr/local/lib/libspatialite.5.dylib

然后我尝试卸载Postgres并重新安装,但即使这样也无法解决问题。

(注意:我已尝试在Postgres控制台中创建PostGIS的扩展,但这给出了与上面列出的完全相同的错误。)

1 个答案:

答案 0 :(得分:21)

好吧想通了!

所以我不确定这甚至与Postgres或PostGis直接相关。

在我的第一篇文章中,我省略了后续的错误行,这些错误行实际上是最重要的。他们是

      Referenced from: /usr/local/lib/libgdal.1.dylib
      Reason: image not found

libgdal.1.dylib是来自GDAL(地理空间数据抽象库)的文件。缺少的文件libspatialite.5.dylib来自SpatiaLite,这是一个用于扩展SQLite的库。在/ usr / local / lib /我有另一个文件libspatialite.7.dylib,但是没有libspatialite.5.lib。在探索之后  / usr / local / opt和其他子目录,我发现我有两个版本的SpatiaLite,前者使用libspatialite.5.dylib,后者使用libspatialite.7.lib。

我的GDAL似乎与我最新版本的spaceite不同步。我执行了

$ brew uninstall gdal
$ brew install gdal

我的问题解决了!