2013-03-09 2 views
6

J'ai eu tesseract et Tess4J en cours d'exécution sur mon MBP depuis un moment maintenant. Aujourd'hui, j'ai commencé à migrer mon application vers le serveur et j'ai commencé à tout installer sur le serveur. Avant de lancer Tess4J dans tomcat, j'ai essayé de lancer un simple programme java pour m'assurer que tout allait bien et dandy. Ce n'est pas ...Impossible de charger la bibliothèque 'tesseract': libtesseract.so: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

  • Je suis sur un serveur 64 bits CentOS
  • J'ai installé Tesseract et son fonctionnement bien - tesseract myimage.jpg mytext produit des données

Toutefois, l'exécution de ma classe simple qui useses Tess4j produit cette erreur:

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

ce que je l'ai fait jusqu'à présent

  • J'ai couru sudo ldconfig après avoir installé Tesseract
  • J'ai cherche libtesseract.so et son trouvé dans /usr/local/lib/libtesseract.so

dossier sur le serveur contient ces fichiers:

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

Tesseract -v produit:

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

Question

Comment puis-je faire savoir à Tess4J que libtesseract.so existe? enter code here

+0

Comment avez-vous installé tesseract? J'ai suivi le [lien que vous avez donné ci-dessous] (https://code.google.com/p/tesseract-ocr/downloads/list) et téléchargé un avec des données en anglais, mais cela ne semble pas * installer * tesseract, il semble être juste des données pour la reconnaissance en anglais. – mmcrae

+0

Essayez http://stackoverflow.com/a/29726897/4499919 – udit043

Répondre

2

Peut-être que c'est une bibliothèque 32 bits .so installée.

+0

J'ai installé tesseract-ocr-3.02.eng.tar.gz à partir d'ici http://code.google.com/p/tesseract-ocr/downloads/list et l'a compilé. s'il a installé une librairie 32 bits ... y a-t-il un travail à faire? – Omnipresent

+0

Essayez de définir le chemin d'accès à la bibliothèque comme l'un d'entre eux: http://www.chilkatsoft.com/java-loadLibrary-Linux.asp –

+0

hmm bien que se débarrasser de la 'libtesseract.donc erreur, mais maintenant j'ai la même erreur pour ces deux '/usr/local/lib/libtesseract.so.3.0.2: liblept.so.3: impossible d'ouvrir le fichier objet partagé:' et ceux-ci ne sont pas en train de disparaître en ajoutant explicitement le chemin dans le code ou en les ajoutant dans les chemins déjà dans 'java.library.path' – Omnipresent

2

Il est nécessaire de définir la variable jna.platform.library.path. Par exemple:

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

10

J'ai eu ce problème aussi.

avez-vous couru après l'installation Tesseract: sudo ldconfig

IT fixé pour moi.

+0

Bonne réponse :-) – udit043

+0

Cela a fonctionné pour moi, merci! –

3

Vous devez définir la variable d'environnement LD_LIBRARY_PATH sur le chemin où se trouve libtesseract.so.

export LD_LIBRARY_PATH=/usr/local/lib 
+0

Merci :) cela a fonctionné pour moi – Aadam

+0

Merci! Après 8 heures, je t'ai trouvé! –

Questions connexes