2013-03-09 30 views
6

Ho avuto tesseract e Tess4J in esecuzione sul mio MBP da un po 'di tempo. Oggi ho iniziato a migrare la mia app sul server e ho iniziato a installare tutto sul server. Prima di eseguire Tess4J in Tomcat ho provato a eseguire un semplice programma java per assicurarmi che tutto andasse bene e dandy. Non è ...Impossibile caricare la libreria 'tesseract': libtesseract.so: impossibile aprire il file oggetto condiviso: Nessun file o directory tale

  • Sono su un server a 64 bit CentOS
  • Ho installato Tesseract e il suo bel lavoro - tesseract myimage.jpg mytext produce dati

Tuttavia, l'esecuzione mia classe semplice che useses Tess4j produce questo errore:

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

Quello che ho fatto finora

  • Ho ho fatto funzionare sudo ldconfig dopo l'installazione tesseract
  • ho ricerca di libtesseract.so e il suo ritrovato in /usr/local/lib/libtesseract.so

cartella sul server contiene questi file:

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

tesseract -v produce:

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

Domanda

Come posso rendere Tess4J consapevole del fatto che libtesseract.so esiste? enter code here

+0

come hai installato tesseract? Ho seguito il [link che hai fornito di seguito] (https://code.google.com/p/tesseract-ocr/downloads/list) e scaricato uno con dati in inglese, ma che non sembra * installare * tesseract, sembra solo dati per il riconoscimento inglese. – mmcrae

+0

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

risposta

2

Forse è una libreria a 32 bit .so installata.

+0

Ho installato tesseract-ocr-3.02.eng.tar.gz da qui http://code.google.com/p/tesseract-ocr/downloads/list e lo ha compilato. se ha installato una libreria a 32 bit ... c'è un lavoro attorno ad essa? – Omnipresent

+0

Provare ad impostare il percorso della libreria come uno di questi: http://www.chilkatsoft.com/java-loadLibrary-Linux.asp –

+0

hmm bene che si è sbarazzato del 'libtesseract.quindi errore ma ora ho lo stesso errore per questi due '/usr/local/lib/libtesseract.so.3.0.2: liblept.so.3: impossibile aprire il file oggetto condiviso:' e questi non stanno facendo aggiungendo esplicitamente il percorso nel codice o aggiungendoli nei percorsi già in 'java.library.path' – Omnipresent

2

È necessario definire la variabile jna.platform.library.path. Per esempio:

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

10

Ho avuto anche questo problema.

ha fatto si esegue dopo l'installazione di Tesseract: sudo ldconfig

IT fissato per me.

+0

Buona risposta :-) – udit043

+0

Questo ha funzionato per me, grazie! –

3

È necessario impostare la variabile di ambiente LD_LIBRARY_PATH sul percorso in cui si trova libtesseract.so.

export LD_LIBRARY_PATH=/usr/local/lib 
+0

Grazie :) questo ha funzionato per me – Aadam

+0

Grazie! Dopo 8 ore ti ho trovato! –

Problemi correlati