gdal3.5.0升级及安装cmake

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文主要是将gdal旧版本v3.2.1升级到v3.5.0,解决升级过程中的问题。


一、升级gdal

首先对于旧版本gdal3.2.1来说,gdal3.0+的版本还需依赖PROJ库,而且PROJ库必须是6.0+版本,proj的编译需要sqlite3库。

关于这个3.2.1版本已经做好了

将gdal版本换成3.5.0后,

cd gdal

执行./configure,报错build.sh: line 43: ./configure: No such file or directory

不知道怎么处理,一直在百度在调试,甚至因为百度到的某个解决方案,还升级了cmake

最后看了GitHub - OSGeo/gdal at v3.5.0

源码中阅读README文件,其中

How to contribute 【如何贡献】

See CONTRIBUTING.md

点击CONTRIBUTING.md

查看Setting development environment (Unix)

Install all required development packages: GNU make, g++, ...

Build:

./autogen.sh
./configure --with-python [other options]
make -j8 -s
cd apps; make -s test_ogrsf; cd ..

然后字啊本地服务器编译,可以正常执行./configure指令。

二、升级cmake

1、流程

查看旧版:which cmake

【/usr/bin/cmake】

进入旧版:cd /usr/bin/cmake

移除旧版:sudo rm cmake

下载:sudo wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz

解压:sudo tar -zxvf cmake-3.9.2.tar.gz

安装cmake

执行sudo ./configure

sudo make

sudo make install

cmake --version

安装成功。

#链接一下到/usr/bin下,不然会cmake编译出错

which cmake #发现新安装的cmake默认到/usr/local/bin/cmake

sudo ln -s /usr/local/bin/cmake /usr/bin

链接成功。 

2、报错处理

1.1 ./configure: command not found

报错:sudo: ./configure: command not found

解决办法:cd /cmake-3.9.2,没进入解压安装文件夹

1.2 `GLIBCXX_3.4.26' not found

报错:【/usr/bin/cmake-3.9.2/Bootstrap.cmk/cmake: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/bin/cmake-3.9.2/Bootstrap.cmk/cmake)】

通过这个报错可以看出,报错提示缺少 GLIBCXX_3.4.26,也就是缺少 libstdc++.so.6.0.26

(报错提示缺少 GLIBCXX_3.4.22,也就是缺少 libstdc++.so.6.0.22 )

通过以下指令可以查看当前的系统版本:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

通过上图可以发现,确实缺少 GLIBCXX_3.4.26

解决这个问题:

1、下载libstdc++.so.6.0.26 :
通过链接 http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip 直接下载。

2、解压,得到文件 libstdc++.so.6.0.26,比如解压到了 ~/Download/ 下;
移动到文件夹下 /usr/lib/x86_64-linux-gnu/
sudo mv libstdc++.so.6.0.26  /usr/lib/x86_64-linux-gnu/

3、重新建立软连接
cd /usr/lib/x86_64-linux-gnu/
sudo rm libstdc++.so.6   # 移除掉原来的软连接文件
ln libstdc++.so.6.0.26 libstdc++.so.6

4、通过以下指令可以查看当前的系统版本:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

正常

通过上图可以发现,现在已经安装 GLIBCXX_3.4.26 成功

1.3 安装PROJ

查到的帖子

http://www.hzhcontrols.com/new-1271123.html

linux ubuntu 安装 GDAL,SQLite3, Proj6库,遥感库GDAL教程-CSDN博客

linux编译安装和卸载_linux 卸载旧的proj-CSDN博客


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值