Centos環境中ImageMagick編譯教程

2020-12-05 godfather1103
imagemagick

1、下載相應源碼

zlib-1.2.8.tar.gz

jpegsrc.v9b.tar.gz

libpng-1.6.26.tar.gz

freetype-2.7.tar.gz(可選,如果要使用文字轉圖片操作,這個依賴必不可少)

libwebp-1.0.3.tar.gz

ImageMagick.tar.gz

2、編譯

2.1、除了ImageMagick之外,其他的軟體包編譯的命令為

1)、./configure --prefix=/usr/local/

2)、make && make install

註:編譯順序按照第一節的順序由上到下

2.2、編譯ImageMagick

1)、./configure --prefix=/usr/local/ImageMagick

查看終端中配置的結果,如果下面幾條在終端中存在則說明ImageMagick開啟了對相應圖片格式的支持

JPEG v1 --with-jpeg=yes yes

PNG --with-png=yes yes

ZLIB --with-zlib=yes yes

如果不與上面相符,則說明ImageMagick未能對其進行支持,相應的庫可能安裝失敗了。

特別是png和zlib,可能是ImageMagick-7.0.3-5的configure腳本的問題,

明明已經編譯安裝了libpng和zlib,但是就是無法添加對其的支持。

首先有可能是libpng,zlib等文件編譯生成的pc文件沒有生成到pkg-config默認路徑下,需要手動將相關路徑引入pkg-configue中

在終端中輸入如下命令去引入相關變量

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

註:

/usr/local/lib/pkgconfig路徑下需要存在libpng.pc,zlib.pc等文件,如果編譯時指定了新的路徑需要根據文件實際生成路徑去修改

如果這兩個庫一直是no的話,在聯網的情況下可以用yum安裝libpng和libpng-devel,使用yum安裝時會自動安裝依賴zlib和zlib-devel,所有只需要yum install libpng libpng-devel即可。

如果上述三條均為yes則進入下一步;

2)、make && make install

3)、cd /usr/local/ImageMagick/bin

輸入./convert --version

如果出現如下信息,則說明安裝成功

Version: ImageMagick 7.0.3-5 Q16 x86_64 2016-11-08

....

Delegates (built-in): jng jpeg png zlib

3、錯誤列表:

3.1、如果出現

./convert:error while loading shared libraries:libjpeg.so.9:cannot open shared object file:No such file or directory;

並且前面編譯安裝jpegsrc.v9b時沒有出現任何問題,則可能是因為系統的動態連結庫中沒有這個庫,因為

Linux中系統默認的存放動態連結庫的目錄中沒有/usr/local/lib,需要添加進去;

解決方法:

1)、臨時方案,直接輸入 ldconfig /usr/local/lib即可,這個立即在相應終端中生效,缺點系統重啟後就會造成失效

2)、永久方案,在/etc/ld.so.conf.d/目錄下創建一個ld.conf文件,在其中添加上/usr/local/lib,保存後在終端中輸入ldconfig讓配置文件生效即可

3.2、如果編譯libpng出現

