Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tess4j on Mac M1 #219

Closed
felixadl opened this issue Oct 1, 2021 · 4 comments
Closed

Tess4j on Mac M1 #219

felixadl opened this issue Oct 1, 2021 · 4 comments

Comments

@felixadl
Copy link

felixadl commented Oct 1, 2021

Hi,

i have problems getting tess4j running on my m1 mac.
I'm getting the following exception:

exception in thread "pool-1-thread-1" java.lang.UnsatisfiedLinkError: dlopen(/Users/felix/Library/Caches/JNA/temp/jna3686725805253188253.tmp, 9): no suitable image found. Did find:
/Users/felix/Library/Caches/JNA/temp/jna3686725805253188253.tmp: mach-o, but wrong architecture
/Users/felix/Library/Caches/JNA/temp/jna3686725805253188253.tmp: mach-o, but wrong architecture

Is this a m1 problem?
Does anyone can help?

Thanks in advance

@nguyenq
Copy link
Owner

nguyenq commented Oct 11, 2021

It looks like there was a JNA problem with M1.

java-native-access/jna#1313
java-native-access/jna#1323
java-native-access/jna#1297
java-native-access/jna#1238

But it seems M1 support is incorporated with latest JNA versions. But if you still have issue with the latest JNA, please put in a new issue on JNA project page.

@sendreams
Copy link

errorinformation

/Library/Java/JavaVirtualMachines/jdk-11.0.16.jdk/Contents/Home/bin/java -Djna.library.path=/opt/homebrew/Cellar/tesseract/5.3.0_1/lib:/opt/homebrew/Cellar/leptonica/1.82.0_1/lib -Didea.test.cyclic.buffer.size=1048576 -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=52584:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/chenhong/git/ware4u-test/ocr-tesseract/target/test-classes:/Users/chenhong/.m2/repository/net/sourceforge/tess4j/tess4j/5.6.0/tess4j-5.6.0.jar:/Users/chenhong/.m2/repository/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar:/Users/chenhong/.m2/repository/com/github/jai-imageio/jai-imageio-core/1.4.0/jai-imageio-core-1.4.0.jar:/Users/chenhong/.m2/repository/org/apache/pdfbox/pdfbox/2.0.27/pdfbox-2.0.27.jar:/Users/chenhong/.m2/repository/org/apache/pdfbox/fontbox/2.0.27/fontbox-2.0.27.jar:/Users/chenhong/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/chenhong/.m2/repository/org/apache/pdfbox/pdfbox-tools/2.0.27/pdfbox-tools-2.0.27.jar:/Users/chenhong/.m2/repository/org/apache/pdfbox/pdfbox-debugger/2.0.27/pdfbox-debugger-2.0.27.jar:/Users/chenhong/.m2/repository/org/apache/pdfbox/jbig2-imageio/3.0.4/jbig2-imageio-3.0.4.jar:/Users/chenhong/.m2/repository/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/Users/chenhong/.m2/repository/net/sourceforge/lept4j/lept4j/1.18.0/lept4j-1.18.0.jar:/Users/chenhong/.m2/repository/org/jboss/jboss-vfs/3.2.17.Final/jboss-vfs-3.2.17.Final.jar:/Users/chenhong/.m2/repository/org/jboss/logging/jboss-logging/3.1.4.GA/jboss-logging-3.1.4.GA.jar:/Users/chenhong/.m2/repository/org/slf4j/slf4j-api/2.0.6/slf4j-api-2.0.6.jar:/Users/chenhong/.m2/repository/org/bytedeco/tesseract/5.2.0-1.5.8/tesseract-5.2.0-1.5.8.jar:/Users/chenhong/.m2/repository/org/bytedeco/leptonica/1.82.0-1.5.8/leptonica-1.82.0-1.5.8.jar:/Users/chenhong/.m2/repository/org/bytedeco/javacpp/1.5.8/javacpp-1.5.8.jar:/Users/chenhong/.m2/repository/org/bytedeco/tesseract/5.2.0-1.5.8/tesseract-5.2.0-1.5.8-macosx-arm64.jar:/Users/chenhong/.m2/repository/org/bytedeco/leptonica/1.82.0-1.5.8/leptonica-1.82.0-1.5.8-macosx-arm64.jar:/Users/chenhong/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/chenhong/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.ware4u.test.ocr.tesseract.TestPDF,test
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
java.lang.UnsatisfiedLinkError: Error looking up function 'pixAddMultipleBlackWhiteBorders': dlsym(0x8296bc60, pixAddMultipleBlackWhiteBorders): symbol not found
at com.sun.jna.Function.(Function.java:252)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:620)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:596)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:582)
at com.sun.jna.Native.register(Native.java:1904)
at com.sun.jna.Native.register(Native.java:1775)
at com.sun.jna.Native.register(Native.java:1493)
at net.sourceforge.lept4j.Leptonica1.(Leptonica1.java:41)
at net.sourceforge.tess4j.Tesseract1.getSegmentedRegions(Tesseract1.java:720)
at com.ware4u.test.ocr.tesseract.TestPDF.test(TestPDF.java:23)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

test code

@test
public void test() throws IOException, TesseractException {
File img = new File(file);
BufferedImage image = ImageIO.read(img);
Tesseract1 ocr = new Tesseract1();
ocr.setLanguage("chi_sim");
List segmentedRegions = ocr.getSegmentedRegions(image, 0); // error here
for (Rectangle rect : segmentedRegions){
System.out.println(rect);
}
// String s = ocr.doOCR(image);
// System.out.println(s);
List words = ocr.getWords(image, 1);
System.out.println(words);
}

ocr.getSegmentedRegions(image, 0); will raising error. but is ok in windows.

@sendreams
Copy link

sendreams commented Mar 29, 2023

install by homebrew

(base) chenhong@ChenhonacStudio ocr % tesseract --version
tesseract 5.3.0
leptonica-1.82.0
libgif 5.2.1 : libjpeg 8d (libjpeg-turbo 2.1.3) : libpng 1.6.39 : libtiff 4.4.0 : zlib 1.2.11 : libwebp 1.3.0 : libopenjp2 2.5.0
Found NEON
Found libcurl/7.86.0 SecureTransport (LibreSSL/3.3.6) zlib/1.2.11 nghttp2/1.47.0

@nguyenq
Copy link
Owner

nguyenq commented Apr 5, 2023

@sendreams Your issue is different from this one. Please create a new separate ticket.

@nguyenq nguyenq closed this as completed Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants