2013-03-09 21 views
6

私は今tesseractとTess4Jをしばらく実行しています。今日、私は自分のアプリをサーバーに移行し始め、すべてをサーバーにインストールし始めました。私はtomcatでTess4Jを実行する前に、すべてがうまくいっていることを確認するための簡単なJavaプログラムを実行しようとしました。 tesseract myimage.jpg mytextはTess4jをuseses私の単純なクラスを実行している、しかし、データ ライブラリ 'tesseract'を読み込めません:libtesseract.so:共有オブジェクトファイルを開くことができません。そのようなファイルやディレクトリはありません。

を生産する - それは私がたTesseractをインストールし、その細かい作業きた私はCentOSの64ビットサーバー

  • によ...

    • ではありませんこのエラーを生成します。

      Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'tesseract': libtesseract.so: cannot open shared object file: No such file or directory

      私がこれまで

      何をやりましたか私は、サーバー上のlibtesseract.soとその

      /usr/local/lib/libtesseract.so

    で見つかったフォルダを検索しましたTesseract
  • をインストールした後sudo ldconfigを走ってきました
    • は、これらのファイルが含まれています

      myimge.png 
      ghost4j-0.3.1.jar 
      jai_imageio.jar 
      jna.jar 
      maslab.jar 
      pngj.jar 
      tess4j.jar 
      TesseractExample.class 
      TesseractExample.java 
      

      たTesseract -vは:

      tesseract -v 
      tesseract 3.02.02 
      leptonica-1.69 
          libjpeg 6b : libpng 1.2.49 : libtiff 3.9.4 : zlib 1.2.3 
      

      質問

      Tess4Jにlibtesseract.soが存在することを認識させるにはどうすればよいですか? enter code here

  • +0

    どのようにしてtesseractをインストールしましたか?私はあなたの下のリンク(https://code.google.com/p/tesseract-ocr/downloads/list)をたどり、英語のデータをダウンロードしましたが、それは* tesseractをインストールしていないようです。英語の認識のためのデータのように思えます。 – mmcrae

    +0

    試してみてくださいhttp://stackoverflow.com/a/29726897/4499919 – udit043

    答えて

    2

    多分、32ビットライブラリ.soがインストールされています。

    +0

    ここからhttp://technet.microsoft.com/ja-jp/library/tcis/tesseract-コンパイルしました。それは32ビットのライブラリをインストールした場合...それの周りに回避策はありますか? – Omnipresent

    +0

    ライブラリのパスを次のように設定してみてください:http://www.chilkatsoft.com/java-loadLibrary-Linux.asp –

    +0

    まあ、libtesseractを削除しました。このような2つの '/usr/local/lib/libtesseract.so.3.0.2:liblept.so.3:共有オブジェクトファイルを開くことができません:'と同じエラーが発生しましたコードに明示的にパスを追加するか、すでに 'java.library.path'にあるパスにそれらを追加することによって行われます – Omnipresent

    2

    変数jna.platform.library.pathを定義する必要があります。例えば:

    -Djna.platform.library.path=/usr/local/lib/

    10

    私もこの問題を抱えています。

    あなたがたTesseractをインストールした後に実行しなかった: sudo ldconfig

    ITは私のためにそれを修正しました。

    +0

    良い答え:-) – udit043

    +0

    これは私のために働いた、ありがとう! –

    3

    libtesseract.soが存在するパスにLD_LIBRARY_PATH環境変数を設定する必要があります。

    export LD_LIBRARY_PATH=/usr/local/lib 
    
    +0

    ありがとう:)これは私のために働いた – Aadam

    +0

    ありがとう! 8時間後に私はあなたを見つけました! –

    関連する問題

     関連する問題