首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu /GDAL问题上安装功能齐全的PostGIS 2.0

在Ubuntu /GDAL问题上安装功能齐全的PostGIS 2.0
EN

Stack Overflow用户
提问于 2011-12-25 00:32:53
回答 1查看 4.8K关注 0票数 5

到目前为止,我一直致力于在ubuntu-maverick 64 linux服务器上运行postgis 2.0。我要做栅格和拓扑支持。

我使用以下方法来配置:

代码语言:javascript
复制
sudo ./configure --with-raster --with-topology --with-jsondir=/home/zonabili/json-c-0.9

下面的配置文件描述了我的规范。

代码语言:javascript
复制
PostGIS is now configured for x86_64-unknown-linux-gnu

-------------- Compiler Info -------------
 C compiler:           gcc -g -O2
 C++ compiler:         g++ -g -O2

-------------- Dependencies --------------
 GEOS config:          /usr/local/bin/geos-config
 GEOS version:         3.3.1
 GDAL config:          /usr/bin/gdal-config
 GDAL version:         1.8.0
 PostgreSQL config:    /usr/bin/pg_config
 PostgreSQL version:   PostgreSQL 9.1.2
 PROJ4 version:        47
 Libxml2 config:       /usr/bin/xml2-config
 Libxml2 version:      2.7.7
 JSON-C support:       Yes
 PostGIS debug level:  0
-------------- Extensions --------------
 PostGIS Raster:       0.1.6d
 PostGIS Topology

-------- Documentation Generation --------
 xsltproc:             /usr/bin/xsltproc
 xsl style sheets:
 dblatex:              /usr/bin/dblatex
 convert:              /usr/bin/convert

我成功地运行了make和sudo make,使用了更老版本的gdal和geos (对于新功能来说毫无用处)。因此,我的猜测是,问题在于我安装的GEOS或GDAL。我的linux版本没有3.3.1可下载的包,所以我不得不从源代码构建,我可能会搞砸,因为我不习惯这样做,尽管我遵循了网站提供的说明并下载了tarfile。除了cd-ing之外,我没有偏离对目录进行配置、生成和安装的指令。我做了它明确规定我应该做的每件事。当我构建它时,我没有收到它正确构建的消息,所以当我在失败的postgis构建结束时得到以下错误时,我想出了一些问题:

代码语言:javascript
复制
make[2]: Leaving directory `/home/zonabili/postgis-2.0.0SVN/raster/rt_pg'
make -C loader
make[2]: Entering directory `/home/zonabili/postgis-2.0.0SVN/raster/loader'
/bin/bash ../..//libtool --mode=link gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-pr
ototypes -I../rt_core -I/home/zonabili/postgis-2.0.0SVN/liblwgeom  -I/usr/includ
e/gdal -I/usr/local/include raster2pgsql.o ../rt_core/librtcore.a ../rt_core/lib
rtcore.a /home/zonabili/postgis-2.0.0SVN/liblwgeom/.libs/liblwgeom.a -L/usr/lib
-lgdal1.8.0 -L/usr/local/lib -lgeos_c -lm -o raster2pgsql
gcc -g -O2 -fPIC -DPIC -Wall -Wmissing-prototypes -I../rt_core -I/home/zonabili/
postgis-2.0.0SVN/liblwgeom -I/usr/include/gdal -I/usr/local/include raster2pgsql
.o -o raster2pgsql  ../rt_core/librtcore.a /home/zonabili/postgis-2.0.0SVN/liblw
geom/.libs/liblwgeom.a -L/usr/lib -lgdal1.8.0 -L/usr/local/lib -lgeos_c -lm
/home/zonabili/postgis-2.0.0SVN/liblwgeom/.libs/liblwgeom.a(lwgeom_geos.o): In f
unction `LWGEOM2GEOS':
/home/zonabili/postgis-2.0.0SVN/liblwgeom/lwgeom_geos.c:319: undefined reference
 to `GEOSGeom_createEmptyPolygon'
/home/zonabili/postgis-2.0.0SVN/liblwgeom/.libs/liblwgeom.a(lwgeom_geos.o): In f
unction `lwgeom_sharedpaths':
/home/zonabili/postgis-2.0.0SVN/liblwgeom/lwgeom_geos.c:1024: undefined referenc
e to `GEOSSharedPaths'
/home/zonabili/postgis-2.0.0SVN/liblwgeom/.libs/liblwgeom.a(lwgeom_geos.o): In f
unction `lwgeom_snap':
/home/zonabili/postgis-2.0.0SVN/liblwgeom/lwgeom_geos.c:961: undefined reference
to `GEOSSnap'
v collect2: ld returned 1 exit status
make[2]: *** [raster2pgsql] Error 1
make[2]: Leaving directory `/home/zonabili/postgis-2.0.0SVN/raster/loader'
make[1]: *** [rtloader] Error 2
make[1]: Leaving directory `/home/zonabili/postgis-2.0.0SVN/raster'
make: *** [all] Error 1

JSON模块也是一个问题,就像他们所说的那样,只需要解压缩它,/.configure就可以实现它。但我觉得我可能还有更多的事要做。

我真的对此感到沮丧,因为我觉得我离得太近了,但是在我不知道该怎么做的情况下,我仍然会遇到无法克服的障碍。

我将非常感谢任何人谁可以帮助修复这些公然的错误,并帮助我导航这个真正的地狱安装过程!我愿意卸载所有东西,从一开始就开始,尽管我实际上不知道如何卸载geos,因为我必须从源代码构建它们,而不是apt-get!

我也是linux的新手(我终于想出了如何将postgis 2.0安装在我的windows笔记本电脑上!)所以请尽可能地描述。

提前谢谢,因为这对我来说是一个巨大的头痛!

EN

回答 1

Stack Overflow用户

发布于 2011-12-26 14:39:35

  • 首先,通常以普通用户的身份执行./configuremake,而只将finale make install作为用户根。(这将避免生成目录受到具有奇怪所有权的文件的污染)
  • 第二:您打算构建的postgis-2.0版本仍在开发中。您应该总是期望(小的)构建错误。
  • 第三:(好消息)我设法编译了它,但我首先必须配置&构建和安装。
    • geos-3.3.1
    • proj-4.7.0
    • json-c-0.9
    • gdal-1.8.1

随后建立了GEOS2.0SVN:

代码语言:javascript
复制
PROG=postgis
#VERSION=1.5.4SVN
VERSION=2.0.0SVN

./configure --prefix=/opt/${PROG} \
    --with-projdir=/opt/proj \
    --with-geosconfig=/opt/geos/bin/geos-config     \
    --with-jsondir=/opt/json-c      \
    --with-gdalconfig=/opt/gdal/bin/gdal-config     \
    --with-raster --with-topology

make

make check

sudo make install

通过gcc (讨厌)对*.sql.in进行预处理有一个小问题,可以(暂时)通过注释掉一行(@linenumber 91)来解决。

代码语言:javascript
复制
## SQL objects deps here # comment out next line...
#$(SQL_OBJS): ../../postgis/sqldefines.h

在raster/rt_pg/Makefile.in文件中(当然是在./配置之前)

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

https://stackoverflow.com/questions/8627653

复制
相关文章

相似问题

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