- PR -

LinuxにJMagickの undefined symbol がでる件

1
投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-02-05 10:21
お世話になっています。マルヤマと申します。

現在、20Bit以上のTiff画像が扱えるJavaのAPIを探しています。TIFFを使えるJavaのAPI
としてJAI、JIMI、JMagickがある事がわかりました。で、JMagickはTIFF24が扱えるとの
ことで今、インストールにチャレンジしているのですが、インストール後にテストプログラム
を実行すると以下のようなエラーがでてうまくいきません。

java.lang.UnsatisfiedLinkError: /usr/local/lib/libJMagick.so.5.0.490: undefined symbol: Acquire String

libJMagick.so.5.0.490は/usr/local/libに存在しており、LD_LIBRARY_PATHもとおってい
ます。ためしにlibJMagick.so.5.0.490を適当にリネームしたところ、
no Jmagick in java.library.pathと別のエラーがでるので、パスはとおっていると思い
ます。
undefined symbol: Acquire Stringはどういった場合に出るのかご存知の方はいませんか?
また、件名とは違いますが、JIMIはTIFFの何bit画像まで扱えるかご存知の方はいませんか?
JMagickがダメならJIMIに乗り換えようかなと思っています。

Linux Vine2.6
JDK 1.4.1
ImageMagick5.5.4
JMagick5.4.9
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-02-05 11:13
自己レスです。
JIMIではTIFF画像のデコードはできるけど、エンコードはできない事がわかりました。
さくらば
大ベテラン
会議室デビュー日: 2002/11/12
投稿数: 145
投稿日時: 2003-02-06 00:27
こんにちは、さくらばです。

JMagick は使ったことがないので分からないのですが、その他の方法に
ついて少しだけ。

JIMI はすでにサポートが終わっているので、いまさら使うのはやめた
方がいいと思います。

現状で最も使えるのは Image I/O です。JAI は Image I/O を使って
います。J2SE v1.4 から Image I/O はコアに入りましたが、このバー
ジョンの Image I/O は TIFF は扱えません。

しかし、新しいバージョンでは TIFF を扱うことができます。README
には

引用:

TIFF
・Added native acceleration for CCITT encoding and decoding of bilevel images.
・Added ability to write 32-bit integral and floating point data.
・Added pixel replacement capability to writer plug-in.
・Changed compression type names "CCITT Group 3" to "CCITT RLE" and "New JPEG" to "JPEG".



と記述してあります。これが maru さんの望まれている 20 bit 以上の
TIFF にあたるのかどうかはよく分かりません。

Image I/O のダウンロードページ
http://developer.java.sun.com/developer/earlyAccess/jai_imageio/index.html


t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-02-06 11:32
>undefined symbol: Acquire Stringはどういった場合に出るのかご存知の方はいませんか?
AcquireString (スペース無し)ですよね?
ImageMagickのライブラリにパスが通っていないと考えられます。
/usr/local/にインストールしたって事は、JMagickは自分でコンパイルしたのですよね?
configure時に、--with-magick-homeとか、--with-magick-lib-dirとか指定したのであれば、LD_LIBRARY_PATHをそこに通しておく必要があります。
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-02-06 13:29
こんにちは。マルヤマです。さくらばさん、t-wataさん、ご返答ありがとうございます。

>JIMI はすでにサポートが終わっているので、いまさら使うのはやめた
>方がいいと思います。
えぇ!! そうなんですか??JIMIは新しい技術だと思っていたのですが・・・。がっくり。
ImageI/Oについて調べてみます。

>ImageMagickのライブラリにパスが通っていないと考えられます。
自分でコンパイルしましたが、--with-magick-homeとか、--with-magick-lib-dirとかの
指定はしていません。たぶん・・・。
LD_LIBRARY_PATHに/usr/local/libはとおっていて、libJMagick.so.5.0.490も底に存在
します。ライブラリとはlibJMagick.so.5.0.490以外のことでしょうか?
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-02-06 18:15
> ライブラリとはlibJMagick.so.5.0.490以外のことでしょうか?

以外のことです。ImageMagick(JMagickではない)のライブラリです。
UnsatisfiedLinkErrorは、libJMagickが、ImageMagickのライブラリを
見つけられないため起きています。
ImageMagickを、一緒にインストールしたのではないのですか?
1

スキルアップ/キャリアアップ(JOB@IT)