From e9b01e175a50629c961071f65a924c906673ce6d Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 30 Dec 2022 02:42:02 -0500 Subject: [PATCH] Fix the lookup of native library --- src/main/java/org/scalasbt/ipcsocket/NativeLoader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/scalasbt/ipcsocket/NativeLoader.java b/src/main/java/org/scalasbt/ipcsocket/NativeLoader.java index d0f06c9..d86711d 100644 --- a/src/main/java/org/scalasbt/ipcsocket/NativeLoader.java +++ b/src/main/java/org/scalasbt/ipcsocket/NativeLoader.java @@ -53,12 +53,16 @@ static void load() throws UnsatisfiedLinkError { final boolean isLinux = os.startsWith("linux"); final boolean isWindows = os.startsWith("windows"); final boolean is64bit = System.getProperty("sun.arch.data.model", "64").equals("64"); + String arch = System.getProperty("os.arch", "").toLowerCase(); + if (arch.equals("amd64")) { + arch = "x86_64"; + } if (is64bit && (isMac || isLinux || isWindows)) { final String extension = "." + (isMac ? "dylib" : isWindows ? "dll" : "so"); final String libName = (isWindows ? "" : "lib") + "sbtipcsocket" + extension; final String prefix = isMac ? "darwin" : isLinux ? "linux" : "win32"; - final String resource = prefix + "/x86_64/" + libName; + final String resource = prefix + "/" + arch + "/" + libName; final URL url = NativeLoader.class.getClassLoader().getResource(resource); if (url == null) throw new UnsatisfiedLinkError(resource + " not found on classpath"); try {