我安装的版本是gdal3.7.0,gdal3.5之后的版本都是用cmake完成安装,没有configure文件了,开个帖子记录一下安装过程中踩的坑。
首先官方的安装攻略见下,对cmake中每个选项都有详细的理解。
Building GDAL from source — GDAL documentation
第一次接触到cmake代替configure来安装,安装方式其实官方手册上写的很详细了。
cmake ..就等价于./configure
cmake --build .等价于 make
cmake --build . --target install 等价于make install
然后我是先安装gdal,再根据报错一步步补充需要的库。
需要PROJ,然后安装proj
安装proj前要安装sqlite,这个教程网上应该蛮多的。
不过网上的教程好像普遍没说安装之后记得要修改bashrc文件,不然就会一直显示command not found,下图是最终的bashrc文件。记得还要source ~/.bashrc 一下
proj的安装也是用cmake完成,官方文档写的很清楚
Installation — PROJ 9.3.0 documentation
在这块我遇到个问题,就是它一直显示找不到sqlite(明明安装好了),那就手动给它添一个路径
make -DSQLITE3_INCLUDE_DIR=/home/sweety/sqlite/include DSQLITE3_LIBRARY=/home/sweety/sqlite/lib/libsqlite3.so -DCMAKE_INSTALL_PREFIX=/home/sweety/proj ..
随后安装TIFF
随后安装curl
./configure --with-ssl
configure: error: select TLS backend(s) or disable TLS with --without-ssl.
卡在了curl上(是proj需要的库) 明明安装了openssl 但是总是提示没有用
解决方法:sudo apt-get install libssl-dev
对了,还有个报错:xx/libcurl.so.4: no version information available
照如下网址走就可以解决
然后安装gtest(啊啊啊这块很烦,如果我不装的话本来可以直接git的,但是网不好,有访问不了github,然后我试着手动装了一下gtest,结果一直提示哈希值不对,装不了,最后没有解决方法,只能是网好一些之后从github上直接clone下来)
最后就可以重新走一遍cmake的流程了。
cmake指令如下
cmake -DPROJ_LIBRARY=/home/sweety/proj/lib/libproj.so -DPROJ_INCLUDE_DIR=/home/sweety/proj/include -DCMAKE_INSTALL_PREFIX=/home/sweety/gdal -DSQLITE3_INCLUDE_DIR=/home/sweety/sqlite/include -DSQLITE3_LIBRARY=/home/sweety/sqlite/lib/libsqlite3.so -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
cmake --build . --target install
对了,最后的最后,别忘记改bashrc,不然就会向我一样傻傻的不知道为啥安装不了