无法加载库'tesseract':libtesseract.so:无法打开共享对象文件:没有这样的文件或目录

时间:2013-03-09 04:32:15

标签: java centos tesseract leptonica

我已经在我的MBP上运行了tesseract和Tess4J一段时间了。今天我开始将我的应用程序迁移到服务器并开始在服务器上安装所有内容。在tomcat中运行Tess4J之前,我尝试运行一个简单的java程序,以确保一切都很好,花花公子。这不是......

  • 我在使用centOS 64位服务器
  • 我已经安装了tesseract并且工作正常 - tesseract myimage.jpg mytext生成数据

但是,运行使用Tess4j的简单类会产生此错误:

  

线程“main”中的异常java.lang.UnsatisfiedLinkError:无法执行   加载库'tesseract':libtesseract.so:无法打开共享对象   file:没有这样的文件或目录

到目前为止我做了什么

  • 我在安装tesseract后运行了sudo ldconfig
  • 我在/usr/local/lib/libtesseract.so
  • 中搜索了libtesseract.so及其内容

服务器上的文件夹包含以下文件:

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

4 个答案:

答案 0 :(得分:15)

我也有这个问题。

安装tesseract后是否运行了以下内容:

sudo ldconfig

为我修好了。

答案 1 :(得分:3)

您必须将LD_LIBRARY_PATH环境变量设置为libtesseract.so所在的路径。

export LD_LIBRARY_PATH=/usr/local/lib

答案 2 :(得分:2)

可能是安装了32位库.so

答案 3 :(得分:2)

有必要定义变量jna.platform.library.path。例如:

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