hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-12036) Consolidate all of the cmake extensions in one directory
Date Wed, 03 Jun 2015 03:23:50 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-12036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14570211#comment-14570211

Colin Patrick McCabe commented on HADOOP-12036:

bq. JNI stuff will only be pulled in if you explicitly include HadoopJNI.cmake.


bq. If you want to globally change -02 to -O3 then YARN would have to be modified explicitly.
Without knowing exactly what flags you are going to want to override in advance I can't see
how else you can do it, unless you have a better idea.

Why not set this in your proposed {{HadoopCommon.cmake}} file?

bq. I agree that not setting _GNU_SOURCE won't enforce portability, but simply doing Solaris
test builds also won't enforce compatibility. For example the code covered by HADOOP-7824
is wrong, but compiles on Solaris just fine. It's not clear if nightly Solaris builds would
actually catch the issue.

There is always more we can do.  Compiling things is not enough to find all errors.  Testing
things is not enough to find all errors.  Even running things in production is not enough
to find all errors.  My point was simply that the issues you find with a nightly Solaris build
will be a strict superset of what you would find with any manipulation of GNU_SOURCE, making
worrying about _GNU_SOURCE quite a waste of time.  Failing to set this can only hurt by creating
confusion about which function is being called.  It never helps anything.

bq. Your point about strerror_r is an interesting one as the POSIX and Linux ones aren't compatible.
There are 475 references to errno in the native code and if each of them required the use
of strerror_r then someone would have had to go through all those places and wrap them in
a platform-independent version. Fortunately that isn't actually necessary but it does illustrate
the potential scale of the problem.

We did wrap "all those places that use strerror_r" in a platform-independent version."  The
platform independent version is called {{terror}}.  I wrote it because of the frustrations
of {{strerror_r}} on Linux.  Also, the {{strerror_r}} interface is cumbersome even when the
correct version is available since it requires a buffer to be passed in.

> Consolidate all of the cmake extensions in one directory
> --------------------------------------------------------
>                 Key: HADOOP-12036
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12036
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Allen Wittenauer
>            Assignee: Alan Burlison
>         Attachments: prototype01.txt
> Rather than have a half-dozen redefinitions, custom extensions, etc, we should move them
all to one location so that the cmake environment is consistent between the various native

This message was sent by Atlassian JIRA

View raw message