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 "Ayappan (JIRA)" <ji...@apache.org> on 2017/03/14 13:23:41 UTC

[jira] [Commented] (YARN-6141) ppc64le on Linux doesn't trigger __linux get_executable codepath

    [ https://issues.apache.org/jira/browse/YARN-6141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924166#comment-15924166 ] 

Ayappan commented on YARN-6141:
-------------------------------

The predefined macros "__linux" and "linux' are not POSIX-compliant (neither are "unix" and "__unix"), so ppc64le is in the right here.  They are allowed with GNU extensions, but should not be allowed for strict ANSI, which is implied by -std=c99.  The Hadoop code should be changed to use the compliant "__linux__".

See https://gcc.gnu.org/onlinedocs/cpp/System-specific-Predefined-Macros.html#System-specific-Predefined-Macros for discussion and guidance.  In particular:

"We are slowly phasing out all predefined macros which are outside the reserved namespace. You should never use them in new programs, and we encourage you to correct older code to use the parallel macros whenever you find it. "  Here the "parallel macros" are those with underscores both before and after the name, such as __linux__."

I do not know why the POWER back end is the only one that enforces this, but that point is moot.  Hadoop code should be changed.

> ppc64le on Linux doesn't trigger __linux get_executable codepath
> ----------------------------------------------------------------
>
>                 Key: YARN-6141
>                 URL: https://issues.apache.org/jira/browse/YARN-6141
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: nodemanager
>    Affects Versions: 3.0.0-alpha3
>         Environment: $ uname -a
> Linux f8eef0f055cf 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:42:36 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
>            Reporter: Sonia Garudi
>              Labels: ppc64le
>         Attachments: YARN-6141.diff
>
>
> On ppc64le architecture, the build fails in the 'Hadoop YARN NodeManager' project with the below error:
> Cannot safely determine executable path with a relative HADOOP_CONF_DIR on this operating system.
> [WARNING]  #error Cannot safely determine executable path with a relative HADOOP_CONF_DIR on this operating system.
> [WARNING]   ^
> [WARNING] make[2]: *** [CMakeFiles/container.dir/main/native/container-executor/impl/get_executable.c.o] Error 1
> [WARNING] make[2]: *** Waiting for unfinished jobs....
> [WARNING] make[1]: *** [CMakeFiles/container.dir/all] Error 2
> [WARNING] make: *** [all] Error 2
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> Cmake version used :
> $ /usr/bin/cmake --version
> cmake version 2.8.12.2



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org