2013-03-09 18 views
6

Ich habe Tesseract und Tess4J auf meinem MBP für eine Weile ausgeführt. Heute habe ich angefangen, meine App auf den Server zu migrieren und alles auf dem Server zu installieren. Vor dem Ausführen von Tess4J in Tomcat habe ich versucht, ein einfaches Java-Programm zu starten, um sicherzustellen, dass alles in Ordnung und gut ist. Es ist nicht ...Bibliothek 'Tesseract' kann nicht geladen werden: libtesseract.so: Datei kann nicht geöffnet werden: Keine Datei oder Verzeichnis

  • Ich bin auf einem CentOS 64-Bit-Server
  • I tesseract und seine adaequat installiert haben - tesseract myimage.jpg mytext Daten

Allerdings produziert, meine einfache Klasse ausgeführt wird, die Tess4j useses diesen Fehler erzeugt:

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

Was ich bisher getan

  • Ich lief habe sudo ldconfig nach Tesserakts Installation
  • ich für libtesseract.so suchen habe und seine in /usr/local/lib/libtesseract.so

Ordner auf dem Server enthält die folgenden Dateien gefunden:

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

Tesserakts -v erzeugt:

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

Frage

Wie kann ich Tess4J bewusst machen, dass libtesseract.so existiert? enter code here

+0

Wie haben Sie Tesseract installiert? Ich folgte dem [Link, den Sie unten angegeben haben] (https://code.google.com/p/tesseract-ocr/downloads/list) und lud einen mit englischen Daten herunter, aber das scheint nicht zu funktionieren * testeract, es scheint nur Daten für Englisch Anerkennung. – mmcrae

+0

Probieren Sie http://Stackoverflow.com/a/29726897/4499919 – udit043

Antwort

2

Vielleicht ist es eine 32-Bit-Bibliothek .so installiert.

+0

Ich installierte Tesseract-ocr-3.02.eng.tar.gz von hier http://code.google.com/p/tesseract-ocr/downloads/list und kompilierte es. Wenn es eine 32-Bit-Bibliothek installiert ... gibt es eine Arbeit um es herum? – Omnipresent

+0

Versuchen Sie, den Pfad zur Bibliothek wie eine dieser zu setzen: http://www.chilkatsoft.com/java-loadLibrary-Linux.asp –

+0

hmm gut, dass der 'libteseract los geworden ist.so 'Fehler, aber jetzt habe ich denselben Fehler für diese beiden '/usr/local/lib/libtesseract.so.3.0.2: libept.so.3: kann nicht freigegebene Objektdatei öffnen:' und diese sind nicht weg indem Sie explizit den Pfad im Code hinzufügen oder in den Pfaden hinzufügen, die sich bereits in 'java.library.path' befinden. – Omnipresent

2

Es ist notwendig, die Variable jna.platform.library.path zu definieren. Zum Beispiel:

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

10

Ich habe dieses Problem auch hatte.

haben Sie nach der Installation von tesseract laufen: sudo ldconfig

IT es für mich fixiert.

+0

Gute Antwort :-) – udit043

+0

Das hat bei mir funktioniert, danke! –

3

Sie müssen die Umgebungsvariable LD_LIBRARY_PATH auf den Pfad setzen, in dem libtesseract.so steht.

export LD_LIBRARY_PATH=/usr/local/lib 
+0

Danke :) das hat für mich funktioniert – Aadam

+0

Danke! Nach 8 Stunden habe ich dich gefunden! –