CentOS7.4,anaconda3,python3.6,tensorflow环境下gdal的编译和问题解决

CentOS7.4,anaconda3,python3.6,tensorflow环境下gdal的编译和问题解决

这是gdal可能会用到的额外的包,按自己需要先提前编译。

这里的话我主要用了proj,Libtiff,Geotiff,Geos,Hdf5这5个包,基本能满足需要

安装步骤

新建一个安装目录:

cd /home/Elam
mkdir gdalsrc
cd gdalsrc

编译额外包:

1.proj

yum install gcc-c++
wget http://download.osgeo.org/proj/proj-4.8.0.tar.gz
tar -zxvf proj-4.8.0.tar.gz
cd proj-4.8.0
mkdir build
./configure --prefix=/home/Elam/gdalsrc/proj-4.8.0/build
# compile
make -j
# install into build dir
make install

创建一个统一的添加环境变量的文件夹:

cd /home/Elam/gdalsrc
mkdir envsh
cd envsh
vim export_path.sh

添加下面两行代码

export LD_LIBRARY_PATH="/home/Elam/gdalsrc/proj-4.8.0/build/lib:$LD_LIBRARY_PATH"
export PATH="/hoem/Elam/gdalsrc/proj-4.8.0/build/bin:$PATH"

可以source export_path.sh 然后键入proj看看是否编译成功

2.libtiff

yum install gcc-c++ zlib-devel libjpeg-turbo-devel
cd /home/Elam/gdalsrc
wget http://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz  最新版本是4.0.9
tar -zxvf tiff-4.0.9.tar.gz
cd tiff-4.0.9

ls一下发现build文件夹已经存在,因此不需要重新创建直接configure

./configure --prefix=/home/Elam/gdalsrc/tiff-4.0.9/build/             --exec-prefix=/home/Elam/gdalsrc/tiff-4.0.9/build
make -j
make check
# install to build dir
make install
# confirm install
./build/bin/tiffinfo

进入刚才创建的export_path添加新的环境变量,如下图:

source一下

3.Geotiff

在gdalsrc目录下

wget http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-1.4.2.tar.gz
tar -xvfz libgeotiff-1.4.2.tar.gz
cd libgeotiff-1.4.2/
mkdir build
./configure --prefix=/home/Elam/gdalsrc/libgeotiff-1.4.2/build             --with-proj=/home/Elam/gdalsrc/proj-4.8.0/build             --with-libtiff=/home/Elam/gdalsrc/tiff-4.0.9/build             --with-zlib --with-jpeg
# compile
make -j
# install into build dir
make install

进入export_path添加新的环境变量,如下图:

source一下

4.Geos

yum install gcc-c++ swig python-devel
cd /home/Elam/gdalsrc
wget http://download.osgeo.org/geos/geos-3.6.2.tar.bz2
tar -xvjf geos-3.6.2.tar.bz2
cd geos-3.6.2
mkdir build
./configure --prefix=/home/Elam/gdalsrc/geos-3.6.2/build --enable-python
# compile
make -j$threads
make check
# install into build dir
make install
# check install
./build/bin/geos-config --version

gdal编译过程中碰到的问题主要出现在编译这个库中

错误:

./configure --prefix=/home/Elam/gdalsrc/geos-3.6.2/build --enable-python

configure出现cannot find Python library path错误:

解决方法:

vim configure

在左下角输入/cannot find Python library path

回车

找到对应行附近

[图片上传失败...(image-5ecfa3-1528652621967)]

将libpython$PYTHOH_VERSION改成你自己对应的.so和.a版本(具体版本可以到上面include路径同一路径下lib文件夹中查看)

如上 我改成了libpython3.6m

修改后:wq

重新configure

继续修改configure文件

[图片上传失败...(image-a183a3-1528652621967)]

重新configure

如果后续还报/usr/bin/ld: cannot find -lpython3.6错误

继续修改

重新configure

然后继续

make –j
make check
make install

添加新的环境变量

source

5.hdf5

yum install gcc-c++ zlib-devel
cd /home/Elam/gdalsrc
wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.11.tar.gz
tar xvfz hdf5-1.8.11.tar.gz
cd hdf5-1.8.11
touch release_docs/INSTALL_VMS.txt
mkdir build
CFLAGS=-O0 ./configure   --prefix=/home/Elam/gdalsrc/hdf5-1.10.1/build   --enable-shared   --enable-build-all   --with-zlib   --with-pthread   --enable-cxx # compile
make -j
# test build -- all tests should pass
make -j check
# install into build dir
make install

添加新的环境变量,注意这里还有include文件夹

gdal编译

我从网上下了一个2.3.0版本的,网址:http://download.osgeo.org/gdal/

