从哪里下载 postgresql 9.3.4 不需要我说了吧。
大部分内容和我前面说的在 sco openserver 5.0.6 上安装 postgresql 的方法其实是大同小异。
需要注意的部分:
在 sco openserver 6.0 上不能使用 gcc ( 没有相关的版本)。
展开 postgresql-9.3.4.tar.gz 的压缩包(由于需要 gzip 和 bzip2 等工具软件,你的 sco openserver 6 需要打上 mp4 的补丁包。)
由于 sco openserver 6 版本较老,但是 postgresql 9.3.4 版本很新,应此在某些情况下,你可能需要更新你的软件源码包中的文件的时间戳。
用如下 shell 脚本来修改该文件包内所有文件的时间戳 。
(注意:我的文件是展开在 /tmp 目录下,且在 /tmp 目录下建立了 objdir 的目录,如果没有特殊说明,以下的操作都在 /tmp/objdir 目录下执行)
a.sh
-
cd /tmp/postgresql-9.3.4
-
-
for i in `find /tmp/postgresql-9.3.4/* -print`
-
do
-
touch $i
-
#echo $i
-
done
执行该脚本,修改源码文件的时间戳,如果不这么做,也许你在执行 make 的时候,将会出现 config.stuts --recheck 的死循环 。
# sh a.sh
然后,在 /tmp/objdir 目录下执行如下脚本,来完成编译选项配置:
build.sh
-
../postgresql-9.3.4/configure \
-
--prefix=/opt/pgsql/V9.3.4 \
-
--build=i686-pc-sco5v6.0.0 \
-
--host=i686-pc-sco5v6.0.0 \
-
--target=i686-pc-sco5v6.0.0 \
-
--with-CC=/usr/bin/cc \
-
--disable-thread-safety
执行完成后,需要采用 gnu make 工具来完成编译。
# gmake & gmake install
编译过程中会有一个文件报错。
文件名如下:
/postgresql-9.3.4/src/bin/pg_dump/parallel.c
出错位置是 1188 行,出错的原因是没有正确引用 /usr/include/sys/time.h 文件,造成 timeval 结构没有定义的错误提示。
在该文件中的前面部分加入 #include 语句。
至此,所有编译安装过程中需要注意的事项均已经完成了。
特别注意,在我编译程序的过程中,发现 sco 6 的编译器较老,有些宏定义不存在,需要手动添加,文件及内容如下:
/usr/include/netdb.h
-
#define AI_BUMERICHOST 0x0004
-
#define AI_NUMERICHOST 0x0004
阅读(1789) | 评论(1) | 转发(0) |