当前位置: 首页 > wzjs >正文

一起做网站女装夏季电脑培训机构

一起做网站女装夏季,电脑培训机构,北京开放疫情最新消息,十堰微网站建设文章目录 环境查看依赖矩阵编译安装 PostgreSQL15.6编译过程中常见报错报错1:报错2&#xff1a;报错3报错4报错5&#xff1a;报错6&#xff1a;<奇葩的报错> 编译安装 PostGIS安装 libxml2安装 protobuf-c安装 json-c安装 sqlite-3 (因为 proj 会依赖于该库)安装 libtiff…

文章目录

  • 环境
  • 查看依赖矩阵
  • 编译安装 PostgreSQL15.6
  • 编译过程中常见报错
    • 报错1:
    • 报错2:
    • 报错3
    • 报错4
    • 报错5:
    • 报错6:<奇葩的报错>
  • 编译安装 PostGIS
    • 安装 libxml2
    • 安装 protobuf-c
    • 安装 json-c
    • 安装 sqlite-3 (因为 proj 会依赖于该库)
    • 安装 libtiff, libcurl,mpfr 等库(proj会依赖该库)
    • 安装 proj
    • 安装 geos
    • 安装 gdal
    • 安装 PostGIS
  • 注意事项

环境

[root@localhost xmz]# docker exec -it euler_compile_env  bash[root@ff66b6827bf2 /]# cat /etc/os-release 
NAME="openEuler"
VERSION="22.03 (LTS-SP3)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP3)"
ANSI_COLOR="0;31"

查看依赖矩阵

https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS

编译安装 PostgreSQL15.6

下载并上传源码压缩包然后解压
编译 PG 安装
mkdir -p /usr/local/pgsql
cd postgresql-15.6
./configure --prefix=/usr/local/pgsql  --with-python  --with-openssl --with-libxml  --enable-debug --enable-dtrace  PYTHON=/usr/bin/python3.9 --with-readline
make -j $(nproc) world && make install-world

编译过程中常见报错

报错1:

<Python.h>file not found
解决方法:
需要去openouler网站下载并安装 rpm 包 (可以参考  more  /etc/yum.repos.d/openEuler.repo  文件)[root@localhost ~]# rpm -Uvh python3-devel-3.9.9-28.oe2203sp3.x86_64.rpm --nodeps
警告:python3-devel-3.9.9-28.oe2203sp3.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID fb37bc6f: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...1:python3-devel-3.9.9-28.oe2203sp3 ################################# [100%]
[root@localhost ~]# 

报错2:

configure: error: library 'xml2' (version >= 2.6.23) is required for XML support
解决方法:
下载并安装 libxml2与 libxml2-devel 对应的 rpm 包

报错3

configure: error: library 'crypto' is required for OpenSSL
解决方法
下载并安装 openssl-devel 对应 rpm 包

报错4

configure: error: zlib library not found
解决方法:
下载并安装 zlib zlib-devel 对应 rpm 包

报错5:

Configure: error: readline not found
解决方法:
下载并安装 readline-devel 对应 rpm 包

报错6:<奇葩的报错>

make: Warning: File 'src/Makefile.port' has modification time 1707098160 s in the future
原因:
时间不对, 可能是系统时间过于老,比如我有个环境中 系统时间是 1970 年
解决方法:
手动将系统时间调整为正确的时间 date -s "真实时间"
然后 hwclock -w; hwclock -s
然后重新 configure ; make ; make install

编译安装 PostGIS

在这里插入图片描述

先安装依赖包, 安装原则如下:能用 yum 先用 yum 安装;不能 yum 安装就 rpm 包安装;没有 rpm 包,再编译安装.
当前版本对应官网 RPM 包安装路径如下:

安装 libxml2

编译 PG 的之前已经安装了
[root@openEuler ~]# rpm -qa |grep xml
libxml2-2.9.12-15.oe2203.aarch64
libxml2-devel-2.9.12-5.oe2203.aarch64

安装 protobuf-c

直接去官网镜像站点下载并安装 protobuf 与 protobuf-c(依赖于 protobuf)
[root@openEuler ~]# rpm -qa |grep protobuf
protobuf-3.9.0-7.oe1.aarch64
protobuf-devel-3.9.0-7.oe1.aarch64
protobuf-c-1.3.2-2.oe1.aarch64
protobuf-c-devel-1.3.2-2.oe1.aarch64

安装 json-c

由于环境中已经存在 json-c 0.15
[root@openEuler ~]# rpm -qa |grep json-c
json-c-0.15-2.oe2203.aarch64
而官网中默认的 json-c 0.13
所以最好是安装 json-c-devel-0.15 以及 json-c-0.15的 rpm 包rpm -Uvh json-c-0.15-6.oe2203.aarch64.rpm
rpm -Uvh json-c-devel-0.15-6.oe2203.aarch64.rpm 

安装 sqlite-3 (因为 proj 会依赖于该库)

环境中已经存在更新的版本 sqlite-3.37.2-5.oe2203.aarch64, 所以我们只安装 sqlite-devel-3.36.0-2.oe2203.aarch64.rpm

[root@openEuler other_deps]# rpm -Uvh sqlite-3.36.0-2.oe2203.aarch64.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]package sqlite-3.37.2-5.oe2203.aarch64 (which is newer than sqlite-3.36.0-2.oe2203.aarch64) is already installed
[root@openEuler other_deps]# rpm -Uvh sqlite-devel-3.36.0-2.oe2203.aarch64.rpm 
error: Failed dependencies:sqlite(aarch-64) = 3.36.0-2.oe2203 is needed by sqlite-devel-3.36.0-2.oe2203.aarch64
[root@openEuler other_deps]# rpm -qa |grep sqlite 
sqlite-3.37.2-5.oe2203.aarch64
[root@openEuler other_deps]# rpm -Uvh sqlite-devel-3.36.0-2.oe2203.aarch64.rpm  --nodeps
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:sqlite-devel-3.36.0-2.oe2203     ################################# [100%]
[root@openEuler other_deps]# 

安装 libtiff, libcurl,mpfr 等库(proj会依赖该库)

[root@openEuler other_deps]# rpm -Uvh libtiff-4.3.0-9.oe2203.aarch64.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]package libtiff-4.3.0-24.oe2203.aarch64 (which is newer than libtiff-4.3.0-9.oe2203.aarch64) is already installed
[root@openEuler other_deps]# rpm -Uvh libtiff-devel-4.3.0-9.oe2203.aarch64.rpm 
error: Failed dependencies:libtiff = 4.3.0-9.oe2203 is needed by libtiff-devel-4.3.0-9.oe2203.aarch64
[root@openEuler other_deps]# rpm -Uvh libtiff-devel-4.3.0-9.oe2203.aarch64.rpm --nodeps
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:libtiff-devel-4.3.0-9.oe2203     ################################# [100%]
[root@openEuler other_deps]# Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]package mpfr-4.1.0-1.oe2203.aarch64 is already installed
[root@openEuler ~]# rpm -Uvh mpfr-devel-4.1.0-1.oe2203.aarch64.rpm  
error: Failed dependencies:gmp-devel is needed by mpfr-devel-4.1.0-1.oe2203.aarch64
[root@openEuler ~]# rpm -Uvh mpfr-devel-4.1.0-1.oe2203.aarch64.rpm --nodeps
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:mpfr-devel-4.1.0-1.oe2203        ################################# [100%]
[root@openEuler ~]# 
[root@openEuler ~]# rpm -Uvh libjpeg-turbo-2.1.1-1.oe2203.aarch64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]package libjpeg-turbo-2.1.1-2.oe2203.aarch64 (which is newer than libjpeg-turbo-2.1.1-1.oe2203.aarch64) is already installed
[root@openEuler ~]# rpm -Uvh libjpeg-turbo-devel-2.1.1-1.oe2203.aarch64.rpm --nodeps
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:libjpeg-turbo-devel-2.1.1-1.oe220################################# [100%]
[root@openEuler ~]# rpm -Uvh libcurl-7.79.1-2.oe2203.aarch64.rpm
error: Failed dependencies:libcurl = 7.79.1-15.oe2203 is needed by (installed) curl-7.79.1-15.oe2203.aarch64
[root@openEuler ~]# rpm -Uvh libcurl-7.79.1-2.oe2203.aarch64.rpm --nodeps
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]package libcurl-7.79.1-15.oe2203.aarch64 (which is newer than libcurl-7.79.1-2.oe2203.aarch64) is already installed
[root@openEuler ~]# rpm -qa |grep libcurl
libcurl-7.79.1-15.oe2203.aarch64
[root@openEuler ~]# rpm -Uvh libcurl-devel-7.79.1-2.oe2203.aarch64.rpm
error: Failed dependencies:libcurl = 7.79.1-2.oe2203 is needed by libcurl-devel-7.79.1-2.oe2203.aarch64
[root@openEuler ~]# rpm -Uvh libcurl-devel-7.79.1-2.oe2203.aarch64.rpm --nodeps
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:libcurl-devel-7.79.1-2.oe2203    ################################# [100%]
[root@openEuler ~]# rpm -qa |grep libcurl
libcurl-7.79.1-15.oe2203.aarch64
libcurl-devel-7.79.1-2.oe2203.aarch64