yum install subversion gcc-c++ sqlite-devel libxml2-devel python-devel numpy swig expat-devel libcurl-devel xerces-c-devel unixODBC-devel postgresql postgresql-devel
cd /home/Elam/gdalsrc
tar -zxvf gdal-2.3.0.tar.gz
cd gdal-2.3.0
mkdir build
./configure --prefix=/home/Elam/gdalsrc/gdal-2.3.0/build --with-jpeg=external --without-libtool --with-python=/usr/local/anaconda3/bin/python --with-static-proj4=/home/Elam/gdalsrc/proj-4.8.0/build --with-libtiff=/home/Elam/gdalsrc/tiff-4.0.9/build --with-geotiff=/home/Elam/gdalsrc/libgeotiff-1.4.2/build --with-geos=/home/Elam/gdalsrc/geos-3.6.2/build/bin/geos-config --with-hdf5=/home/Elam/gdalsrc/hdf5-1.10.1/build
make -j
# install into build dir
make install

添加新的环境变量:

进入build/bin里面

gdal-config –-version

看看是否编译成功

cd /home/Elam/gdalsrc/gdal-2.3.0/swig
make -j
cd python
python setup.py install --prefix=/home/Elam/gdalsrc/gdal-2.3.0/build

添加环境变量,或者直接用sys的路子添加路径

source

重新新建一个终端

先用

echo $PATH
echo $LD_LIBRARY_PATH

查看各个库的路径是否都在

如果不在,则重新source一下那个export_path.sh 如果不想每次都重新source,就直接添加到系统的环境变量当中去

进入python终端

看看能不能import

原文地址:https://www.cnblogs.com/CoXieLearnPython/p/9165261.html

时间: 2024-08-30 04:08:11

CentOS7.4,anaconda3,python3.6,tensorflow环境下gdal的编译和问题解决的相关文章

在tensorflow环境下安装matplotlib

在运行程序时,报错ImportError: No module named 'matplotlib',如图.经网上查询发现是没有安装matplotlib 因此记录一下在tensorflow环境下安装matplotlib的过程: 1.打开anaconda prompt,进入tensorflow的环境:activate tensorflow 2.安装matplotlib:conda install matplotlib 3.Proceed中输入:y 安装过程如图所示 原文地址:https://www

windows环境下使用apxs编译添加apache模块

windows环境下使用apxs编译添加apache模块 简介说明:本文使用mod_limitipconn模块为例. 环境: windows7 x86系统 apache 2.4.18 目标: 在windows环境下,利用mod_limitipconn0.24源码.apxs为apache2.4.18添加mod_limitipconn模块. 分析: limitipconn模块最新版已经支持apache2.4了.但是没有编译好的对应版本.因此需要自己动手编译模块.在windows下要实现这个目标,需要

iOS系统提供开发环境下命令行编译工具:xcodebuild

iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单来说,Workspace就是一个容器,在该容器中可以存放多个你创建的Xcode Project, 以及其他的项目中需要使用到的文件. 使用Workspace的好处有: 1),扩展项目的可视域,即可以在多个项目之间跳转,重构,一个项目可以使用另一个项目的输出.Workspace会负责各个Project

Win7环境下使用CMake编译OpenGL_Tutorials的一些注意事项

最近在通过网站Tutorials for openGL 3.3+ 来学习计算机图形学.这里的教材很人性化,更重要的是它让我们抛开旧式openGL去学习.而旧式openGL似乎也一直为人们所诟病(推荐阅读:http://blog.monkeypotion.net/reading/gameprogreading/opengl-versus-directx-the-war-is-over) 网站已经给我们写好了很多现成的代码,只需要我们用CMake去批量编译,之后就可以运行了.关于如何用CMake进行

python MySQLdb在windows环境下的快速安装、问题解决方式

使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.net/wklken/article/details/7271019 ------------------------------------------------------------- 以下是windows环境下的: 1.      安装数据库mysql 下载地址:http://www.mysql.com/downloa

Windows环境下使用VS2005编译OpenSSL

如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP SP3下使用VS2005SP1下编译成功的,OpenSSL的版本是0.9.8l. http://www.cnblogs.com/moonset7/archive/2009/12/18/1627317.html by 月落上弦 一.编译OpenSSL  准备工作:下载OpenSSL源码 官方网站下载Op

OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程

Cocos2D-X官网已经简单介绍了如何在OS X环境下搭建Cocos2D-X v2.x和v3.x的指南.具体链接为:http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/getting-started/setting-up-development-environments-on-mac-with-eclipse/zh.md 在此,我将进

Windows环境下log4cxx的编译及使用(转载)

1.介绍 Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计.有关log4cxx的更多信息可以从Apache Loggin Service的网站http://logging.apache.org获得.当前的最新版本为0.10.0,本文内容及示例代码都是基于此版本. 2.获取软件包 可以从官方网站(http://logging.apache.org/l

windows环境下gcc/g++ 编译器 乱码问题解决

gcc /g++编译器在Windows 环境下会出现各种奇怪的问题, 内存分配,数组溢出处理,中文乱码,和vs的clang编译器有很大差距 -fexec-charset=charset,此选项指定窄字符或窄字符串的字面值常量的内部编码方式,默认为UTF-8.例如指定此选项为GBK,则窄字符或窄字符串常量将会以GBK编码方式存储而不是默认的UTF-8编码方式. 原文地址:https://www.cnblogs.com/wangyv/p/12602489.html