diff --git a/pom.xml b/pom.xml index 47d0d35..20cb057 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.github.metarank lightgbm4j - 3.3.2-2 + 3.3.2-3 LightGBM4j: Java LightGBM wrapper A high-level wrapper for LightGBM toolkit diff --git a/src/main/java/io/github/metarank/lightgbm4j/LGBMBooster.java b/src/main/java/io/github/metarank/lightgbm4j/LGBMBooster.java index 781983a..b6d0c74 100644 --- a/src/main/java/io/github/metarank/lightgbm4j/LGBMBooster.java +++ b/src/main/java/io/github/metarank/lightgbm4j/LGBMBooster.java @@ -43,12 +43,18 @@ public static boolean isNativeLoaded() { public synchronized static void loadNative() throws IOException { if (!nativeLoaded) { String os = System.getProperty("os.name"); + String arch = System.getProperty("os.arch", "generic").toLowerCase(Locale.ENGLISH); if (os.startsWith("Linux") || os.startsWith("LINUX")) { - loadNative("linux/x86_64/lib_lightgbm.so", "lib_lightgbm.so"); - loadNative("linux/x86_64/lib_lightgbm_swig.so", "lib_lightgbm_swig.so"); - nativeLoaded = true; + if (arch.startsWith("amd64") || arch.startsWith("x86_64")) { + loadNative("linux/x86_64/lib_lightgbm.so", "lib_lightgbm.so"); + loadNative("linux/x86_64/lib_lightgbm_swig.so", "lib_lightgbm_swig.so"); + nativeLoaded = true; + } else if (arch.startsWith("aarch64") || arch.startsWith("arm64")) { + loadNative("linux/aarch64/lib_lightgbm.so", "lib_lightgbm.so"); + loadNative("linux/aarch64/lib_lightgbm_swig.so", "lib_lightgbm_swig.so"); + nativeLoaded = true; + } } else if (os.startsWith("Mac")) { - String arch = System.getProperty("os.arch", "generic").toLowerCase(Locale.ENGLISH); if (arch.startsWith("amd64") || arch.startsWith("x86_64")) { loadNative("osx/x86_64/lib_lightgbm.dylib", "lib_lightgbm.dylib"); loadNative("osx/x86_64/lib_lightgbm_swig.dylib", "lib_lightgbm_swig.dylib"); diff --git a/src/main/resources/linux/aarch64/lib_lightgbm.so b/src/main/resources/linux/aarch64/lib_lightgbm.so new file mode 100755 index 0000000..d4599f7 --- /dev/null +++ b/src/main/resources/linux/aarch64/lib_lightgbm.so @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7bdfd307344bb3872dfcb229a00b83c9f80ddf8ec70258cd43cb12c7a05ba68 +size 4625288 diff --git a/src/main/resources/linux/aarch64/lib_lightgbm_swig.so b/src/main/resources/linux/aarch64/lib_lightgbm_swig.so new file mode 100755 index 0000000..61ce402 --- /dev/null +++ b/src/main/resources/linux/aarch64/lib_lightgbm_swig.so @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:324222214c30cbb511473933944c053b6879e7071bff68629dd5b0a1afa55145 +size 141344