您好,登錄后才能下訂單哦!
小編給大家分享一下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
以上是“CentOS7下如何編譯安裝Mapnik Mapnik”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。