[
https://issues.apache.org/jira/browse/HADOOP-8569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409644#comment-13409644
]
Colin Patrick McCabe commented on HADOOP-8569:
----------------------------------------------
bq. The disadvantage is that libhdfs currently compiles on non-gnu systems and
this breaks that.
Defining _GNU_SOURCE doesn't break the compile on any systems. Nobody should
be checking for this macro except on Linux. If they are, then that's a bug on
their part, which we can work around like this:
{code}
IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE")
ENDIF()
{code}
I guess maybe we should do it like that. Although it shouldn't matter.
bq. What functions are we using that are currently being hidden that are only
declared via _gnu_source? If the above is true we should be able to use these
via including std headers.
man sync_file_range
{code}
NAME
sync_file_range - sync a file segment with disk
SYNOPSIS
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <fcntl.h>
int sync_file_range(int fd, off64_t offset, off64_t nbytes,
unsigned int flags);
{code}
As you can see, the man page tells you to define _GNU_SOURCE in order to make
this function visible.
> CMakeLists.txt: define _GNU_SOURCE and _LARGEFILE_SOURCE
> --------------------------------------------------------
>
> Key: HADOOP-8569
> URL: https://issues.apache.org/jira/browse/HADOOP-8569
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Priority: Minor
> Attachments: HADOOP-8569.001.patch
>
>
> In the native code, we should define _GNU_SOURCE and _LARGEFILE_SOURCE so
> that all of the functions on Linux are available.
> _LARGEFILE enables fseeko and ftello; _GNU_SOURCE enables a variety of
> Linux-specific functions from glibc, including sync_file_range.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira