diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 21aa992bd5e..fde5c687b49 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -57,6 +57,8 @@ Release 2.7.0 - UNRELEASED
HADOOP-10476) Bumping the findbugs version to 3.0.0. (wheat9)
+ HADOOP-11410. Make the rpath of libhadoop.so configurable (cmccabe)
+
OPTIMIZATIONS
HADOOP-11323. WritableComparator#compare keeps reference to byte array.
diff --git a/hadoop-common-project/hadoop-common/pom.xml b/hadoop-common-project/hadoop-common/pom.xml
index a2f14c2b3b1..04ad3a29acd 100644
--- a/hadoop-common-project/hadoop-common/pom.xml
+++ b/hadoop-common-project/hadoop-common/pom.xml
@@ -536,6 +536,7 @@
false
true
false
+
@@ -607,7 +608,7 @@
-
+
diff --git a/hadoop-common-project/hadoop-common/src/CMakeLists.txt b/hadoop-common-project/hadoop-common/src/CMakeLists.txt
index 29fa2b8f50a..ddb3abf4dcf 100644
--- a/hadoop-common-project/hadoop-common/src/CMakeLists.txt
+++ b/hadoop-common-project/hadoop-common/src/CMakeLists.txt
@@ -267,8 +267,12 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
# dlopen will look in the directory containing libhadoop.so.
# However, $ORIGIN is not supported by all operating systems.
#
+ set(RPATH "\$ORIGIN/")
+ if (EXTRA_LIBHADOOP_RPATH)
+ set(RPATH "${RPATH}:${EXTRA_LIBHADOOP_RPATH}/")
+ endif(EXTRA_LIBHADOOP_RPATH)
SET_TARGET_PROPERTIES(hadoop
- PROPERTIES INSTALL_RPATH "\$ORIGIN/")
+ PROPERTIES INSTALL_RPATH "${RPATH}")
ENDIF()
target_link_dual_libraries(hadoop