64位linux(Redhat5)装配ImageMagick, JMagick过程记录

64位linux(Redhat5)安装ImageMagick, JMagick过程记录

 检查一些依赖包的安装,通过yum来安装,如果Redhat5无法用yum,参考本人的
另一篇文章:RHEL5 利用 CentOS的yum 安装openssl gc++及Nginx


1.确保系统已经安装以下包:

# yum install libjpeg 
# yum install libjpeg-devel 
# yum install libpng 
# yum install libpng-devel 
# yum install libtiff 
# yum install libtiff-devel 
# yum install libungif 
# yum install libungif-devel 
# yum install freetype
# yum install zlib

 
2.从http://downloads.jmagick.org/6.4.0/这个网址下载到最新版本

需要下载的文件有:

-rw-r--r--  1 root      root  11039859 07-19 15:20 ImageMagick-6.4.0-0.tar.gz
-rw-r--r--  1 root      root    536311 07-19 15:14 jmagick-6.4.0-3.src.rpm
-rw-r--r--  1 root      root     66773 07-19 15:14 jmagick-6.4.0-3.x86_64.rpm
-rw-r--r--  1 root      root    533551 07-19 15:14 jmagick-6.4.0-src.tar.gz
-rw-r--r--  1 root      root    138385 07-19 15:14 jmagick-debuginfo-6.4.0-3.x86_64.rpm
-rw-r--r--  1 root      root     57238 07-19 15:15 jmagick-linux-6.4.0-Q16.tar.gz

 
3.安装ImageMagick

#tar zxvf ImageMagick-6.4.0-0.tar.gz
 #cd ImageMagick-6.4.0
 #./configure --enable-shared --without-perl(如果不行就用./configure)
 #make
 #make install
 #make check

 
    安装完成后会生成一个convert:
  

#find / -name convert
#convert --version

 

  根据查看的结果判断安装是否成功。
  然后可以在命令行下试试是否能用convert命令
 

#convert -geometry 600x200 源文件.jpg 处理后文件.gif (格式转换)

 

4.安装JMagick

# yum install java( 注意:无论是否有自己的 JRE/JDK 感觉这个还是必须要有,否则安装 RPM 会提示找不到相关的 JAVA 库 ) 

; 
 # /usr/sbin/useradd –u 1000 –s /sbin/nologin jman (注意:安装 jmagick-src 的时候,如果没有这个 jman 帐号,会安

装出错); 

   

# rpm –ivh jmagick-6.4.0-3.x86_64.rpm (如果是32位系统,安装# rpm –ivh jmagick-6.4.0-3.i386.rpm)
# rpm –ivh jmagick-6.4.0-3.src.rpm 
# rpm –ivh jmagick-debuginfo-6.4.0-3.x86_64.rpm (32 位操作系统无相应的文件)
 

 如果安装src出错:

[root@localhost ~]# rpm -ivh jmagick-6.4.0-3.src.rpm
error: cannot create %sourcedir /usr/src/redhat/SOURCES


则:  
[root@localhost ~]# mkdir /usr/src/redhat
[root@localhost ~]# mkdir /usr/src/redhat/SOURCES

# tar zxvf jmagick-linux-6.4.0-Q16.tar.gz 

  把上面 tar.gz 解压出来的三个文件一个连接全部挪到 TOMCAT 的 BIN 目录 
 

# mv *.jar /usr/local/tomcat6/bin 
 # mv *.so /usr/local/tomcat6/bin

 

 

# tar zxvf jmagick-linux-6.4.0-Q16.tar.gz 

 

  把上面 tar.gz 解压出来的jar文件一个连接全部挪到 TOMCAT 的 lib 目录 
 

# mv *.jar /usr/local/tomcat6/lib

    为了防止出现“注意”中出现的问题

    将tar后生成的so删除:

#rm -rf libJMagick.so
#rm -rf libJMagick-6.4.0.so

  

注意:遇到一个比较诡异的问题,如果将so文件COPY一份放到/root下,tomcat启动后,web程序会报错:
java.lang.UnsatisfiedLinkError: /root/libJMagick.so: /root/libJMagick-6.4.0.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)

或是:

     java.lang.NoClassDefFoundError: Could not initialize class magick.ImageInfo
   这种错误的解决方法是:

    删除/root/libJMagick-6.4.0.so: /root/libJMagick.so