虚位以待(AD)
虚位以待(AD)
首页 > 操作系统 > RedHat/Centos > CentOS7下编译安装Mapnik Mapnik编译教程

CentOS7下编译安装Mapnik Mapnik编译教程
类别:RedHat/Centos   作者:码皇   来源:互联网   点击:

本文为大家具体的介绍如何在CentOS7系统下编译安装Mapnik?小编这里使用的是Master版本,Master版本需要glibc2 14+的支持,一起来看看吧

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

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

    g++: internal compiler error: Killed (program cc1plus)

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

    sudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile sudo swapon /swapfile

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

    sudo swapoff /swapfile sudo rm /swapfile

开始编译

    ./configure make make install

中间会出现错误如:

编译一下harfbuzz 参照如下修改

Harfbuzz not found

    $ brew install harfbuzz...$ ./configure...Checking for C++ library harfbuzz... noCould not find required header or shared library for harfbuzz...Exiting... the following required dependencies were not found: - harfbuzz (HarfBuzz text shaping library | configure with HB_LIBS & HB_INCLUDES)

Solution: HB_LIBS and HB_INCLUDES are directories, not cflags/ldflags, and HB_INCLUDES needs not to include the “harfbuzz” directory itself. If pkg-config says:

    $ pkg-config --libs --cflags harfbuzz -I/usr/local/Cellar/harfbuzz/0.9.35_1/include/harfbuzz -L/usr/local/Cellar/harfbuzz/0.9.35_1/lib -lharfbuzz

what you actually need is 修改配置文件为,直接指定HB_LIBS,HB_INCLUDES

    $ ./configure HB_LIBS=/usr/local/Cellar/harfbuzz/0.9.35_1/lib HB_INCLUDES=/usr/local/Cellar/harfbuzz/0.9.35_1/include

简单测试

    python import mapnik

如果出现类似的错误

    ImportError: libmapnik.so.3.0: cannot open shared object file: No such file or directory

需要手工添加一下so的位置

    vim /etc/ld.so.conf.d/mapnik-x86_64.conf

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

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

    ldconfig

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

    python demo/python/rundemo.py
相关热词搜索: mapnik安装 mapnik编译教程