mac osx 10.6.3にpostgis, mapserverをinstallする機会があったので、その手順を書き留めておきます。
参考にさせていただいたurl:
http://thinkit.co.jp/cert/article/0701/9/1/2.htm
postgis, mapserver は依存moduleが多い
postgis, mapserver は依存するライブラリが多く、結局、次のライブラリをinstallしました。
fontconfig-2.8.0.tar.gz freetype-2.3.12.tar.gz freetype-doc-2.3.12.tar.gz gd-2.0.35.tar.gz gdal-1.7.2.tar.gz geos-3.2.2.tar.bz2 jpegsrc.v8b.tar.gz libpng-1.4.3.tar.gz mapserver-5.6.3.tar.gz postgis-1.5.1.tar.gz postgresql-8.4.4.tar.gz proj-4.7.0.tar.gz zlib-1.2.5.tar.gz
postgres install
$ cd ~/tmp/postgresql-8.4.4 $ ./configure $ make $ su # make install ※ ここで user : postgresの追加 # mkdir /data/pgsql # chown postgres /data/pgsql # su - postgres $ /usr/local/pgsql/bin/initdb -E utf8 -D /data/pgsql
osxではadduser postgresできないようなので、システム環境設定からユーザ追加を行ないました。
また、initdbでは、databaseのencodingをutf8にしていますが、このencodingは、psqlを起動し、次のようにして確認できます。
kaigan=# \l kaigan; List of databases Name | Owner | Encoding | Collation | Ctype | Access privileges -----------+----------+----------+-----------+-------+----------------------- kaigan | postgres | UTF8 | C | C |
centosでは、geosのmakeにlibicu が必要かも
centos環境(ver.?)でgeosをmakeすると
#error Can not compile without isnan function or macro : error: 'ISNAN' was not declared in this scope
のようなエラーになるらしい。
libicu をinstallすることで解消したそうだが、なぜunicodeライブラリが必要なんだろう?
http://site.icu-project.org/
postgisのinstallとGIS databaseの作成
http://postgis.refractions.net/
http://www.finds.jp/docs/pgisman/index.html
postgisは、それ自体のinstallに加え、database作成後にpostgisの関数を取り込み、拡張する必要があります。
$ cd ~/tmp/postgis-1.5.1 $ ./configure --with-geos --with-proj \ --with-pgsql=/usr/local/pgsql/bin/pg_config \ --with-pgconfig=/usr/local/pgsql/bin/pg_config $ make # make install
GIS databaseの作成 とdatabaseの拡張
$ /usr/local/pgsql/bin/createdb -U postgres -E utf8 kaigan $ /usr/local/pgsql/bin/createlang -U postgres plpgsql kaigan $ /usr/local/pgsql/bin/psql -U postgres -d kaigan \ -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql $ /usr/local/pgsql/bin/psql -U postgres -d kaigan \ -f /usr/local/pgsql/share/contrib/postgis-1.5/spatial_ref_sys.sql
mapserver install
最後にmapserver。mapserverにはmake installが必要ありません。
今回の場合、/Users/endo/local/mapserver-5.6.3 にinstallしました。
$ cd ~/tmp/mapserver-5.6.3 $ ./configure \ --with-proj --with-gdal --with-ogr --with-geos --with-gd \ --with-postgis=/usr/local/pgsql/bin/pg_config $ make $ cd .. $ mv mapserver-5.6.3 ~/local/
最後にpostgresを起動して接続テスト
# /Library/StartupItems/pgsql/postgres start $ /usr/local/pgsql/bin/psql -U postgres -d kaigan