CentOS7下ImageMagick+jmagick安装

本系统为CentOS7.0,64位,使用的ImageMagick和jmagick版本都是6.8.6,源码包分别为:ImageMagick-6.8.6-10.tar.xz 和 jmagick-6.8.6.zip


1、安装ImageMagick

你没看错,ImageMagick-6.8.6-10.tar.xz  是 xz结尾的,如果你的不是,可忽略这一段,总之就是解压:

>xz -d ImageMagick-6.8.6-10.tar.xz

>tar xvf ImageMagick-6.8.6-10.tar

>cd ImageMagick-6.8.6-10

>./configure --prefix=/usr/local/ImageMagick

>make 

>make install


配置和安装过程中可能会报错,一般是找不到依赖包的情况,用yum对应安装即可


2、安装jmagick

>unzip jmagick-6.8.6.zip

>cd jmagick-master

>./configure --prefix=/usr/local/jmagick --with-magick-home=/usr/local/ImageMagick (注意:这是通常的做法,但是我这里报错了:)

Unable to find ImageMagick header files

所以改用以下配置即可:

>./configure --prefix=/usr/local/jmagick --with-magick-inc-dir=/usr/local/ImageMagick/include/ImageMagick-6/

>make

>make install


之后把libJMagick.so复制到/usr/lib64/下即可

顺利完成



郁闷的分割线----------------------------------------------------------------------------------------------------

最近在一台新的服务器上部署时,发现以上安装方式在运行时会报以下错误:

java: symbol lookup error: /usr/lib64/libJMagick.so: undefined symbol: MagickCoreGenesis

虽然我已经手工把ImageMagick的so复制到/usr/lib64下了,但仍然报这个错,google了很久,也没有正确的解决方案。

后来采用以下方式解决:

1、用yum安装ImageMagick-devel:

      yum -y install ImageMagick-devel

      此时会在/usr/include下生成ImageMagick目录,可作为jmagick编译时的ImageMagick home目录参数

2、编译jmagick:

     之后把libJMagick.so复制到/usr/lib64/下即可
    ./configure --prefix=/usr/local/jmagick --with-magick-home=/usr/include/ImageMagick

     make 

     make install

3、同样的,复制libJMagick.so到/usr/lib64/下即可


可使用该class测试:

import magick.MagickImage;

/**
 * 测试部署后的JMagick是否可用
 * javac -classpath /usr/local/jmagick/lib/jmagick-6.8.6.jar JMagickTest.java 
 * java  -classpath .:/usr/local/jmagick/lib/jmagick-6.8.6.jar JMagickTest
 * 如果输出Success说明安装正确
 *
 */
public class JMagickTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("jmagick.systemclassloader","no");
        System.out.println(System.getProperty("java.library.path"));
        MagickImage image = new MagickImage();
        System.out.println("Success");
	}

}






之后把libJMagick.so复制到/usr/lib64/下即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值