5

私はpostgis2.0をubuntu-maverick-amd64Linuxサーバーで約1週間稼働させる作業をしています。ラスターとトポロジーのサポートを行います。

以下を使用して構成しました。

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とsudomakeinstallを実行することができました。したがって、私の推測では、問題はGEOSまたはGDALのインストールにあります。私のLinuxバージョンには3.3.1のダウンロード可能なパッケージがないので、ソースからビルドする必要がありました。Webサイトに記載されている指示に従って、tarfileをダウンロードしましたが、慣れていないため、おそらくこれを台無しにしました。makeとinstallを設定するためにディレクトリにcdする以外の指示から逸脱しませんでした。私はそれが私がすべきであると明確に述べたすべてをしました。ビルドしたときに正しくビルドされたというメッセージが表示されなかったので、失敗した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モジュールも問題でした。なぜなら、JSON-Cモジュールを使用すると言うのは、それをuntarし、/。configureで作成することだけだからです。でも、やらなければいけないことがもっとあると思います。

とても近くにいると感じているので、これには本当に不満を感じていますが、何をすべきかわからないところに乗り越えられない障害物にぶつかり続けています。

これらの重大なエラーを修正し、この本当に地獄のようなインストールプロセスをナビゲートするのを手伝ってくれる人に感謝します!geosをアンインストールする方法は実際にはわかりませんが、apt-getではなくソースからビルドする必要があるため、すべてをアンインストールして最初からやり直したいと思います。

私はLinuxも初めてです(Windowsラップトップにpostgis 2.0をインストールする方法をついに理解しました!)ので、できるだけ説明してください。

これは私にとって大きな頭痛の種でしたので、事前に感謝します!

4

1 に答える 1

4
  • 最初に、通常のユーザーとして and を実行し、ユーザー root としてフィナーレのみを実行するのが一般./configure的ですmakemake install(これにより、奇妙な所有権を持つファイルによってビルド ディレクトリが汚染されるのを回避できます)
  • 2 番目: ビルドしようとしている postgis-2.0 は、まだ開発中のバージョンです。(マイナーな) ビルド エラーを常に予期する必要があります。
  • 3番目: (朗報) なんとかコンパイルできましたが、最初にconfigure&build&installする必要がありました
    • geos-3.3.1
    • プロジェクト-4.7.0
    • json-c-0.9
    • gdal-1.8.1

geos-2.0SVN はその後、以下を使用してビルドされました。

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 の前処理に 1 つの小さな問題がありました。これは、1 行をコメントアウトすることで (一時的に) 回避できます (@linenumber 91)。

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

raster/rt_pg/Makefile.in ファイル内 (もちろん、./configure の前)

于 2011-12-26T14:39:35.053 に答える