GeoDjango安装:错误:无法访问文件“$libdir/postgis-1.5”:没有这样的文件或目录。

8
更新:我以为已经解决了,但实际上没有...请参见下文。
我正在Mac OSX上安装GeoDjango。我按照Mac安装说明进行操作,一切都很顺利,现在正在创建PostGIS的空间数据库模板
然而,当我尝试加载PostGIS SQL例程时,出现了ERROR: could not access file "$libdir/postgis-1.5": No such file or directory错误:
postgres$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:59: ERROR:  could not access file "$libdir/postgis-1.5": No such file or directory
<snip>
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:7785: ERROR:  type "geometry" does not exist

出了什么问题,我该怎么修复?

我在postgis IRC上找到了这些说明,但我认为我正在运行正确版本的pg_config等:

postgres$ which pg_config
/usr/local/pgsql/bin//pg_config
postgres$ which psql
/usr/local/pgsql/bin//psql
postgres$ pg_config --pkglibdir
/usr/local/pgsql/lib

我从KyngChaos安装了PostgreSQL及其PostGIS扩展。如果我查看/usr/local/pgsql/lib,那里有一个名为postgis-1.5.so的文件,所以我不明白为什么它找不到。


很可能这不是完整的错误信息 - 在“ERROR: current transaction is aborted,...”之前应该有其他内容。 - Milen A. Radev
是的,很抱歉。第一个错误是:psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:59: ERROR: 无法访问文件"$libdir/postgis-1.5":没有这样的文件或目录(我已经更新了问题以显示此内容)。 - AP257
您可以在专门的网站http://gis.stackexchange.com/上找到更多关于GIS相关问题的专业答案。 - amercader
2个回答

3

我知道这是一个老问题,但我通过Google找到了它,所以其他人也可能会来到这里。

在我的Mac OSX macports安装中,我有两个带有postgresql .so文件的文件夹:

/opt/local/lib/postgresql90/

并且

/usr/local/pgsql-9.0/lib/

看起来我的安装程序查找的是 /opt/local/lib/postgresql90/ 而不是 /usr/local/pgsql-9.0/lib/,所以为了安装 pg_trgm,我需要执行以下操作:

sudo ln -s /opt/local/lib/postgresql90/pg_trgm.so /usr/local/pgsql-9.0/lib/

这应该适用于任何没有放置正确的.so文件 - 在您的示例中,它应该是:
sudo ln -s /opt/local/lib/postgresql90/postgis-1.5.so /usr/local/pgsql-9.0/lib/

这让我也能安装postgis :)

0

文件 /usr/local/Cellar/postgresql9/9.0.17/lib/postgis-1.5.so 丢失。这个错误发生在 brew 升级之后,解决方法是卸载 postgis 并重新安装:

brew uninstall postgis15

brew install postgis15

结果应该是:PostGIS 插件库已安装到:/usr/local/Cellar/postgresql9/9.0.17/lib

因此,之后你应该能找到文件 /usr/local/Cellar/postgresql9/9.0.17/lib/postgis-1.5.so


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接