开始熟悉环境并且编译postgresql
2.1开始你要编译后的二进制代码放在 C:\PostgreSQL\8.0.0 这个目录中,仅此我是这么放的!
然后进入我们安装的MinGW的目录中,点击C:\msys\1.0\mys.bat 其实执行的是C:\msys\1.0\bin,当然这个我们不用去管它,我们编译自己的东西吧!
C:\msys\1.0\home\XXX [我的是Administrator]下面
执行下列命令:
cd ~
mkdir sources
mkdir sources/PostgreSQL
mkdir sources/PostGIS
mkdir sources/Geos
mkdir sources/Proj
mkdir /c/PostgreSQL
然后进入 c:\msys\1.0\home\XXX\sources
2.2下载 PostgreSQL 源代码 (8.0.0 version) 或者更高的版本
这里是8.0.0的下载地址 ftp://ftp2.fr.postgresql.org/pub/unix/postgresql/source/v8.0.0/postgresql-8.0.0.tar.gz
将你下载的代码放在 c:\msys\1.0\home\XXX\sources\PostgreSQL 这里。
进入msys然后执行:
cd ~/sources/PostgreSQL
tar xvzf postgresql-8.0.0.tar.gz
cd postgresql-8.0.0
configure --prefix=/c/PostgreSQL/8.0.0
make
make install
2.3.Geos and Proj
下载下面的软件 Geos and Proj
http://geos.refractions.net/geos-2.1.1.tar.bz2
ftp://ftp.remotesensing.org/proj/proj-4.4.9.tar.gz
把geos-2.1.1.tar.bz2和Proj-4.4.9.tar.gz 放在 c:\msys\1.0\home\XXX\sources\Geos 和c:\msys\1.0\home\XXX\sources\Proj
2.3.2. 编译
cd ~/sources/Geos
tar xvjf geos-2.1.1.tar.bz2
cd geos-2.1.1
configure --prefix=/c/PostgreSQL/8.0.0 && make && make install
cd ~/sources/Proj
tar xvzf proj-4.4.9.tar.gz
cd proj-4.4.9
configure --prefix=/c/PostgreSQL/8.0.0 && make && make install
还有可能需要ln这个命令进行映射,自己研究吧,详细的看编译的过程!
2.3.3.DLL creation
你必须建立两个(dll) 名字为: libproj.dll and libgeos.dll 在c:\PostgreSQL\8.0.0\lib 目录下cd /c/PostgreSQL/8.0.0/lib
g++ -shared -o libgeos.dll -Wl,--out-implib=libgeos.dll.a -Wl,--export-all-symbols -Wl,\
--enable-auto-import -Wl,--whole-archive libgeos.a -Wl,--no-whole-archive /c/mingw/lib/libmingw32.a
cd c/PostgreSQL/8.0.0/lib
gcc -shared -o libproj.dll -Wl,--out-implib=libproj.dll.a -Wl,--export-all-symbols -Wl,\
--enable-auto-import -Wl,--whole-archive libproj.a -Wl,--no-whole-archive /c/mingw/lib/libmingw32.a
2.4.PostGIS
开始安装PostGIS
2.4.1.Downloadingt
PostGIS (version 1.0.0)下载地址:
http://postgis.refractions.net/postgis-1.0.0.tar.gz
将它移动到 c:\msys\1.0\home\XXX\sources\PostGIS 目录中去
2.4.2.Compilation and Installation
进入msys然后执行下面的命令
cd ~/sources/PostGIS
tar xvzf postgis-1.0.0.tar.gz Form MinGW, do the followings
cd ~/sources/PostGIS/postgis-1.0.0
configure --enable-autoconf --with-geos=/c/PostgreSQL/8.0.0/bin/geos-config \
--with-proj=/c/PostgreSQL/8.0.0 \
--with-pgsql-src=/home/$USERNAME/sources/PostgreSQL/postgresql-8.0.0 --prefix=/c/PostgreSQL/8.0.0
Form MinGW, do the followings
cd ~/sources/PostGIS/postgis-1.0.0
configure --enable-autoconf --with-geos=/c/PostgreSQL/8.0.0/bin/geos-config \
--with-proj=/c/PostgreSQL/8.0.0 \
--with-pgsql-src=/home/$USERNAME/sources/PostgreSQL/postgresql-8.0.0 --prefix=/c/PostgreSQL/8.0.0 Form MinGW, do the followings
cd ~/sources/PostGIS/postgis-1.0.0
configure --enable-autoconf --with-geos=/c/PostgreSQL/8.0.0/bin/geos-config \
--with-proj=/c/PostgreSQL/8.0.0 \
--with-pgsql-src=/home/$USERNAME/sources/PostgreSQL/postgresql-8.0.0 --prefix=/c/PostgreSQL/8.0.0 $USERNAME - 就是你登陆的用户
继续执行下列命令:
cd ~/sources/PostGIS/postgis-1.0.0
make && make install
2.5.Commands summary
下面是利用脚本文件下载安装全过程,当然是建立在环境搭建好的基础上,不建议用这种安装,万一哪个地方弄错了,岂不是前功尽弃了!
2.5.1.下载 wget 工具
下面是它饿下载路径http://gnuwin32.sourceforge.net/packages.html 'SetUp' 路径. 将它安装在c:\MinGW目录下
2.5.2.General script
复制下面的脚本的内容放在这文件里install_all.sh script.将它移动到c:\msys\1.0\home\XXX 然后从MinGW执行这个脚本
下面是脚本代码:
export PGSQL_DIST=/c/PostgreSQL/8.0.0
cd ~
mkdir sources
mkdir sources/Geos
mkdir sources/Proj
mkdir sources/PostGIS
mkdir sources/PostgreSQL
mkdir $PGSQL_DIST/..
#
# PostgreSQL
#
cd ~/sources/PostgreSQL
wgetftp://ftp2.fr.postgresql.org/pub/unix/postgresql/source/v8.0.0/postgresql-8.0.0.tar.gz
tar xvzf postgresql-8.0.0.tar.gz
cd postgresql-8.0.0
configure --prefix=$PGSQL_DIST --enable-multibyte --with-CXX
make
make install
#
# Geos and Proj
#
cd ~/sources/Geos
wget http://geos.refractions.net/geos-2.1.1.tar.bz2
tar xvjf geos-2.1.1.tar.bz2
cd geos-2.1.1
configure --prefix=$PGSQL_DIST && make && make install
cd ~/sources/Proj
wget ftp://ftp.remotesensing.org/proj/proj-4.4.9.tar.gz
tar xvzf proj-4.4.9.tar.gz
cd proj-4.4.9
configure --prefix=$PGSQL_DIST && make && make install
#
# DLL creation
#
cd $PGSQL_DIST/lib
g++ -shared -o libgeos.dll -Wl,--out-implib=libgeos.dll.a -Wl,--export-all-symbols -Wl,\
--enable-auto-import -Wl,--whole-archive libgeos.a -Wl,--no-whole-archive /c/mingw/lib/libmingw32.a
cd $PGSQL_DIST/lib
gcc -shared -o libproj.dll -Wl,--out-implib=libproj.dll.a -Wl,--export-all-symbols -Wl,\
--enable-auto-import -Wl,--whole-archive libproj.a -Wl,--no-whole-archive /c/mingw/lib/libmingw32.a
#
# PostGIS
#
cd ~/sources/PostGIS
wgethttp://postgis.refractions.net/postgis-1.0.0.tar.gz
tar xvzf postgis-1.0.0.tar.gz
cd postgis-1.0.0
configure --enable-autoconf --with-geos=$PGSQL_DIST/bin/geos-config --with-proj=$PGSQL_DIST \
--with-pgsql-src=/home/$USERNAME/sources/PostgreSQL/postgresql-8.0.0 --prefix=$PGSQL_DIST
make && make install
postgresql编译结束
页:
[1]