溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CentOS7下如何編譯安裝Mapnik Mapnik

發(fā)布時(shí)間:2021-09-22 11:24:23 來源:億速云 閱讀:142 作者:小新 欄目:系統(tǒng)運(yùn)維

小編給大家分享一下CentOS7下如何編譯安裝Mapnik Mapnik,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

InstallationTroubleshooting 編譯安裝遇到問題匯總

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

安裝必要的依賴

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

擴(kuò)展需要的依賴

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

編譯的時(shí)候,官方需求最少要有5GB(for g++)的內(nèi)存,對于小內(nèi)存的用戶(我當(dāng)時(shí)只有2G)可能會出現(xiàn)內(nèi)存不夠而異常退出的情況,如果出現(xiàn)以下狀況而退出的話:

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

我們可以臨時(shí)增加磁盤交換空間來臨時(shí)解決該問題

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

sudo mkswap /swapfile 

sudo swapon /swapfile

然后在編譯完成后,在恢復(fù)到之前的狀態(tài)

sudo swapoff /swapfile 

sudo rm /swapfile

開始編譯

./configure 

make 

make install

中間會出現(xiàn)錯(cuò)誤如:

CentOS7下如何編譯安裝Mapnik Mapnik

編譯一下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

如果出現(xiàn)類似的錯(cuò)誤

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

添加一行內(nèi)容: /usr/local/lib

然后保存退出,同時(shí)執(zhí)行一下

ldconfig

如果沒有問題的話可以試一下渲染demo,會生成一些不同品質(zhì)不同格式的圖片demo文件

python demo/python/rundemo.py

以上是“CentOS7下如何編譯安裝Mapnik Mapnik”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI