2015-04-14 41 views
0

我得到一個讓Tomcat中+ Ubuntu的使用Tess4j(Linux)的一個UnsatisfiedLinkErrorTess4J在Ubuntu Linux,UnsatisfiedLinkError

java.lang.UnsatisfiedLinkError: Error looking up function 'TessBaseAPICreate': /usr/lib/libtesseract.so.3.0.2: undefined symbol: TessBaseAPICreate 
at com.sun.jna.Function.<init>(Function.java:208) 
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:536) 
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:513) 
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:499) 

庫,是通過安裝的apt-get安裝的Tesseract-OCR,Tess4j版本是2.0.0 ,一切似乎在MacOS/OracleJDK1.7(64位),但不在Ubuntu/Linux/OracleJDK1.7(64位)

一些stackoverflow-搜索提供了錯誤版本或庫不存在的線索,但庫就在那裏...

ls -al /usr/lib/libtesseract.so.3.0.2 
-rw-r--r-- 1 root root 4219544 Feb 25 2012 /usr/lib/libtesseract.so.3.0.2 

有人提供解決方案或提示?

回答

0

Tess4J 2.0與Tesseract 3.03RC兼容。由於你的3.02,你需要Tess4J 1.x版本。

0

這可能是正方體的版本是不是Ubuntu的版本兼容

爲我,我的程序在win10運行和Ubuntu 16沒有錯誤,但是當在Ubuntu 12.04出現

這個錯誤也許我由命令

sudo apt-get install tesseract-ocr 

安裝的tesseract但確實在Ubuntu 12後,我通過流量安裝

sudo apt-get install libpng-dev libjpeg-dev libtiff-dev zlib1g-dev 
sudo apt-get install gcc g++ 
sudo apt-get install autoconf automake libtool checkinstall 

從源代碼安裝Leptonica。截至撰寫的最新版本是1.69。

wget http://www.leptonica.org/source/leptonica-1.69.tar.gz (if you can't,download leptonica-1.69.tar.gz from the internet) 
tar -zxvf leptonica-1.69.tar.gz 
cd leptonica-1.69 
./configure 
make 
sudo checkinstall 
sudo ldconfig 

然後從源代碼安裝正方體OCR。

wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz 
(maybe you can download tesseract-ocr-3.02.02.tar.gz from the internet and then upload to the server) 
tar -zxvf tesseract-ocr-3.02.02.tar.gz 
cd tesseract-ocr 
./autogen.sh 
./configure 
make (this may take a while) 
sudo make install 
sudo ldconfig 

在這之後我解決這個問題