• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 

    编译的时候,官方需求最少要有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... no
    Could 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
    
    上一篇:CentOS系统下安装转PDF和SWF环境
    下一篇:Centos7下如何实现多虚拟机互信?Centos7下实现多虚拟机互信的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    CentOS7下编译安装Mapnik Mapnik编译教程 CentOS7,下,编译,安装,Mapnik,