2

我在 Tomcat+Ubuntu(Linux) 中使用 Tess4j 得到一个 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 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

有解决方案或提示的人吗?

4

2 回答 2

1

Tess4J 2.0 与 Tesseract 3.03RC 兼容。由于您的是 3.02,因此您需要 Tess4J 1.x 版本。

于 2015-04-14T23:09:46.170 回答
0

这可能是 tesseract 的版本与 ubuntu 版本不兼容

对我来说,我的程序在 win10 中运行并且 ubuntu 16 没有错误,但是在 ubuntu 12.04 中会发生此错误

也许我通过命令安装 tesseract

sudo 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

在此之后我解决了这个问题

于 2016-12-26T11:02:40.507 回答