安装 proj

proj9 开始使用的是 cmake , 他会依赖于 googletest, 需要手动下载并编译安装 googletest, 比较麻烦
而 proj9 之前的版本可以使用 三板斧 configure;make;make install, 比较方便些

mkdir -p  /usr/local/proj-8.2.1
# 如果只想编译动态库
./configure --prefix=/usr/local/proj-8.2.1 
# 如果想编译出静态库(也包含动态库)
./configure --prefix=/usr/local/proj-8.2.1   --enable-static CFLAGS='-fPIC' CXXFLAGS='-fPIC'
make -j $(nproc) && make install最终打印如下:
。。。
make[2]: Nothing to be done for 'install-exec-am'./usr/bin/mkdir -p '/usr/local/proj-8.2.1/share/doc/proj'/usr/bin/install -c -m 644 COPYING NEWS AUTHORS '/usr/local/proj-8.2.1/share/doc/proj'/usr/bin/mkdir -p '/usr/local/proj-8.2.1/lib/pkgconfig'/usr/bin/install -c -m 644 proj.pc '/usr/local/proj-8.2.1/lib/pkgconfig'
make[2]: Leaving directory '/root/other_deps/p`在这里插入代码片`roj-8.2.1'
make[1]: Leaving directory '/root/other_deps/proj-8.2.1'
[root@openEuler proj-8.2.1]# ll /usr/local/proj-8.2.1/
total 16
drwxr-xr-x 2 root root 4096 Jun 14 17:22 bin
drwxr-xr-x 3 root root 4096 Jun 14 17:22 include
drwxr-xr-x 3 root root 4096 Jun 14 17:22 lib
drwxr-xr-x 5 root root 4096 Jun 14 17:22 share

安装 geos

