CentOS7下如何编译安装Mapnik Mapnik

  介绍

小编给大家分享一下CentOS7下如何编译安装Mapnik Mapnik,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

InstallationTroubleshooting编译安装遇到问题汇总

git  clone  https://github.com/mapnik/mapnik.git

安装必要的依赖

yum  install  boost-devel  postgresql-devel  proj-devel  proj-epsg

扩展需要的依赖

yum  install  sqlite-devel  libpng-devel  libtiff-devel  libjpeg-devel  libicu-devel

编译的时候,官方需求最少要有5 gb (g + +)的内存,对于小内存的用户(我当时只有2 g)可能会出现内存不够而异常退出的情况,如果出现以下状况而退出的话:

g++:, internal  compiler 错误:,Killed  (program  cc1plus)

我们可以临时增加磁盘交换空间来临时解决该问题

sudo  dd 如果=/dev/zero =/swapfile  b=64 m 数=16,      sudo  mkswap /swapfile       sudo  swapon /swapfile

然后在编译完成后,在恢复到之前的状态

sudo  swapoff /swapfile       sudo  rm /swapfile

开始编译

。/configure       make       make 安装

中间会出现错误如:

 CentOS7下如何编译安装Mapnik Mapnik

编译一下harfbuzz参照如下修改

harfbuzz未找到

,美元brew  install  harfbuzz   …   $ ./configure   …   Checking  for  c++, library  harfbuzz…没有   Could  not  find  required  header 或是shared  library  for  harfbuzz   …   退出……,从而following  required  dependencies  were  not 发现:   ,安康;harfbuzz  (harfbuzz  text  shaping  library  |, configure  with  HB_LIBS ,, HB_INCLUDES)

解决方案:HB_LIBS HB_INCLUDES目录,不是cflags/ldflags, HB_INCLUDES不需要包括“harfbuzz”目录本身。如果pkg-config说:

,美元pkg-config ——libs ——cflags  harfbuzz       - i/usr/地方/地窖/harfbuzz/0.9.35_1/include/harfbuzz  - l/usr/地方/地窖/harfbuzz/0.9.35_1/lib  -lharfbuzz

你实际上需要的是修改配置文件为,直接指定HB_LIBS, HB_INCLUDES

,美元。/configure  HB_LIBS=/usr/地方/地窖/harfbuzz/0.9.35_1/lib  HB_INCLUDES=/usr/地方/地窖/harfbuzz/0.9.35_1包括

简单测试

python  import  mapnik

如果出现类似的错误

ImportError:, libmapnik.so.3.0:, cannot  open  shared  object 文件:,No  such  file 或是目录

需要手工添加一下这样的位置

vim /etc/ld.so.conf.d/mapnik-x86_64。参看

添加一行内容:/usr/local/lib

然后保存退出,同时执行一下

 ldconfig 

如果没有问题的话可以试一下渲染演示,会生成一些不同品质不同格式的图片演示文件

python 演示/python/rundemo。py

以上是“CentOS7下如何编译安装Mapnik Mapnik”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

CentOS7下如何编译安装Mapnik Mapnik