[
https://issues.apache.org/jira/browse/YARN-8498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724649#comment-16724649
]
Qiyuan Gong commented on YARN-8498:
-----------------------------------
Facing the same 'cleanup' and '__WAIT_STATUS' errors in Fedora 27, when we
tried to build Hadoop with native. However, the same code, the same building
command works well on Ubuntu 16.04 and CentOS 7.
I think this problem is caused by C and C++ code compatibility on high version
gcc (gcc is version 7+ in Ubuntu 18 and Fedora 27, while version 5+ in Ubuntu
16.04 and CentOS 7). According to
[https://gcc.gnu.org/projects/cxx-status.html], gcc 5 and gcc 7 have lots of
difference, such as inline
([https://en.cppreference.com/w/cpp/language/inline]).
Solving this problem requires to make some changes in related C and C++ code,
i.e., 'oom_listener_main.c' and 'oom_listener_test_main.cc', just like what you
have done in this patch. I have tried your patch, it works for me (Fedora 27
with gcc 7.3.1).
> Yarn NodeManager OOM Listener Fails Compilation on Ubuntu 18.04
> ---------------------------------------------------------------
>
> Key: YARN-8498
> URL: https://issues.apache.org/jira/browse/YARN-8498
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Jack Bearden
> Priority: Blocker
> Attachments: YARN-8948-01.patch
>
>
> While building this project, I ran into a few compilation errors here. The
> first one was in this file:
> hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/oom-listener/impl/oom_listener_main.c
> At the very end, during the compilation of the OOM test, it fails again:
>
> hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/oom-listener/test/oom_listener_test_main.cc
> hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/oom-listener/test/oom_listener_test_main.cc:256:7:
> error: ‘__WAIT_STATUS’ was not declared in this scope
> __WAIT_STATUS mem_hog_status = {};
> hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/oom-listener/test/oom_listener_test_main.cc:257:30:
> error: ‘mem_hog_status’ was not declared in this scope
> __pid_t exited0 = wait(mem_hog_status);
> hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/oom-listener/test/oom_listener_test_main.cc:275:21:
> error: expected ‘;’ before ‘oom_listener_status’
> __WAIT_STATUS oom_listener_status = {};
> hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/oom-listener/test/oom_listener_test_main.cc:276:30:
> error: ‘oom_listener_status’ was not declared in this scope
> __pid_t exited1 = wait(oom_listener_status);
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]