在Ubuntu Linux GEOS/GDAL问题上安装功能齐全的PostGIS 2.0 [英] Installing a fully functional PostGIS 2.0 on Ubuntu Linux GEOS/GDAL issues

查看:222
本文介绍了在Ubuntu Linux GEOS/GDAL问题上安装功能齐全的PostGIS 2.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大约一周以来,我一直在努力使postgis 2.0能够在ubuntu-maverick-amd64 linux服务器上运行.我要寻求栅格和拓扑支持.

I have been working on getting postgis 2.0 up and running on an ubuntu-maverick-amd64 linux server for about a week now. I am going for raster and topology support.

我使用以下配置:

sudo ./configure --with-raster --with-topology --with-jsondir=/home/zonabili/json-c-0.9

下面的配置文件描述了我的规格.

The configuration file below describes my specs.

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可下载的软件包,因此我必须从源代码构建,由于我不习惯这样做,所以我可能把它弄乱了,尽管我遵循了

I managed to run make and sudo make install with older (and useless for new functions) versions of gdal and geos. Thus, my guess is that the problems lies with my install of GEOS or GDAL. There is no 3.3.1 downloadable package for my linux version so I had to build from source and I probably messed this up as I am not used to doing it, although I followed the directions provided on the website and downloaded the tarfile. I did not deviate from the instructions other than cd-ing to the directory to configure make and install. I did everything that it explicitly stated that I should do. I didn't get a message that it built correctly when I built it, so I think something went wrong as I got the following errors near the end of my failed postgis build:

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使其成为问题.但我觉得我可能还需要做更多的事情.

The JSON-C module was also a problem, as all they say to do with it is untar it and /.configure make it. but I feel like there is probably more that I need to do.

我真的感到很沮丧,因为我感觉自己是如此亲密,但是在我不知道该怎么办的情况下,不断遇到无法克服的障碍.

I am really getting frustrated with this as I feel that I am so close, but keep hitting insurmountable obstacles where I have no clue what to do.

我将非常感谢能够帮助解决这些严重错误并帮助我解决这个真正令人毛骨悚然的安装过程的人!我愿意卸载所有内容并从头开始,尽管我实际上并不知道如何卸载geos,因为我必须从源代码而不是apt-get来构建它们.

I would greatly appreciate anyone who could help fix these flagrant errors and help me navigate this truly hellish installation process! I would be willing to uninstall everything and start from the beginning, although I don't actually know how to uninstall the geos because I had to build them from source and not apt-get!

我也是linux的新手(我终于弄清楚了如何在Windows笔记本电脑上安装postgis 2.0!),所以请尽可能描述一下.

I am also new to linux (I finally just figured out how to get postgis 2.0 installed on my windows laptop!) so please be as descriptive as possible.

在此先感谢您,因为这让我头疼不已!

Thanks in advance, as this has been a huge headache for me!

推荐答案

  • 首先:通常以普通用户身份执行./configuremake,而仅以root用户身份执行结局make install. (这将避免构建目录被所有权奇怪的文件污染)
  • second:您打算构建的postgis-2.0是仍在开发中的版本.您应该始终期待(较小的)构建错误.
  • 第三名:(好消息)我设法对其进行了编译,但是我首先必须进行配置和构建并安装
    • geos-3.3.1
    • proj-4.7.0
    • json-c-0.9
    • gdal-1.8.1
      • First: it is common to perform ./configure and make as a plain user, and only doing the finale make install as user root. (this will avoid the build directory to be polluted by files with strange ownership)
      • second: the postgis-2.0 that you intend to build is a version still in development. You should always expect (minor) build-errors.
      • third: (the good news) I managed to get it compiled, but I first had to configure&build&install
        • geos-3.3.1
        • proj-4.7.0
        • json-c-0.9
        • gdal-1.8.1
        • geos-2.0SVN随后被构建为:

          geos-2.0SVN was subsequently built with:

          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(yuck)对* .sql.in进行预处理存在一个小问题,可以(通过注释掉一行(@linenumber 91))来暂时解决该问题.

          There was one minor issue with preprocessing *.sql.in via gcc (yuck), which can (temporarily) be worked-around by commenting out one line (@linenumber 91)

          ## SQL objects deps here # comment out next line...
          #$(SQL_OBJS): ../../postgis/sqldefines.h
          

          在raster/rt_pg/Makefile.in文件中(当然,在./configure之前)

          in the raster/rt_pg/Makefile.in file (prior to ./configure, of course)

          这篇关于在Ubuntu Linux GEOS/GDAL问题上安装功能齐全的PostGIS 2.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