diff --git a/pom.xml b/pom.xml
index 1e8874a0..f94b76b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,6 +70,18 @@
org.hamcrest
hamcrest
+
+ org.lmdbjava
+ lmdbjava-native-linux-aarch64
+ 0.9.24-2-SNAPSHOT
+ true
+
+
+ org.lmdbjava
+ lmdbjava-native-linux-ppc64le
+ 0.9.24-2-SNAPSHOT
+ true
+
org.lmdbjava
lmdbjava-native-linux-x86_64
@@ -112,6 +124,8 @@
maven-dependency-plugin
+ org.lmdbjava:lmdbjava-native-linux-ppc64le
+ org.lmdbjava:lmdbjava-native-linux-aarch64
org.lmdbjava:lmdbjava-native-linux-x86_64
org.lmdbjava:lmdbjava-native-windows-x86_64
org.lmdbjava:lmdbjava-native-osx-x86_64
@@ -142,6 +156,8 @@
+ org.lmdbjava:lmdbjava-native-linux-ppc64le
+ org.lmdbjava:lmdbjava-native-linux-aarch64
org.lmdbjava:lmdbjava-native-linux-x86_64
org.lmdbjava:lmdbjava-native-windows-x86_64
org.lmdbjava:lmdbjava-native-osx-x86_64
diff --git a/src/main/java/org/lmdbjava/Library.java b/src/main/java/org/lmdbjava/Library.java
index 18d3e717..7e9aeb6c 100644
--- a/src/main/java/org/lmdbjava/Library.java
+++ b/src/main/java/org/lmdbjava/Library.java
@@ -102,8 +102,12 @@ final class Library {
final String libToLoad;
final String arch = getProperty("os.arch");
- final boolean arch64 = "x64".equals(arch) || "amd64".equals(arch)
+ final boolean x64 = "x64".equals(arch) || "amd64".equals(arch)
|| "x86_64".equals(arch);
+ final boolean aarch64 = "aarch64".equals(arch);
+ final boolean ppc64le = "ppc64le".equals(arch);
+
+ // final boolean arch64 = x64 || aarch64 || ppc64le;
final String os = getProperty("os.name");
final boolean linux = os.toLowerCase(ENGLISH).startsWith("linux");
@@ -112,11 +116,15 @@ final class Library {
if (SHOULD_USE_LIB) {
libToLoad = getProperty(LMDB_NATIVE_LIB_PROP);
- } else if (SHOULD_EXTRACT && arch64 && linux) {
+ } else if (SHOULD_EXTRACT && aarch64 && linux) {
+ libToLoad = extract("org/lmdbjava/lmdbjava-native-linux-aarch64.so");
+ } else if (SHOULD_EXTRACT && ppc64le && linux) {
+ libToLoad = extract("org/lmdbjava/lmdbjava-native-linux-ppc64le.so");
+ } else if (SHOULD_EXTRACT && x64 && linux) {
libToLoad = extract("org/lmdbjava/lmdbjava-native-linux-x86_64.so");
- } else if (SHOULD_EXTRACT && arch64 && osx) {
+ } else if (SHOULD_EXTRACT && x64 && osx) {
libToLoad = extract("org/lmdbjava/lmdbjava-native-osx-x86_64.dylib");
- } else if (SHOULD_EXTRACT && arch64 && windows) {
+ } else if (SHOULD_EXTRACT && x64 && windows) {
libToLoad = extract("org/lmdbjava/lmdbjava-native-windows-x86_64.dll");
} else {
libToLoad = LIB_NAME;