PostgreSQL学习之postgis编译
因内网编译postgis需要额外安装许多依赖包,在此简单做一下记录:
1、configure文件生成:执行sh autogen.sh;
2、makefile文件生成:执行configure --with-pgconfig=/path/to/pg_config
3、make;make install;
错误:
1、找不到config.rpath:touch build-aux/config.rpath 手动创建一个空文件即可使用,具体为什么没有深入分析;
2、默认编译的可能没有postgis.control文件:系统没有正确安装xsltproc,安装之后使用xsltproc --version验证是否安装成功,然后重新从configue步骤开始重新编译一遍应该就可以了。
系统没有xsltproc会导致./doc目录下makefile命令无法生成postgis_comments.sql等文件,configure会检查该系列文件以决定是否生成插件必须的control文件和sql文件,没有生成这些文件也会提示编译成功,但是安装插件时会出错;
3、configure时可能会出现找不到函数PQserverVersion的问题,这是因为环境变量没有配置导致postgis找不到数据库的libpq.so,可以使用export LD_LIBRARY_PATH=/your path/to/postgresql/install/lib;也就是你数据库安装目录下的lib子目录。
4、内网安装依赖库和命令使用如下命令从外网下载:
mkdir xsltproc
cd xsltproc
sudo apt-get install --download-only -o=dir::cache=./ xsltproc
5、其他暂时想不起来了。。。