`
javatgo
  • 浏览: 1126259 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

开始熟悉环境并且编译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.dllc:\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 - 就是你登陆的用户[windows平台]

继续执行下列命令:

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

wget  ftp://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

wget  http://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编译结束                 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics