女朋友都会的纯净Linux postgis离线安装教程_could not find libpq_松鼠教授的博客-程序员秘密

技术标签: 数据库  postgis  

1. 安装概述

因为是离线安装,必须要安装编译工具(gcc,g++)下面有软件连接,
不然安装报以下错误

configure: error: no acceptable C compiler found in $PATH 问题解决

https://pan.baidu.com/s/1D7Z7uBVyzzui88LzyJ7WnA
提取码:aurx

①. 环境需求

名称 版本 下载地址
gcc gcc 上面连接
g++ g++ 上面连接
postgis postgis-2.5.1.tar.gz 上面连接
Postgres Postgres10 自行下载
gdal gdal-2.0.0 http://trac.osgeo.org/gdal/wiki/DownloadSource
geos geos-3.6.3 http://trac.osgeo.org/geos/
libxml libxml2-2.9.9.tar.gz http://xmlsoft.org/downloads.html
proj proj-5.2.0.tar.gz http://trac.osgeo.org/proj/
json-c-json-c json-c-json-c-0.13.120180305.tar.gz https://github.com/json-c/json-c/releases/

2. 安装gdal扩展

//解压tar包到/opt目录下
[[email protected] gdal-2.0.0]#tar -zxvf gdal-2.0.0.tar.gz -p /opt

//进入目录
[[email protected] gdal-2.0.0]#cd /opt/gdal-2.0.0

//将gdal安装到/usr/local/gdal-2.0.0目录下 注: (这个目录不要和上传目录一样,否则会报错)
[[email protected] gdal-2.0.0]#./configure --prefix=/usr/local/gdal-2.0.0

//编译
[[email protected] gdal-2.0.0]#make

//安装
[[email protected] gdal-2.0.0]#make install

3. 安装geos扩展

//解压tar包到/opt目录下
[[email protected] source]# tar -jxf geos-3.6.3.tar.bz2 -p /opt

//进入目录
[[email protected] source]#cd /opt/geos-3.6.3

//将geos安装到/usr/local/geos-3.6.3目录下 注: (这个目录不要和上传目录一样,否则会报错)
[[email protected] geos-3.6.3]#./configure --prefix=/usr/local/geos-3.6.3

//编译
[[email protected] geos-3.6.3]#make

//安装
[[email protected] geos-3.6.3]#make install

注意:
如果make失败: 错误:ERROR: could not find libpq

[[email protected] postgis-2.1.1]# ./configure
...
...
...
checking for library containing GDALAllRegister... no
configure: error: could not find GDAL

解决办法:将PostgreSQL的lib目录(/postgresql/lib)和GDAL的lib文件目录(/usr/local/lib)添加到系统的库文件目录中

echo '/usr/local/pgsql/lib' >> /etc/ld.so.conf
echo '/usr/local/lib' >> /etc/ld.so.conf

ldconfig

检查是否生效
[[email protected] postgis-2.1.1]# ldconfig -p | grep libpq
    libpqwalreceiver.so (libc6,x86-64) => /postgresql/lib/libpqwalreceiver.so
    libpq.so.5 (libc6,x86-64) => /postgresql/lib/libpq.so.5
    libpq.so (libc6,x86-64) => /postgresql/lib/libpq.so

[[email protected] postgis-2.1.1]# ldconfig -p | grep gdal
    libgdal.so.1 (libc6,x86-64) => /usr/local/lib/libgdal.so.1
    libgdal.so (libc6,x86-64) => /usr/local/lib/libgdal.so

再执行./configure就正常了。

4. 安装libxml2扩展

//解压tar包到/opt目录下
[[email protected] source]#tar -zxvf libxml2-git-snapshot.tar.gz -p /opt

//进入目录
[[email protected] source]#cd /opt/libxml2-2.9.2

//将libxml2安装到/usr/local/libxml2-2.9.2目录下 注: (这个目录不要和上传目录一样,否则会报错)
[[email protected] libxml2-2.9.2]#./configure --prefix=/usr/local/libxml2-2.9.2

//编译
[[email protected] libxml2-2.9.2]#make

//安装
[[email protected] libxml2-2.9.2]#make install

5. 安装proj扩展

//解压tar包到/opt目录下
[[email protected] source]#tar -zxvf proj-5.2.0.tar.gz  -p /opt

//进入目录
[[email protected] source]#cd /opt/proj-5.2.0

//将proj安装到/usr/local/proj-5.2.0目录下 注: (这个目录不要和上传目录一样,否则会报错)
[[email protected] proj-5.2.0]#./configure --prefix=/usr/local/proj-5.2.0

//编译
[[email protected] proj-5.2.0]#make

//安装
[[email protected] proj-5.2.0]#make install

6. 安装json-c扩展

//解压tar包到/opt目录下
[[email protected] source]#tar xzf json-c-json-c-0.13.1-20180305.tar.gz -p /opt

//进入目录
[[email protected] source]#cd /opt/json-c-json-c-0.13.1-20180305

//将json-0.12安装到/usr/local/json-0.12目录下 注: (这个目录不要和上传目录一样,否则会报错)
[[email protected] json-c-json-c-0.13.1-20180305]#./configure --prefix=/usr/local/json-0.12

//编译
[[email protected] json-c-json-c-0.13.1-20180305]#make

//安装
[[email protected] json-c-json-c-0.13.1-20180305]#make install

7. 安装postgis

//解压tar包到/opt目录下
[[email protected] source]#tar -zxvf postgis-2.5.1.tar.gz -p /opt

//进入目录
[[email protected] source]#cd /opt/postgis-2.5.1

//将postgis安装到/usr/local/postgis-2.5.1目录下 注: (这个目录不要和上传目录一样,否则会报错)
[[email protected] postgis-2.5.1]#./configure --prefix=/usr/local/postgis  \
--with-pgconfig=/usr/local/FlyingDB/11/08k/bin/pg_config 	\							//数据库pg_config目录
--with-xml2config=/usr/local/libxml2-2.9.9/bin/xml2-config 	\
--with-geosconfig=/usr/local/geos-3.6.3/bin/geos-config 	\
--with-gdalconfig=/usr/local/gdal-2.0.0/bin/gdal-config   	\
--with-projdir=/usr/local/proj-5.2.0

//编译
[[email protected] postgis-2.5.1]#make

//安装
[[email protected] postgis-2.5.1]#make install

8. 安装postgis扩展

换用户进入数据库:
su – postgres

//进入postgreSQL数据库bin目录
cd /usr/local/pgsql/bin

//进入数据库
./psql

postgres=# create database postgis;
postgres=# \c postgis
postgis=# create extension postgis;
#为了更好的使用postgis功能,决定把所有的扩展都装了
postgis=# create extension postgis_topology; 
postgis=#\q


注意:
如果创建postgis扩展失败: 错误:ERROR: could not load library “/usr/local/FlyingDB/11/08k/lib/postgresql/postgis-2.5.so”: libgeos_c.so.1: cannot open shared object file: No such file or directory(错误中的文件路径根据实际情况为准,解决方法一致)
在这里插入图片描述
在任意目录运行 ldd /usr/local/pgsql/lib/postgis-2.5.so ,即可发现缺少文件 ,如图:
在这里插入图片描述
如果缺失 能看见 not found 字样,然后全局查找文件,例如:
在这里插入图片描述
将查找到的文件拷贝至 /usr/lib64 目录下,cp /opt/postgis_soft/gdal-2.0.0/.libs/libgdal.so.20 /usr/lib64/。

文件可能缺少多个,可以重复这个步骤直至完成
以上方法 均可适用于这种错误方法。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/massddss/article/details/106744402

智能推荐

CH11-多媒体应用开发_一条大蟒蛇6666的博客-程序员秘密

文章目录目标一、音频播放目标1.1 MediaPlayer类播放音频实例化MediaPlayer类设置数据源播放小音频文件播放大音频文件暂停播放重新播放停止播放1.2 SoundPool类播放音频创建SoundPool对象加载音频文件播放音频文件1.3 实战演练—弹钢琴二、视频播放目标2.1 VideoView控件播放视频使用VideoView控件添加控制器2.2 实战演练—VideoView视频播放器2.3 MediaPlayer类和SurfaceView控件播放视频使用SurfaceView控件回调ad

Android Q 双屏异显_with launchdisplayid=1_Michael_ZJR的博客-程序员秘密

Android Q 双屏异显现在很多AR场景,需要扩展屏或者虚拟屏VD 进行展示3D画面,并通过手柄或者手机模拟的触摸板进行交互控制。从android官网多屏幕支持了解其android Q 已经有多屏支持了,方便扩展屏幕及折叠屏使用。此处记录下其体验demo经过验证,可支持同应用不同activity 启动在第二块屏幕上。imageView3.setOnClickListener { val manager = activity?.getSystemService(C

python空值怎么表示_Java –从列表中删除所有空值_cunfen3485的博客-程序员秘密

python空值怎么表示介绍: 在本文中,我们将学习如何使用普通的Java,Java 8 lambda表达式和某些第三方库从Java列表中删除空值。 所以,让我们开始吧!从Java中的 让我们探索从Java列表中删除null的不同方法:1. Java 7或更低版​​本: 当使用Java 7或更低版​​本时,我们可以使用以下结构从列表中删除所有空值: [email protected]...

DDS_qaseesaq的博客-程序员秘密

作业要求在FPGA上设计一个DDS模块,在DE0 开发板上运行,在FPGA芯片内部合成出数字波形即可。不用输出模拟信号,本模块满足以下条件使用板载晶振的50MHz时钟,合成以下频率的信号1、500KHz 正弦波信号。 2、1MHz 正弦波信号。3、3MHz 正弦波信号。频率字字长32位,波表ROM尺寸为 10比特地址,1024个word。波形格式为2补码格式,12比特量化。每个CLK输出一

EDA实验DDS设计_eda,dds信号源仪表设计程序_jerryxia2017的博客-程序员秘密

一、实验内容在FPGA上设计一个DDS模块,在DE0 开发板上运行,在FPGA芯片内部合成出数字波形即可。不用输出模拟信号,本模块满足以下条件: 使用板载晶振的50MHz时钟,合成以下频率的信号 - 1 、500KHz 正弦波信号。 2、1MHz 正弦波信号。 3、3MHz 正弦波信号。 -频率字字长32位,波表ROM尺寸为 10比特地址,1024个word - 波形格式为2补

借鉴Mysql,Hbase解决Redis丢数据问题_hbase写入数据丢失_一代天骄的博客-程序员秘密

业务背景在订单业务领域会遇到订单超时的情形,要实现这样的功能,有2种解决方案:定时JOB捞取订单状态为支付超时的订单,去批量取消。这个方案是定时全量捞取,效率低,容易积压订单,如果没有超时订单,JOB还是会空跑浪费资源,不可取。Redis的List做延时堵塞队列的情况,从队列使用BLpop取超时订单取消,避免了空跑,和全量扫描。问题可是问题来了,Redis存在数据丢失的情况:比如Redis的数据没有及时刷盘的情况下,宕机了。比如Redis主从切换,主的数据还来得及同步到从就宕机了,这个时

随便推点

二叉树的几道相似简单递归题_cnhwl的博客-程序员秘密

二叉树中递归的思想,在这本Leetbook中讲的很细了,这里不展开。下面是几道例题:100. 相同的树class Solution: def isSameTree(self, p: TreeNode, q: TreeNode) -> bool: if (not p) and (not q): return True elif (not p) or (not q): return False el

关于VIM编辑器_weixin_33859504的博客-程序员秘密

vim编辑器vi 是一种文本编辑器,所谓文本数据是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等文本编辑种类分为: 行编辑器:所谓航编辑器就是至一行一行来编辑处理的工具,比如sed...

Spring Cloud Netflix Eureka - 揭秘手册_cnhome的博客-程序员秘密

原文 译者: Jackson Lee 介绍在2015-2016年,我们采用微服务的概念重新设计了一个独立应用,并选择Spring Cloud Netflix作为应用实现的基础。 Spring Cloud Netflix 通过自动配置、绑定Spring环境和其他Spring编程定式,来为Spring Boot应用程序提供Netflix OSS集成。随着时间的迁移,我们进一步熟悉了框架,甚至提出

Opencv cvFindContours 函数的详细说明_mxABC的博客-程序员秘密

from:http://blog.sina.com.cn/s/blog_4bc179a80100hs50.html函数cvFindContours从二值图像中检索轮廓,并返回检测到的轮廓的个数。first_contour的值由函数填充返回,它的值将为第一个外轮廓的指针,当没有轮廓被检测到时为NULL。其它轮廓可以使用h_next和v_next连接,从first_contour到达。in

Quartus创建自定义IP核 - LED控制IP核_quartus 自定义ip核_哐哐哐 Quan的博客-程序员秘密

一、前言之前使用Quartus II的Qsys工具软件创建了一个SOPC系统,包含了NIOS II处理器、ROM、RAM、JTAG_UART等IP核,虽然Qsys工具已经提供了非常丰富的IP库,但是有些特殊功能的IP核在Library中是没有的,例如我要控制一个LED屏幕,如果使用单片机控制的话直接使用单片机的IO口控制时序刷新LED屏即可,如果想要使用SOPC,可以在系统上添加一个PIO模块...

程序员遇到BUG后,最好的方法是?_cichou7324的博客-程序员秘密

程序员遇到BUG后,最好的方法是? 我决定谈一谈世界上最著名的虫子:BUG ! BUG困扰了一代又代的程序员,不论是杰出的计算机科学家,还是像Linus Torvalds(Linux内核创始人)、Bill Joy(传说三天写出BSD的前身,vi和csh的作者)等神一样的传说,抑...

推荐文章

热门文章

相关标签