我在Tomcat + Ubuntu(Linux)中使用Tess4j得到一个不满意的错误
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 install tesseract-ocr安装的,Tess4j版本是2.0.0,一切似乎都适用于MacOS / OracleJDK1.7(64位),但不适用于Ubuntu / Linux / OracleJDK1.7(64位)
一些stackoverflow-search提供了关于错误版本或库不存在的线索,但是库就在那里......
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 :(得分:1)
Tess4J 2.0与Tesseract 3.03RC兼容。由于你的是3.02,你需要Tess4J 1.x版本。
答案 1 :(得分:0)
这可能是tesseract的版本与ubuntu版本不兼容
至于我,我的程序在win10中运行,而ubuntu 16没有错误,但在ubuntu 12.04中发生此错误
也许我通过命令
安装tesseractsudo apt-get install tesseract-ocr
但是在我安装流程之后确实在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
然后从源代码安装Tesseract 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
之后我解决了这个问题