中标麒麟编译qgis源码+PyQt环境

中标麒麟编译qgis源码

根据公司工作安排需要在中标麒麟下编译qgis3.4.7,把编译的过程随手记录一下。
QGIS项目主页:http://www.qgis.org/en/site/
QGIS源码下载:添加链接描述https://github.com/qgis/QGIS/tree/release
QGIS官方编译参考文档:https://github.com/qgis/QGIS/blob/master/INSTALL?tdsourcetag=s_pcqq_aiomsg
cmake基础知识:https://blog.csdn.net/m0_37554445/article/details/104974552
将windows环境下vs项目移植到中标麒麟环境qt:https://blog.csdn.net/m0_37554445/article/details/104970695

编译过程中使用到的linux命令

1.查看Linux位数:
	getconf LONG_BIT 

2.删除文件夹
	rm –rf

3.安装run文件
	./xxxxx.run

4.进行镜像文件挂载:
	cd /home/soft
	mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt 

5.删除自带的yum源
	cd /etc/yum.repos.d/
	rm -rf *

6.创建新的yum源配置文件并添加配置信息:
	vim centos6.repo

7.进行验证yum源配置成功:
	清除缓存yum源
	yum clean all
	查看已配置好的yum源信息“
	yum repolist

8重启网卡
	service network restart

9.解压zip文件
	Unzip 文件

10 解压bz2
	tar jxvf 

11.解压xz
	tar xvf  +文件名(tar.xz) 

12 yum查询数据包
	rpm -qa|grep

13.强制删除
	rpm -e –nodeps

14列出所有安装包
	yum list后,有的会是红色,有的是绿色,红色代表有最新版,需要更新,绿色代表已经是最新版本,没有颜色的代表没有装的

15.列出所有已安装的软件包 
	yum list installed 

16解压 xz 格式文件
	方法一:
		需要用到两步命令,首先利用 xz-utils 的 xz 命令将 linux-3.12.tar.xz 解压为 linux-3.12.tar,其次用 tar 命令将 linux-3.12.tar 完全解压。
		xz -d linux-3.12.tar.xz
		tar -xf linux-3.12.tar
	方法二(推荐)
		tar -Jxf linux-3.12.tar.xz

17 删除文件
	rm -f /var/run/yum.pid

18 创建软连接 
	ln -s 源文件 目标文件

所需的构建工具

  • CMake> = 3.0.0
  • Flex> = 2.5.6
  • Bison> = 2.4
  • Python 3

所需的构建依赖项:

  • Qt >= 5.9.0
  • Proj >= 4.9.3
  • GEOS >= 3.4
  • Sqlite3 >= 3.0.0
  • SpatiaLite >= 4.2.0
  • libspatialindex
  • GDAL/OGR >= 2.1
  • Qwt >= 5.0 & (< 6.1 with internal QwtPolar)
  • expat >= 1.95
  • QScintilla2
  • QCA
  • qtkeychain (>= 0.5)
  • libzip

构建工具和依赖库下载地址

1.cmake

下载地址:https://cmake.org/files/
安装配置:

