centos下搭建ImageMagick和JMagick環(huán)境

安裝過程中命令:

cd /usr/local/src
yum install freetype* ghostscript* libjpeg* libpng* libtiff* zlib*
wget http://pkgs.fedoraproject.org/repo/pkgs/ImageMagick/ImageMagick-6.2.8-0.tar.bz2/484cd7b62fac2164e8257449405f2563/ImageMagick-6.2.8-0.tar.bz2
wget http://downloads.jmagick.org/6.2.6/JMagick-6.2.6-0.tar.gz
------------------
tar xjvf ImageMagick-6.2.8-0.tar.bz2
tar xzvf JMagick-6.2.6-0.tar.gz
cd /usr/local/src/ImageMagick-6.2.8
./configure -prefix=/usr/local/ImageMagick && make && make install
cd /usr/local/src/JMagick-6.2.6-0
./configure --with-magick-home=/usr/local/ImageMagick && make all && make install
 
# copy libs into specific directories
cp  lib/libJMagick.so /usr/lib64/libJMagick.so 
cp  lib/libJMagick.so ${JAVA_HOME}/jre/lib/libJMagick.so
cp  lib/libJMagick.so ${JAVA_HOME}/jre/lib/ext/libJMagick.so
cp  lib/libJMagick.so ${JAVA_HOME}/lib/libJMagick.so
cp  lib/libJMagick.so /usr/local/lib/libJMagick.so
 
cp  lib/jmagick.jar ${JAVA_HOME}/bin/jmagick.jar
cp  lib/jmagick.jar ${JAVA_HOME}/jre/jmagick.jar
cp  lib/jmagick.jar ${JAVA_HOME}/jre/lib/jmagick.jar
cp  lib/jmagick.jar ${JAVA_HOME}/jre/lib/ext/jmagick.jar
cp  lib/jmagick.jar /usr/local/lib/jmagick.jar

cd /usr/local/lib
cp libJMagick.so /usr/lib64/libJMagick.so
cp libJMagick.so ${JAVA_HOME}/jre/lib/libJMagick.so
cp libJMagick.so ${JAVA_HOME}/jre/lib/ext/libJMagick.so
cp libJMagick.so ${JAVA_HOME}/lib/libJMagick.so
cp libJMagick.so /usr/local/lib/libJMagick.so
 
cp jmagick.jar ${JAVA_HOME}/bin/jmagick.jar
cp jmagick.jar ${JAVA_HOME}/jre/jmagick.jar
cp jmagick.jar ${JAVA_HOME}/jre/lib/jmagick.jar
cp jmagick.jar ${JAVA_HOME}/jre/lib/ext/jmagick.jar
cp jmagick.jar /usr/local/lib/jmagick.jar

遇到的問題

Magick++/lib/Image.cpp: In function 'void Magick::InitializeMagick(const char*)': 
Magick++/lib/Image.cpp:3811: error: 'atexit' was not declared in this scope 
make: *** [Magick++/lib/Image.lo] 錯誤 1 

后來發(fā)現(xiàn)原來是gcc版本的問題。新系統(tǒng)的gcc版本比較新,對于舊的寫法有些不兼容。 
舊的版本gcc某些不需要明確的聲明include的地方,在新的gcc中不再支持,必須明確的聲明。 

進(jìn)入ImageMagick目錄下的Magick++/lib目錄下,編輯Image.cpp文件,在頭部include聲明的代碼中增加一行: 
#include <stdlib.h> 

重新make就可以了。 
make[1]: *** [PerlMagick/Makefile] 錯誤 2
解決方法:
yum -y install perl-CPAN
Unable to find ImageMagick header files
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容