YARN-10495. make the rpath of container-executor configurable. Contributed by
angerszhu.
(cherry picked from commit 7d3c8ef606
)
This commit is contained in:
parent
f5810ea83c
commit
1022ed91ac
@ -30,6 +30,7 @@
|
|||||||
<!-- Basedir eeded for generating FindBugs warnings using parent pom -->
|
<!-- Basedir eeded for generating FindBugs warnings using parent pom -->
|
||||||
<yarn.basedir>${project.parent.parent.basedir}</yarn.basedir>
|
<yarn.basedir>${project.parent.parent.basedir}</yarn.basedir>
|
||||||
<container-executor.conf.dir>../etc/hadoop</container-executor.conf.dir>
|
<container-executor.conf.dir>../etc/hadoop</container-executor.conf.dir>
|
||||||
|
<extra.libhadoop.rpath>../lib/native</extra.libhadoop.rpath>
|
||||||
<container-executor.additional_cflags></container-executor.additional_cflags>
|
<container-executor.additional_cflags></container-executor.additional_cflags>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
@ -199,6 +200,7 @@
|
|||||||
<source>${basedir}/src</source>
|
<source>${basedir}/src</source>
|
||||||
<vars>
|
<vars>
|
||||||
<HADOOP_CONF_DIR>${container-executor.conf.dir}</HADOOP_CONF_DIR>
|
<HADOOP_CONF_DIR>${container-executor.conf.dir}</HADOOP_CONF_DIR>
|
||||||
|
<EXTRA_LIBHADOOP_RPATH>${extra.libhadoop.rpath}</EXTRA_LIBHADOOP_RPATH>
|
||||||
<JVM_ARCH_DATA_MODEL>${sun.arch.data.model}</JVM_ARCH_DATA_MODEL>
|
<JVM_ARCH_DATA_MODEL>${sun.arch.data.model}</JVM_ARCH_DATA_MODEL>
|
||||||
</vars>
|
</vars>
|
||||||
<env>
|
<env>
|
||||||
|
@ -25,6 +25,8 @@ set(GTEST_SRC_DIR ${CMAKE_SOURCE_DIR}/../../../../../hadoop-common-project/hadoo
|
|||||||
|
|
||||||
set(HADOOP_COMMON_SEC_PATH ${HADOOP_COMMON_PATH}/src/main/native/src/org/apache/hadoop/security)
|
set(HADOOP_COMMON_SEC_PATH ${HADOOP_COMMON_PATH}/src/main/native/src/org/apache/hadoop/security)
|
||||||
|
|
||||||
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
|
|
||||||
# determine if container-executor.conf.dir is an absolute
|
# determine if container-executor.conf.dir is an absolute
|
||||||
# path in case the OS we're compiling on doesn't have
|
# path in case the OS we're compiling on doesn't have
|
||||||
# a hook in get_executable. We'll use this define
|
# a hook in get_executable. We'll use this define
|
||||||
@ -157,6 +159,18 @@ add_executable(container-executor
|
|||||||
main/native/container-executor/impl/main.c
|
main/native/container-executor/impl/main.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# By embedding '$ORIGIN' into the RPATH of container-executor, dlopen will look in
|
||||||
|
# the directory containing container-executor. However, $ORIGIN is not supported by
|
||||||
|
# all operating systems.
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|SunOS")
|
||||||
|
set(RPATH "\$ORIGIN/")
|
||||||
|
if(EXTRA_LIBHADOOP_RPATH)
|
||||||
|
set(RPATH "${RPATH}:${EXTRA_LIBHADOOP_RPATH}/")
|
||||||
|
endif()
|
||||||
|
message("RPATH SET AS ${RPATH}.")
|
||||||
|
set_target_properties(container-executor PROPERTIES INSTALL_RPATH "${RPATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(container-executor
|
target_link_libraries(container-executor
|
||||||
container
|
container
|
||||||
crypto
|
crypto
|
||||||
@ -168,6 +182,19 @@ output_directory(container-executor target/usr/local/bin)
|
|||||||
add_executable(test-container-executor
|
add_executable(test-container-executor
|
||||||
main/native/container-executor/test/test-container-executor.c
|
main/native/container-executor/test/test-container-executor.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# By embedding '$ORIGIN' into the RPATH of test-container-executor, dlopen will look in
|
||||||
|
# the directory containing test-container-executor. However, $ORIGIN is not supported by
|
||||||
|
# all operating systems.
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|SunOS")
|
||||||
|
set(RPATH "\$ORIGIN/")
|
||||||
|
if(EXTRA_LIBHADOOP_RPATH)
|
||||||
|
set(RPATH "${RPATH}:${EXTRA_LIBHADOOP_RPATH}/")
|
||||||
|
endif()
|
||||||
|
message("RPATH SET AS ${RPATH}.")
|
||||||
|
set_target_properties(test-container-executor PROPERTIES INSTALL_RPATH "${RPATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(test-container-executor
|
target_link_libraries(test-container-executor
|
||||||
container
|
container
|
||||||
${EXTRA_LIBS}
|
${EXTRA_LIBS}
|
||||||
|
Loading…
Reference in New Issue
Block a user