Omnipresent
Omnipresent

Reputation: 30364

Unable to load library 'tesseract': libtesseract.so: cannot open shared object file: No such file or directory

I've had tesseract and Tess4J running on my MBP for a while now. Today I started to migrate my app to the server and started installing everything on the server. Prior to running Tess4J in tomcat I tried to run a simple java program to make sure everything is fine and dandy. It's not...

However, running my simple class that useses Tess4j produces this error:

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

What I've done so far

Folder on server contains these files:

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

tesseract -v produces:

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

Question

How can I make Tess4J aware that libtesseract.so does exist?enter code here

Upvotes: 10

Views: 27926

Answers (4)

youdsmedia
youdsmedia

Reputation: 219

I had this problem too.

Did you run the following after installing tesseract:

sudo ldconfig

That fixed it for me.

Upvotes: 29

Marcos Pirmez
Marcos Pirmez

Reputation: 266

You must set LD_LIBRARY_PATH environment variable to the path where libtesseract.so is.

export LD_LIBRARY_PATH=/usr/local/lib

Upvotes: 9

Alessandro Leite
Alessandro Leite

Reputation: 61

It is necessary to define the variable jna.platform.library.path. For instance:

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

Upvotes: 6

Jean Waghetti
Jean Waghetti

Reputation: 4727

Maybe it is a 32 bit library .so installed.

Upvotes: 2

Related Questions