Tesseract: альтернатива созданию источника на удаленном хосте Linux?

У меня есть веб-проект Java, использующий Tess4j. В моей локальной Mac OS это работает отлично, потому что, вероятно, у меня уже есть библиотеки Tesseract и Leptonica, созданные из исходного кода

./config, make, make install

Теперь я хочу развернуть проект на удаленном хосте Linux (частный jvm), я создал файл войны и увидел, что он содержит различные файлы jar tesseract и leptonica для платформы Linux для 32 и 64 бит.

mvn package -Dplatform.dependencies

Но после развертывания я получил эту ошибку:

 .UnsatisfiedLinkError: Unable to load library 'tesseract': Native library (linux-x86-64/libtesseract.so) not found in resource path ([file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/classes/, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/aopalliance-1.0.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/commons-beanutils-1.8.3.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/commons-io-1.3.1.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/commons-logging-1.1.3.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/ghost4j-0.5.1.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/itext-2.1.7.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/jai-imageio-core-standalone-1.2-pre-dr-b04-2011-07-04.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/jna-4.1.0.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/log4j-1.2.15.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/platform-3.5.2.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-aop-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-beans-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-context-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-core-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-expression-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-web-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/spring-webmvc-4.1.1.RELEASE.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/tess4j-2.0.0.jar, file:/home/jakarta/jvm/apache-tomcat-7.0.59/domains/yumq.nl/ocr1/WEB-INF/lib/xmlgraphics-commons-1.4.jar])

В чем проблема? У меня нет возможности использовать командную строку на этом удаленном хосте. Так чего здесь не хватает и как мне установить необходимые библиотеки?


person Spring    schedule 20.06.2015    source источник
comment
Вы на Ubuntu?   -  person bodyjares    schedule 20.06.2015


Ответы (1)


Я не знаю этих библиотек, но из вашей ошибки похоже, что в вашем Linux нет необходимых двоичных файлов.

Если вы используете Ubuntu, вы можете попробовать:

sudo apt-get install libtesseract-dev leptonica-progs
person bodyjares    schedule 20.06.2015
comment
Ну, вы спрашиваете, чего не хватает, а я говорю, что на вашем сервере нет этих линуксовых библиотек libtesseract-dev и leptonica-progs. Вам нужно найти способ их установить. - person bodyjares; 21.06.2015
comment
Я могу попробовать скачать библиотеку (packages.ubuntu.com/precise/libtesseract-dev) и извлеките из deb файл so и добавьте его в свое приложение, чтобы его можно было найти в /WEB-INF/classes/ - person bodyjares; 21.06.2015
comment
не могли бы вы сказать мне, как/где я могу добавить файл .so в проект Java? на удаленном хосте - person Spring; 21.06.2015
comment
Предполагая, что вы используете Maven. Вы можете поместить свой файл so в src/main/resources/ - person bodyjares; 21.06.2015
comment
У меня есть файлы libtesseract.so.3 и libjnitesseract.so, все в порядке? - person Spring; 21.06.2015
comment
Ваше сообщение об ошибке запрашивает libtesseract.so, так что, по крайней мере, вам нужен этот файл. Вы можете попробовать добавить больше файлов, чем меньше. - person bodyjares; 21.06.2015
comment
ну тогда у меня нет этого файла, у меня mac, и это не сработало - person Spring; 21.06.2015
comment
@Spring Удалось ли вам решить эту проблему в конце? Я сталкиваюсь с той же проблемой, что и вы. Не могли бы вы мне помочь. - person gashu; 24.08.2017
comment
@gashu Я сменил хостинговую компанию, где у меня есть root-доступ по ssh, и установил недостающие библиотеки на сервер, хотя подробностей не помню. - person Spring; 25.08.2017