mv cmake-3.12.2-Linux-x86_64 /opt/cmake-3.12.2
ln -sf /opt/cmake-3.12.2/bin/*  /usr/bin/

2.bison

下载地址:ftp://prep.ai.mit.edu/pub/gnu/bison/bison-2.3.tar.gz
安装配置:

tar -xzvf bison-2.3.tar.gz  //解压缩
cd bison-2.3                //移动到解压后的文件夹
./configure
make
make install

3.flex

下载地址:https://linux.softpedia.com/get/Programming/Interpreters/?utm_source=spd&utm_campaign=postdl_redir

4.proj

下载地址:https://proj.org/download.html

5.GEOS

下载地址 :https://trac.osgeo.org/geos/wiki

6.Sqlite3

优先检测系统中是否已安装sqlit,如果没有安装则自己再装的sqlit3,如果重复安装在编译过程中会出现问题。

下载地址:https://sqlite.org/download.html

7. Gdal

下载地址:http://download.osgeo.org/gdal/

8.qwt

下载地址:https://sourceforge.net/projects/qwt/files/qwt/

cd qwt
qmake 生成 makefile
make && make install

9.安装qt

我使用的qt是qt5.11.2
下载地址:http://download.qt.io/archive/qt/
安装配置:./xxxxx.run;
需要配置qmake环境。

10.安装pg Gem时找不到libpq-fe.h头文件***

对于Ubuntu系统:
sudo apt-get install libpq-dev
在Red Hat Linux(RHEL)系统上:
yum install postgresql-devel
对于Mac Homebrew:
brew install postgresql
对于Mac MacPorts PostgreSQL:
gem install pg -- --with-pg-config=/opt/local/lib/postgresql[version number]/bin/pg_config
对于OpenSuse:
zypper in postgresql-devel

11.安装python (可自己安装,也可以yum下载)

tar -zxvf Python-3.7.0.tgz
mkdir /usr/local/Python37
cd Python-3.7.0
./configure --prefix=/usr/local/python37   //配置
make && make install   //编译并且安装

安装时报错ModuleNotFoundError: No module named '_ctypes’的解决办法:
yum install libffi-devel

11.1安装完成后需要创建软连接

ln -s /usr/local/python37/bin/python3.7 /usr/bin/python37
ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip37

11.2测试安装的Python是否可用

[root@mini Python-3.7.0]# python3
Python 3.7.0 (default, Jul 28 2018, 22:47:29) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world!")
hello world!
>>> exit()
[root@mini Python-3.7.0]# pip3 --version     //如果还没有安装,会出现提示如何安装的命令
pip 10.0.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

12.安装sip (我用的版本是V4.19.14)

下载地址:https://riverbankcomputing.com/software/sip/download

	sip -V检查版本
    tar -zxvf sip-4.19.8.tar.gz   
    python3 configure.py   --sip-module PyQt5.sip  //必须添加这个,否则运行 import PyQt5.Core 会异常 
    sudo make  -j8(或者你电脑的核心数)
    sudo make install  

安装完成后,可分别在终端和Python中查验sip版本是否一致

#终端查看sip版本
sip -V
#查看Python调用的sip版本(通过上述编译安装操作得到的)
python
import sip
print(sip.SIP_VERSION_STR)

13.安装PyQt (我用的版本是V4.11.3)

tar zxvf PyQt-gpl-5.3.2.tar.gz
cd PyQt-gpl-5.11.2/
python configure.py –qmake /opt/Qt5.11.1/5.3/gcc_64/bin/qmake –sip-incdir ../sip-4.19.4/siplib //也可以将qmke文件复制
到,/usr/bin/目录下,就不用添加-qmake
make -j4 //建议添加-j 要不然编译会很久
sudo make install

可设置创建软连接:
sudo ln -s /usr/lib/python3.4/site-packages/PyQt5 /usr/lib/python3.4/PyQt5

14.QScintilla (我用的版本是V2.11)

安装配置:

tar -zxvf QScintilla_gpl-2.11.tar.gz
cd QScintilla_gpl-2.11/
cd ./Qt4Qt5
qmake qscintilla.pro
make
make install
.....
cd ../Python
python configure.py 
make
sudo make install

15.spatialite下载地址

http://www.gaia-gis.it/gaia-sins/libspatialite-sources/

编译过程

1.开始编译配置

cd QGIS
mkdir build-master
cd build-master
ccmake ..

进入cmake界面后,按c进行配置检查,按g生成代码。

2.make进行编译

make -j8
make install

3.运行

1)当前目录直接运行
./output/bin/qgis

2)make安装运行
qgis

QQ交流群

中标麒麟编译qgis源码+PyQt环境_第1张图片

你可能感兴趣的:(linux,linux,服务器,centos)