2013-03-09 129 views
6

我已經有一段時間在我的MBP上運行了tesseract和Tess4J。今天,我開始將我的應用程序遷移到服務器,並開始在服務器上安裝所有內容。在Tomcat中運行Tess4J之前,我試圖運行一個簡單的java程序來確保一切都很好,很花哨。這不是......無法加載庫'tesseract':libtesseract.so:無法打開共享對象文件:沒有這樣的文件或目錄

  • 我已經安裝了正方體和其工作的罰款CentOS的64位服務器上 - tesseract myimage.jpg mytext產生數據

但是,運行我的簡單的類,useses Tess4j產生這個錯誤:

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

我所做到目前爲止

  • 我已經跑了sudo ldconfig安裝正方體
  • 後,我搜索libtesseract.so及其在服務器上/usr/local/lib/libtesseract.so

文件夾中包含以下文件:

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

正方體-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

+0

你是怎麼安裝tesseract的?我按照[下面給出的鏈接](https://code.google.com/p/tesseract-ocr/downloads/list)下載了一個包含英文數據的文件,但似乎沒有安裝* tesseract,它似乎只是英文識別的數據。 – mmcrae 2014-10-26 21:23:57

+0

嘗試http://stackoverflow.com/a/29726897/4499919 – udit043 2016-09-15 21:21:30

回答

2

也許這是一個32位庫.so安裝。

+0

我從這裏安裝了tesseract-ocr-3.02.eng.tar.gz http://code.google.com/p/tesseract-ocr/downloads/list並編譯它。如果它安裝了一個32位庫...是否有解決方法? – Omnipresent 2013-03-09 04:41:22

+0

嘗試設置庫的路徑,如下所示:http://www.chilkatsoft.com/java-loadLibrary-Linux.asp – 2013-03-09 04:47:54

+0

嗯,擺脫了'libtesseract。所以'錯誤,但現在我得到了同樣的錯誤這兩個'/usr/local/lib/libtesseract.so.3.0.2:liblept.so.3:無法打開共享對象文件:'這些都沒有消失通過在代碼中明確添加路徑或將它們添加到已存在於java.library.path中的路徑中 – Omnipresent 2013-03-09 04:57:50

2

有必要定義變量jna.platform.library.path。例如:

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

10

我已經過了這個問題。

做你的tesseract安裝後運行: sudo ldconfig

IT固定對我來說。

+0

好的回答:-) – udit043 2016-09-15 21:21:12

+0

這對我有效,謝謝! – 2017-10-22 05:14:06

3

您必須將LD_LIBRARY_PATH環境變量設置爲libtesseract.so所在的路徑。

export LD_LIBRARY_PATH=/usr/local/lib 
+0

謝謝:)這工作對我來說 – Aadam 2016-10-06 19:28:21

+0

謝謝! 8小時後,我找到了你! – 2017-06-09 14:28:03

相關問題