我一直在努力让 postgis 2.0 在 ubuntu-maverick-amd64 linux 服务器上运行大约一周。我正在寻求栅格和拓扑支持。
我使用以下配置:
sudo ./configure --with-raster --with-topology --with-jsondir=/home/zonabili/json-c-0.9
下面的配置文件描述了我的规格。
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
我设法使用 gdal 和 geos 的旧版本(对新功能无用)运行 make 和 sudo make install。因此,我的猜测是问题出在我安装的 GEOS 或 GDAL 上。我的 linux 版本没有 3.3.1 可下载包,所以我必须从源代码构建,我可能搞砸了,因为我不习惯这样做,尽管我按照网站上提供的说明下载了 tar 文件。除了 cd-ing 到目录来配置 make 和 install 之外,我没有偏离说明。我做了它明确规定我应该做的一切。我在构建它时没有收到它构建正确的消息,所以我认为出现了问题,因为在我失败的 postgis 构建接近尾声时出现以下错误:
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-C 模块也是一个问题,因为他们所说的只是解压它并 /.configure 制作它。但我觉得我可能还需要做更多的事情。
我真的对此感到沮丧,因为我觉得我是如此接近,但在我不知道该怎么做的地方不断遇到无法克服的障碍。
我将非常感谢任何可以帮助修复这些公然错误并帮助我导航这个真正地狱般的安装过程的人!我愿意卸载所有东西并从头开始,尽管我实际上并不知道如何卸载 geos,因为我必须从源代码而不是 apt-get 构建它们!
我也是 linux 新手(我终于想出了如何在我的 Windows 笔记本电脑上安装 postgis 2.0!)所以请尽可能描述。
在此先感谢,因为这对我来说是一个巨大的头痛!