- - PR -
LinuxにJMagickの undefined symbol がでる件
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 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 | ||||
|
投稿日時: 2003-02-05 11:13
自己レスです。
JIMIではTIFF画像のデコードはできるけど、エンコードはできない事がわかりました。 | ||||
|
投稿日時: 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 には
と記述してあります。これが maru さんの望まれている 20 bit 以上の TIFF にあたるのかどうかはよく分かりません。 Image I/O のダウンロードページ http://developer.java.sun.com/developer/earlyAccess/jai_imageio/index.html | ||||
|
投稿日時: 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をそこに通しておく必要があります。 | ||||
|
投稿日時: 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以外のことでしょうか? | ||||
|
投稿日時: 2003-02-06 18:15
> ライブラリとはlibJMagick.so.5.0.490以外のことでしょうか?
以外のことです。ImageMagick(JMagickではない)のライブラリです。 UnsatisfiedLinkErrorは、libJMagickが、ImageMagickのライブラリを 見つけられないため起きています。 ImageMagickを、一緒にインストールしたのではないのですか? | ||||
1
