centos下搭建ImageMagick和JMagick环境

安装过程中命令:

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 

后来发现原来是gcc版本的问题。新系统的gcc版本比较新,对于旧的写法有些不兼容。 
旧的版本gcc某些不需要明确的声明include的地方,在新的gcc中不再支持,必须明确的声明。 

进入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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,604评论 25 709
  • 先读一下前面这段话,以决定是否要看下去: 这是写给纯小白的Arch Linux安装步骤。Arch的可配置自由度太高...
    沉沦的菩提阅读 32,339评论 73 193
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,388评论 2 33
  • 由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍S...
    weizier阅读 19,433评论 10 26
  • 今天上午跟我爸聊微信,说我想吃咸鸭蛋(没什么追求~);那会儿他没看见没有回我 中午的时候奶奶给我打了个电话说:你爸...
    不二的纠结阅读 1,189评论 2 0

友情链接更多精彩内容