I am using right now knoppix 7.0.2 which comes with:
$ which tesseract
/usr/bin/tesseract
$ tesseract --version
tesseract 3.02
Also I have the latest oracle's jdk and a reasonable recent version on ant:
$ which java
/media/sda1/inst/sw/java/jdk-8u66-linux-i586/bin/java
$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) Server VM (build 25.66-b17, mixed mode)
$ which ant
/media/sda1/inst/sw/java/ant/1.9.6/bin/ant
$ ant -version
Apache Ant(TM) version 1.9.6 compiled on June 29 2015
I downloaded Tess4J:
$ ls -l Tess4J-3.0-src.zip
-rw-r----- 1 knoppix knoppix 61843550 Feb 28 01:24 Tess4J-3.0-src.zip
$ md5sum -b Tess4J-3.0-src.zip
ba009fb0f2a75ba81443f84f9d001d9c *Tess4J-3.0-src.zip
and unzipped it. Then, this is what I got when I followed the instructions in:
I am using right now knoppix 7.0.2 which comes with:
$ which tesseract
/usr/bin/tesseract
$ tesseract --version
tesseract 3.02
Also I have the latest oracle's jdk and a reasonable recent version on ant:
$ which java
/media/sda1/inst/sw/java/jdk-8u66-linux-i586/bin/java
$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) Server VM (build 25.66-b17, mixed mode)
$ which ant
/media/sda1/inst/sw/java/ant/1.9.6/bin/ant
$ ant -version
Apache Ant(TM) version 1.9.6 compiled on June 29 2015
I downloaded Tess4J:
$ ls -l Tess4J-3.0-src.zip
-rw-r----- 1 knoppix knoppix 61843550 Feb 28 01:24 Tess4J-3.0-src.zip
$ md5sum -b Tess4J-3.0-src.zip
ba009fb0f2a75ba81443f84f9d001d9c *Tess4J-3.0-src.zip
and unzipped it. Then, this is what I got when I followed the instructions in:
Tess4J/readme.html
PRFX=$(basename "$(pwd)")""$(date +%Y%m%d%H%M%S)
_OFL="${_PRFX}.log"
_ERR="${_PRFX}.errs"
time( ant test ) >> "${_OFL}" 2>&1
wc -l "${_OFL}"
tail -n 30 "${_OFL}"
cat "${_OFL}" | grep "ERROR" > "${_ERR}"
wc -l "${_ERR}"
head -n 10 "${_ERR}"
tail -n 10 "${_ERR}"
$ pwd
/media/sda1/inst/sw/OCR/Tess4J/Tess4J
$ PRFX=$(basename "$(pwd)")""$(date +%Y%m%d%H%M%S)
$ _OFL="${_PRFX}.log"
$ _ERR="${_PRFX}.errs"
$
$ time( ant test ) >> "${_OFL}" 2>&1
$
$ wc -l "${_OFL}"
1188 Tess4J_20160228162002.log
$ tail -n 30 "${_OFL}"
[junit] Invalid calling convention 63
[junit] java.lang.IllegalArgumentException: Invalid calling convention 63
[junit] at com.sun.jna.Native.createNativeCallback(Native Method)
[junit] at com.sun.jna.CallbackReference.<init>(CallbackReference.java:239)
[junit] at com.sun.jna.CallbackReference.getFunctionPointer(CallbackReference.java:413)
[junit] at com.sun.jna.CallbackReference.getFunctionPointer(CallbackReference.java:395)
[junit] at com.sun.jna.Function.convertArgument(Function.java:541)
[junit] at com.sun.jna.Function.invoke(Function.java:305)
[junit] at com.sun.jna.Library$Handler.invoke(Library.java:236)
[junit] at com.sun.proxy.$Proxy7.gsapi_set_stdio(Unknown Source)
[junit] at org.ghost4j.Ghostscript.initialize(Ghostscript.java:323)
[junit] at net.sourceforge.tess4j.util.PdfUtilities.convertPdf2Png(Unknown Source)
[junit] at net.sourceforge.tess4j.util.PdfUtilities.convertPdf2Tiff(Unknown Source)
[junit] at net.sourceforge.tess4j.util.PdfUtilitiesTest.testConvertPdf2Tiff(PdfUtilitiesTest.java:57)
[junit]
[junit]
[junit] Test net.sourceforge.tess4j.util.PdfUtilitiesTest FAILED
test-report:
-post-test-run:
BUILD FAILED
/media/sda1/inst/sw/OCR/Tess4J/Tess4J/nbproject/build-impl.xml:1320: Some tests failed; see details above.
Total time: 7 seconds
real 0m7.363s
user 0m12.067s
sys 0m0.633s
$
$ cat "${_OFL}" | grep "ERROR" > "${_ERR}"
$
$ wc -l "${_ERR}"
101 Tess4J_20160228162002.errs
$ head -n 10 "${_ERR}"
[junit] Testcase: testTessBaseAPIAnalyseLayout(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testTessBaseAPIAnalyseLayout(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testChoiceIterator(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testChoiceIterator(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testTessBaseAPIGetUTF8Text(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testTessBaseAPIGetUTF8Text(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testOSD(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testOSD(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testTessBaseAPIGetUTF8Text_Pix(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
[junit] Testcase: testTessBaseAPIGetUTF8Text_Pix(net.sourceforge.tess4j.TessAPI1Test): Caused an ERROR
$ tail -n 10 "${_ERR}"
[junit] Testcase: testCreateDocuments(net.sourceforge.tess4j.TesseractTest): Caused an ERROR
[junit] Testcase: testDoOCR_UNLV_Zone_File(net.sourceforge.tess4j.TesseractTest): Caused an ERROR
[junit] Testcase: testGetSegmentedRegions(net.sourceforge.tess4j.TesseractTest): Caused an ERROR
[junit] Testcase: testDoOCR_PDF(net.sourceforge.tess4j.TesseractTest): Caused an ERROR
[junit] Testcase: testDoOCR_File(net.sourceforge.tess4j.TesseractTest): Caused an ERROR
[junit] Testcase: testSplitPdf(net.sourceforge.tess4j.util.PdfUtilitiesTest): Caused an ERROR
[junit] Testcase: testGetPdfPageCount(net.sourceforge.tess4j.util.PdfUtilitiesTest): Caused an ERROR
[junit] Testcase: testMergePdf(net.sourceforge.tess4j.util.PdfUtilitiesTest): Caused an ERROR
[junit] Testcase: testConvertPdf2Png(net.sourceforge.tess4j.util.PdfUtilitiesTest): Caused an ERROR
[junit] Testcase: testConvertPdf2Tiff(net.sourceforge.tess4j.util.PdfUtilitiesTest): Caused an ERROR
$
It seems to be some sort of configuration error.
Why is going on?
How do I troubleshoot those errors?
thanks
lbrtchx
I forgot to mention that if I try to use the jar file:
Tess4J/dist/tess4j-3.0.jar
I get:
$ java -jar "tess4j-3.0.jar"
no main manifest attribute, in tess4j-3.0.jar
lbrtchx
Looks like a compatibility issue. Tess4J 3.0 goes with Tesseract 3.04. Tesseract 3.02 requires Tess4J 1.5.
http://tess4j.sourceforge.net/changelog.html
I am getting above error ("Invalid calling convention 63") with this version stack:
on Ubuntu 16 Xenial. Error log: http://pastebin.com/C8c5qkCt
Last edit: Mathias Conradt 2016-11-01
It was resolved by downgrading JNA to 4.1.0 version (see Issue #35).