CentOS7下Mapnik编译安装笔记(修改版)
来源:互联网 发布:洛丽塔的经典语录知乎 编辑:程序博客网 时间:2024/04/28 14:14
下载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
0 0
- CentOS7下Mapnik编译安装笔记(修改版)
- Mapnik在CentOS7系统下的编译与安装
- 编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)
- 编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)
- Scala学习笔记 --- Centos7下安装Scala编译环境
- centos7下编译安装nginx
- centos7下编译安装mysql
- centos7下编译安装nginx
- centos7下编译安装nginx
- python支持下的mapnik安装
- 在Windows下编译Mapnik的依赖库
- 在Windows下编译Mapnik的依赖库
- 在Windows下编译Mapnik的依赖库
- Nginx笔记(一)----Centos7编译安装Nginx
- 【OCR】CentOS7下编译安装tesseract-ocr
- centos7下nginx的编译安装
- CentOS7下编译安装ffmpeg3.1.5
- centos7下编译安装mysql5.7.17
- Android应用程序的Activity启动过程简要介绍和学习计划
- POJ3176——Cow Bowling
- 15. 3Sum
- 关于c++中类型定义typedef和类模板能否共用问题
- LWP::Protocol::https not installed
- CentOS7下Mapnik编译安装笔记(修改版)
- C++中模板类使用友元模板函数 和友员非模版函数!使用不当出现编译错误:无法解析的外部符号…
- 黑马Android:HTML源文件查看器
- 解决 ButterKnife8.2.1 与 Dagger2.5 冲突
- 解决vim编辑文件时中文乱码
- Linux系统目录(转)
- 好的开始,成功一半
- AjaxAnywhere content-type in not text/xml : [text/json;charset=UTF-8]
- poj 2635 The Embarrassed Cryptographer(素数筛 + 同余模定理)