From dbd5aab6d2a0dc8858b6be4c1dd08212e30f851a Mon Sep 17 00:00:00 2001 From: jji2019 <49252772+jji2019@users.noreply.github.com> Date: Wed, 20 May 2020 09:15:03 -0700 Subject: [PATCH] Update OnnxRuntime.java for OS X environment. (#3985) onnxruntime init failure due to wrong path of reading native libraries. In OS X 64 system, the arch name is detected as x86 which generates invalid path to read native libraries. Exception java.lang.UnsatisfiedLinkError: no onnxruntime in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at ai.onnxruntime.OnnxRuntime.load(OnnxRuntime.java:174) at ai.onnxruntime.OnnxRuntime.init(OnnxRuntime.java:81) at ai.onnxruntime.OrtEnvironment.(OrtEnvironment.java:24) --- java/src/main/java/ai/onnxruntime/OnnxRuntime.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/src/main/java/ai/onnxruntime/OnnxRuntime.java b/java/src/main/java/ai/onnxruntime/OnnxRuntime.java index 88aaa17ab9..ce46a00951 100644 --- a/java/src/main/java/ai/onnxruntime/OnnxRuntime.java +++ b/java/src/main/java/ai/onnxruntime/OnnxRuntime.java @@ -57,7 +57,7 @@ final class OnnxRuntime { } String detectedArch = null; String arch = System.getProperty("os.arch", "generic").toLowerCase(Locale.ENGLISH); - if (arch.indexOf("amd64") == 0) { + if (arch.indexOf("amd64") == 0 || arch.indexOf("x86_64") == 0) { detectedArch = "x64"; } else if (arch.indexOf("x86") == 0) { detectedArch = "x86";