linux安装使用imagemagick 以及jmagick的问题

jiaping108 2012-12-03 01:40:11
linux系统版本以及jdk版本:

Plain Text code
??12345678 [root@hosta imageprocess]# uname -a Linux hosta.localdomain 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux [root@hosta imageprocess]# java -version java version "1.6.0_30" Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode) [root@hosta imageprocess]#


imagemagick 以及jmagick安装正常,应用服务器为weblogic10.3
jmagick用源码使用上述JDK进行编译后生成了jmagick-6.4.0.jar/libJMagick-6.4.0.so/libJMagick.so三个文件,其中jmagick-6.4.0.jar放到项目中使用了,在windows下运行正常,在linux下运行,报错java.lang.UnsatisfiedLinkError: no JMagick in java.library.path.
于是打出java.library.path如下:
/usr/java/jdk1.6.0_30/jre/lib/amd64/server:/usr/java/jdk1.6.0_30/jre/lib/amd64:/usr/java/jdk1.6.0_30/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

将libJMagick.so文件拷贝置/usr/lib下,重新启动工程,使用该功能时则报错如下:
java.lang.UnsatisfiedLinkError: /usr/lib/libJMagick.so: /usr/lib/libJMagick.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)

目前来看,系统是64位的,libJMagick.so也是使用源码用64位的JDK编译出来的,请问该如何解决?

另:单独写了个java文件测试,使用javac编译然后java命令运行,则运行正常

import magick.MagickException;
import magick.MagickImage;
public class ProcessImg {

public static void resize1(String picFrom, String picTo) {
try {
ImageInfo info = new ImageInfo(picFrom);
MagickImage image = new MagickImage(new ImageInfo(picFrom));
MagickImage scaled = image.scaleImage(100, 86);// 小图片文件的大小.
scaled.setFileName(picTo);
scaled.writeImage(info);

} catch (MagickApiException ex) {

} catch (MagickException ex) {

}
}

public static void main(String[] arg) {
System.setProperty("jmagick.systemclassloader", "no");
ProcessImg.resize1("/home/app/imageprocess/pic/a.jpg", "/home/app/imageprocess/pic/b.jpg");

}

}
...全文
182 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaping108 2012-12-04
  • 打赏
  • 举报
回复
系统中只有只有这一个JDK了,其他的包括系统自带的都已卸载~ 跟weblogic自带的JRE有关系?该如何解决?
HelloKata 2012-12-03
  • 打赏
  • 举报
回复
系统中有几个JDK? 看起来weblogic使用的JDK版本为32位,不匹配!
jiaping108 2012-12-03
  • 打赏
  • 举报
回复
在线等在线等
注:资源包中包含了必要的.tar.gz安装包,ImageMagick-6.5太大了点,自己去官网下载 Jmagick包中的Changelog.txt中有ImageMagick与JMagick版本对应的关系的说明 ) 安装说明: ================================== cd /usr/bin/ rm java rm javac ln -s /usr/java/jdk6/bin/java java ln -s /usr/java/jdk6/bin/javac javac 如果java javac已经指对目录了,上面就不用设置了 ========================================================== ImageMagick 是一个功能很强的图片处理程序。可应用在多种操作系统平台上。 安装ImageMagick和JMagick 如果安装了老版本ImageMagick的rpm包,请先删除 安装环境要求: 确认已经安装了zlib、freetype、libpng和jpeg-6b等lib的开发包,可以用rpm -aq查询,如果没有的请先安装。 /*------------------- 观察配置后给出来的支持图形格式,看看该图形格式支持是否是yes,如果不是,那么必须先安装该图形格式的本地库。 例如,你应该检查是否已经安装如下rpm包: rpm –qa |grep libpng rpm –qa |grep libpng-devel rpm –qa |grep libjpeg rpm –qa |grep gd-devel 如果你希望支持tiff格式,还应该检查 rpm –qa |grep libtiff 如果没有安装,那么在Linux安装光盘找到相应rpm包安装上, 再次configure直到确认需要的图形格式全部支持为止,然后编译安装: *-----------/ *安装jpeg包: http://www.ijg.org/files/jpegsrc.v6b.tar.gz tar -zvxf jpegsrc.v6b.tar.gz cd jpeg-6b/ ./configure --enable-shared --enable-static ; make ; make install *安装png包:先在http://sourceforge.net/projects/libpng/上下载最新的libpng包 tar -xzvf libpng-1.2.12.tar.gz cd libpng-1.2.12 cp scripts/makefile.std makefile make make install *编译并安装tiff格式支持文件, tar zvxf tiff-3.8.2.tar.gz ./configure make make install ---------------------------------------------------------- (些步可不做)修改ImageMagick的配置文件 configure --without-jpeg=false disable JPEG support --without-png=false disable PNG support --without-tiff=false disable TIFF support -------------------------------------------------------- 先在http://www.yeo.id.au/jmagick/上下载最新的ImageMagick和JMagick包 安装ImageMagick包 tar xzvf ImageMagick-6.5.3-2.tar.gz ./configure --prefix=/opt/ImageMagick --enable-share --enable-static make make install 使用convert 看看是否可以转换文件 测试:convert -geometry 600x200 1503.jpg 1503_small.gif 安装JMagick包 tar xzvf jmagick-6.4.0.tar.gz (# chmod * 否则这个包内的文件无权限执行) autoconf ./configure --prefix=/opt/JMagick --with-magick-home=/opt/ImageMagick --enable-share --enable-static --with-java-ho

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