You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Siyao Meng (JIRA)" <ji...@apache.org> on 2019/04/16 16:20:00 UTC
[jira] [Updated] (YARN-9487) NodeManager shouldn't link against
librt on macOS
[ https://issues.apache.org/jira/browse/YARN-9487?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Siyao Meng updated YARN-9487:
-----------------------------
Description:
I'm compiling hadoop/trunk native on a Mac. Found that when compiling NodeManager it is trying to link against librt on Darwin as well - and it failed for sure. Diff for a quick fix:
{code}
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
index f0f005d53b5..9c3f0135aaf 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
@@ -190,5 +190,10 @@ add_executable(test-oom-listener
main/native/oom-listener/impl/oom_listener.h
main/native/oom-listener/test/oom_listener_test_main.cc
)
-target_link_libraries(test-oom-listener gtest rt)
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ # macOS does not have rt
+ target_link_libraries(test-oom-listener gtest)
+else()
+ target_link_libraries(test-oom-listener gtest rt)
+endif()
output_directory(test-oom-listener test)
{code}
This line of code is added in YARN-8437, so this affects 3.2.0+.
was:
I'm compiling hadoop/trunk native on a Mac. Found that when compiling NodeManager it is trying to link against librt on Darwin as well - and it failed for sure. Diff for a quick fix:
{code}
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
index f0f005d53b5..9c3f0135aaf 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
@@ -190,5 +190,10 @@ add_executable(test-oom-listener
main/native/oom-listener/impl/oom_listener.h
main/native/oom-listener/test/oom_listener_test_main.cc
)
-target_link_libraries(test-oom-listener gtest rt)
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+ # macOS does not have rt
+ target_link_libraries(test-oom-listener gtest)
+else()
+ target_link_libraries(test-oom-listener gtest rt)
+endif()
output_directory(test-oom-listener test)
{code}
This line of code is added in YARN-8437, so this affects 3.2.0+.
Will upload the patch after I'm added to YARN contributor list.
> NodeManager shouldn't link against librt on macOS
> -------------------------------------------------
>
> Key: YARN-9487
> URL: https://issues.apache.org/jira/browse/YARN-9487
> Project: Hadoop YARN
> Issue Type: Bug
> Components: nodemanager
> Affects Versions: 3.2.0, 3.3.0
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Attachments: YARN-9487.001.patch
>
>
> I'm compiling hadoop/trunk native on a Mac. Found that when compiling NodeManager it is trying to link against librt on Darwin as well - and it failed for sure. Diff for a quick fix:
> {code}
> diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
> index f0f005d53b5..9c3f0135aaf 100644
> --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
> +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/CMakeLists.txt
> @@ -190,5 +190,10 @@ add_executable(test-oom-listener
> main/native/oom-listener/impl/oom_listener.h
> main/native/oom-listener/test/oom_listener_test_main.cc
> )
> -target_link_libraries(test-oom-listener gtest rt)
> +if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
> + # macOS does not have rt
> + target_link_libraries(test-oom-listener gtest)
> +else()
> + target_link_libraries(test-oom-listener gtest rt)
> +endif()
> output_directory(test-oom-listener test)
> {code}
> This line of code is added in YARN-8437, so this affects 3.2.0+.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org