./.libs/libpng16.so: undefined reference to `inflateValidate'

需要在./configure 中指定zlib的LDFLAGS

./configure --prefix=/usr/local/ LDFLAGS="-L/usr/local/lib -lz"

相關路徑應該根據實際情況填寫

相關焦點

  • Linux-Centos下之RabbitMQ快速安裝
    不想走失,請點擊上方關注,每天為你更新最新流行技術教程!RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟體(亦稱面向消息的中間件)。RabbitMQ伺服器是用Erlang語言編寫的,而群集和故障轉移是構建在開放電信平臺框架上的。所有主要的程式語言均有與代理接口通訊的客戶端庫。
  • 史上最簡單的VASP安裝教程-非虛擬機
    本文是針對vasp初學者的安裝教程編譯器以及VASP都已編譯號直接解壓到系統中即可用,故不用配置其它的庫文件以及環境;本教程適用於任意平臺安裝centos7的伺服器以及pc機(若在其它linux發行版本中安裝請諮詢小編)。
  • 破解oncomine無法免費下載數據,學員開發了一款R語言包(附教程)
    至於如何在這個深海挖寶,因解螺旋所研發的科研技能單元課《Oncomine資料庫使用教程》,已提供了一份傻瓜式視頻教程供大家「食」用,本文就不再一一贅述了。而我通過此課程的淬鍊,雖然談不上小有所成,但已然能做到和Oncomine資料庫愉快的玩耍,如從Oncomine資料庫下載數據就已變得越發的得心應手。
  • 【搞點Geant4】Geant4教程
    Geant4的系列教程!那麼什麼是Geant4呢?Geant4(GEometry ANd Tracking,幾何和跟蹤)是由CERN(歐洲核子研究組織)基於C++面向對象技術開發的蒙特卡羅應用軟體包,用於模擬粒子在物質中輸運的物理過程。相對於MCNP、EGS等商業軟體來說,它的主要優點是原始碼完全開放,用戶可以根據實際需要更改、擴充Geant4程序。
  • 在PHP裡使用ImageMagick生成base64圖片
    最近的PHP項目中,需要用到畫圖和圖片拼接效果。通過ImageMagick生成base64圖片格式,為前端所使用。PHP將圖片轉base64編碼以及base64圖片轉換為圖片並保存代碼:base64圖片轉換為圖片並保存Base64是一種用64個字符來表示任意二進位數據的方法。
  • C語言 volatile 關鍵字在編譯優化過程中有何作用
    今天講述的話題就是關於代碼優化中,關鍵字volatile在優化過程中起到的作用。 在中斷例程或信號處理程序中訪問全局變量。} 你在不同優化等級情況下,延時時間可能會不一樣; 同樣的代碼,你在Keil 和 IAR環境下編譯出來的延時時間也可能不一樣
  • 編譯好了 盡情體驗 Chrome OS 吧
    儘管 Google 只是全方位展示了這個作業系統,可是它的原始碼已經發布,因此高手們可以輕鬆的製作出該作業系統的 iso 光碟鏡像等,其實,據 Lifehacker 報導,就在 Google 正式公布原始碼幾個小時之後,已經有人利用原始碼編譯並製作了 VMware 虛擬機鏡像,因此,你現在就可以在虛擬機體驗該作業系統了!
  • 雲計算核心技術Docker教程:Compose使用
    然後,使用一個命令,就可以從 YML 文件配置中創建並啟動所有服務。Compose 使用的三個步驟:1.使用 Dockerfile 定義應用程式的環境。2.使用 docker-compose.yml 定義構成應用程式的服務,這樣它們可以在隔離環境中一起運行。3.最後,執行 docker-compose up 命令來啟動並運行整個應用程式。
  • Centos6.5 solr4.5 主從部署文檔
    實現multicore,實際生產環境中往往會有多個搜索應用實例。步驟:一、準備條件伺服器準備準備兩臺伺服器:一臺用作主伺服器(192.168.1.243),負責分發索另一臺負責輔伺服器(192.168.1.242),負責承載搜索服務。2.
  • 用谷歌圖片搜索自製深度學習數據集 | 教程
    用谷歌圖片搜索自製深度學習數據集 | 教程 銅靈 編譯整理 就怕前腳剛立志搞個新研究,後腳就發現沒有合適的數據集可用。AI工程師從入門到放棄,可能就是這麼一會的功夫。 別找了,現在深度學習數據集也能自制了。
  • 一文概述用 python 的 scikit-image 模塊進行圖像分割
    而圖像分割是圖像處理中非常重要的一個步驟,它是把圖像分成若干個特定的、具有獨特性質的區域,並提取出感興趣目標的技術。近日,工程師 Parul Pandey 發表了一篇博文,在博文中,她介紹了用 python 的 scikit-image 庫進行圖像分割的方法。具體涉及 scikit-image 的安裝,圖像導入以及用監督算法和無監督算法進行圖像分割的方法。
  • XBOX360 Slim主機刷寫自製系統教程翻譯
    作者:陽光電玩/陽光小亮這個教程是教如何利用一個重啟脈衝信號欺騙XBOX360 CPU達到運行自製程序的破解教程。  首先聲明。刷機有風險,並且本教程的翻譯由於本人水平有限,以下翻譯是無責任翻譯。
  • 這有篇PyTorch教程
    原文來源:hackernoon 作者:Harshvardhan Gupta 「機器人圈」編譯:嗯~阿童木呀 這是兩篇文章的第二篇,為了更系統地了解與掌握該教程,在閱讀本文之前 在前一篇文章中,我們討論了小樣本數據旨在解決的主要問題類別,以及孿生網絡之所以能夠成為解決這個問題優良選擇的原因。首先,我們來重溫一個特殊的損失函數,它能夠在數據對中計算兩個的圖像相似度。我們現在將在PyTorch中實施我們之前所討論的全部內容。
  • Python爬蟲實戰教程——爬取xkcd漫畫
    詳細學習HTML:菜鳥教程runoob在example.html中,「<!「<head></head>」中包含網頁的基本信息,如網頁標題(顯示在瀏覽器標題欄)、編碼、作者、描述等。「<body></body>」中包含的內容將展示在瀏覽器中。標籤有屬性。如src、href等。
  • 深度學習入門教程:手把手帶你用Numpy實現卷積神經網絡(一)
    本教程由深度學習中文社區(Studydl.com)持續發布與更新, 教程中完整代碼已上傳至github上, 可關注我百家號後發送消息"CNN代碼", 獲得地址.前言Numpy是一個非常好用的python科學計算的庫,CNN是現在視覺領域深度學習的基礎之一。