diff --git a/dev-support/bin/dist-copynativelibs b/dev-support/bin/dist-copynativelibs
index 95de186e7e729..5db23d522f6e0 100755
--- a/dev-support/bin/dist-copynativelibs
+++ b/dev-support/bin/dist-copynativelibs
@@ -157,7 +157,7 @@ if [[ -d "${LIB_DIR}" ]]; then
bundle_native_lib "${ISALBUNDLE}" "isal.lib" "libisal." "${ISALLIB}"
- bundle_native_lib "${PMDKBUNDLE}" "pmdk.lib" "pmdk" "${PMDKLIB}"
+ bundle_native_lib "${PMDKBUNDLE}" "pmdk.lib" "libpmem." "${PMDKLIB}"
fi
# Windows
diff --git a/hadoop-common-project/hadoop-common/pom.xml b/hadoop-common-project/hadoop-common/pom.xml
index 6c6d3ec5bf929..7dada3e73c56d 100644
--- a/hadoop-common-project/hadoop-common/pom.xml
+++ b/hadoop-common-project/hadoop-common/pom.xml
@@ -709,6 +709,8 @@
false
+ false
+
false
true
false
diff --git a/hadoop-common-project/hadoop-common/src/CMakeLists.txt b/hadoop-common-project/hadoop-common/src/CMakeLists.txt
index d2ef03645a4ae..4b2ec859bcd57 100644
--- a/hadoop-common-project/hadoop-common/src/CMakeLists.txt
+++ b/hadoop-common-project/hadoop-common/src/CMakeLists.txt
@@ -143,7 +143,7 @@ if(REQUIRE_PMDK)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${STORED_CMAKE_FIND_LIBRARY_SUFFIXES})
if(PMDK_LIBRARY)
- GET_FILENAME_COMPONENT(HADOOP_PMDK_LIBRARY ${PMDK_LIBRARY} REALPATH)
+ GET_FILENAME_COMPONENT(HADOOP_PMDK_LIBRARY ${PMDK_LIBRARY} NAME)
set(PMDK_SOURCE_FILES ${SRC}/io/nativeio/pmdk_load.c)
else(PMDK_LIBRARY)
MESSAGE(FATAL_ERROR "The required PMDK library is NOT found. PMDK_LIBRARY=${PMDK_LIBRARY}")
diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
index 1d7c508d85c76..5dc3c89d015f8 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/nativeio/NativeIO.c
@@ -1639,12 +1639,15 @@ JNIEXPORT void JNICALL Java_org_apache_hadoop_io_nativeio_NativeIO_00024POSIX_pm
JNIEXPORT jstring JNICALL Java_org_apache_hadoop_io_nativeio_NativeIO_00024POSIX_getPmdkLibPath
(JNIEnv * env, jclass thisClass) {
- jstring libpath = NULL;
-
- #ifdef HADOOP_PMDK_LIBRARY
- libpath = (*env)->NewStringUTF(env, HADOOP_PMDK_LIBRARY);
- #endif
- return libpath;
+ #if (defined UNIX) && (defined HADOOP_PMDK_LIBRARY)
+ if (pmdkLoader == NULL) {
+ THROW(env, "java/lang/UnsatisfiedLinkError",
+ "Unavailable: library not loaded yet");
+ } else {
+ return (*env)->NewStringUTF(env, pmdkLoader->libname);
+ }
+ #endif
+ return (jstring)NULL;
}
#ifdef __cplusplus
diff --git a/hadoop-project-dist/pom.xml b/hadoop-project-dist/pom.xml
index 5cec569dfa825..f6c19e7e4ca0d 100644
--- a/hadoop-project-dist/pom.xml
+++ b/hadoop-project-dist/pom.xml
@@ -45,6 +45,8 @@
false
false
+
+ false
false
false
@@ -336,6 +338,8 @@
--artifactid=${project.artifactId}
--isalbundle=${bundle.isal}
--isallib=${isal.lib}
+ --pmdkbundle=${bundle.pmdk}
+ --pmdklib=${pmdk.lib}
--openssllib=${openssl.lib}
--opensslbinbundle=${bundle.openssl.in.bin}
--openssllibbundle=${bundle.openssl}