注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

PostGIS-2.0.4 bug 一例? "../postgis-2.0.so: undefined symbol: GETSTRUCT"  

2014-04-23 17:34:49|  分类: PG案例分析 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
     
       今天搭建一测试环境,需要安装 postgis , postgis 是我最不愿意安装的 PG 组件,没有之一,特别是 postgis 2.0 以后,安装 postgis 的同时需要安装很多其它组件,例如 GDAL, LibXML2, JSON-C 等。
   
   今天安装的是 postgis-2.0.4,  关于安装请参考  PostgreSQL:Postgis 2.0  安装。
   
--1 环境信息
系统:  CentOS release 5.4
数据库: PostgreSQL 9.3.4
PostGIS:  2.0.4
   
   系统比较老,在编译安装过程中遇到了不少问题,有个问题如下: 
   
--2 ERROR

pg93@host_db-> psql -h 127.0.0.1 db_lbs
psql (9.3.4)
Type "help" for help.

db_lbs=# create extension postgis;
ERROR:  could not load library "/opt/pgsql9.3.4/lib/postgis-2.0.so": /opt/pgsql9.3.4/lib/postgis-2.0.so: undefined symbol: GETSTRUCT

备注: postgis 安装成功,但在通过 "create extension postgis" 加载组件时报以上错误,网上查了下说是 postgis 的一个 bug,解决方法如下:
 

--3 修改以下文件

 vim /opt/soft_bak/postgis-2.0.4/postgis/geometry_estimate.c

在文件开始部分增加以下:

#include "utils/rel.h"

#include "../postgis_config.h"

//add
#if POSTGIS_PGSQL_VERSION >= 93
  #include "access/htup_details.h"
#endif

#include "liblwgeom.h"

备注:之后重新编译,以下是我的编译命令。

--4 编译,安装

# ./configure --with-pgconfig=/opt/pgsql9.3.4/bin/pg_config --with-projdir=/usr/local/pg_tool/proj  --with-geosconfig=/usr/local/pg_tool/geos/bin/geos-config --with-gdalconfig=/usr/local/pg_tool/gdal/bin/gdal-config --with-jsondir=/usr/local/pg_tool/json
# make
# make install


--5 之后再次加载 postgis 组件正常

pg93@host_db-> psql -h 127.0.0.1 db_lbs
psql (9.3.4)
Type "help" for help.

db_lbs=# create extension postgis;
CREATE EXTENSION
db_lbs=# create extension postgis_topology;
CREATE EXTENSION
db_lbs=# CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION


--6  参考

  评论这张
 
阅读(518)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016