cd /root/other_deps/geos-3.12.1
mkdir build 
cd build# 指定安装路径,如果只想编译动态库, 命令如下
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/geos-3.12.1# 指定安装路径, 如果只想编译静态库, 命令如下
cmake -DBUILD_SHARED_LIBS=OFF .. -DCMAKE_INSTALL_PREFIX=/usr/local/geos-3.12.1# 编译与安装
cmake --build . -j $(nproc) && cmake --build . --target install -j $(nproc)# 查看结果
[root@openEuler build]# ll /usr/local/geos-3.12.1/lib64/
total 10096
drwxr-xr-x 3 root root    4096 Jun 14 21:28 cmake
-rw-r--r-- 1 root root 9740942 Jun 14 21:25 libgeos.a
-rw-r--r-- 1 root root  585120 Jun 14 21:25 libgeos_c.a
drwxr-xr-x 2 root root    4096 Jun 14 21:28 pkgconfig
可以看到只有静态库如果没有指定自定义目录, 默认是安装在了 /usr/local/lib64 下
[root@openEuler build]# ll /usr/local/lib64/*geos*
lrwxrwxrwx 1 root root      17 Jun 14 17:39 /usr/local/lib64/libgeos.so -> libgeos.so.3.12.1
-rwxr-xr-x 1 root root 3879856 Jun 14 17:31 /usr/local/lib64/libgeos.so.3.12.1
lrwxrwxrwx 1 root root      14 Jun 14 17:39 /usr/local/lib64/libgeos_c.so -> libgeos_c.so.1
lrwxrwxrwx 1 root root      19 Jun 14 17:39 /usr/local/lib64/libgeos_c.so.1 -> libgeos_c.so.1.18.1
-rwxr-xr-x 1 root root  408360 Jun 14 17:32 /usr/local/lib64/libgeos_c.so.1.18.1
[root@openEuler build]# 

安装 gdal

安装指导参考: https://gdal.org/build_hints.html
必须项如下:
在这里插入图片描述

这里我使用 GDAL 3.8.0

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/gdal-3.8.0
cmake --build . -j $(nproc)
cmake --build . --target instasll  -j $(nproc)

安装 PostGIS

安装 PostGIS 3.4.1

export PATH=/home/postgres/pgsql/bin:$PATH./configure \
--with-pgconfig=/home/postgres/pgsql/bin/pg_config \
--with-geosconfig=/usr/local/geos-3.12.1/bin/geos-config \
--with-gdalconfig=/usr/local/gdal-3.8.0/bin/gdal-config \
--with-projdir=/usr/local/proj-8.2.1make -j $(nproc) 
make install

注意事项

  1. 最终打包的时候,如果要在 windows 环境上库, 尽量使用压缩包整体上库
  2. 如果使用的是解压之后的单个文件的上库, 这样会存在链接失效问题 (需要手工修改 jenkins 编译脚本来添加链接代码)
  3. 可能会出现 时区等类型的文件出现文件大小变为 0 的问题
http://www.dtcms.com/wzjs/504450.html

相关文章:

  • 通付盾 网站建设公司百度知道网页入口
  • 防城港做网站山东移动网站建设
  • 青海环保网站建设公司网站推广业务
  • bc网站开发长沙seo排名收费
  • 免费的网页域名台州网站seo
  • 建网360 网站建设seo公司怎么推广宣传
  • 益阳市网站建设科技搜索引擎优化搜索优化
  • 网站建设安全标准博客可以做seo吗
  • 草桥做网站公司网推项目接单平台
  • 广告流量投放seo免费优化软件
  • 电商网站规划品牌传播策划方案
  • 2017织梦网站怎么做seo外贸如何做网站推广
  • 哪些网站的做的好看快速排名推荐
  • 网站定制公司排行榜东莞全网营销推广
  • 简历模板免费下载网站优化网站seo方案
  • 邢台做网站哪家好网站在线优化检测
  • 电子商务网站设计的原则成都疫情最新消息
  • 免费建设互动的网站深圳防疫措施优化
  • 健康类网站模板太原网站快速排名提升
  • 货代找客户的网站网络推广的方法有
  • 做文献ppt模板下载网站有哪些企业网址怎么注册
  • 做网站的公司需要哪些资质百度平台客服电话
  • seo优化工具使用教程谷歌seo搜索优化
  • wordpress cos关键词优化的软件
  • 上海品质网站建设常德网站建设制作
  • 上海做网站建设的公司排名百度seo排名规则
  • 工程建设标准化期刊是什么级别seo在线短视频发布页运营
  • 海南中小企业网站建设打广告的免费软件
  • 北京王府井房价多少钱一平湖南正规seo优化
  • 设计师网名昵称四川旅游seo整站优化