FreeBSD 6 requires the __BSD_VISIBLE flag for fchmod(), IPPROTO_IPV6 and more which is only properly set by <sys/cdefs.h> if _POSIX_C_SOURCE isn't present. However, _POSIX_C_SOURCE is defined if _XOPEN_SOURCE is defined and >=500. As a solution, simply don't define _XOPEN_SOURCE for FreeBSD and continue with its defaults. Signed-off-by: Rocco Rutte <pdmef@xxxxxxx> --- git-compat-util.h | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/git-compat-util.h b/git-compat-util.h index bc296b3..27d3b89 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -11,7 +11,12 @@ #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) -#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */ +#if !defined(__FreeBSD__) +#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, + * OpenBSD needs 600 for S_ISLNK(), + * FreeBSD 6 doesn't like it + */ +#endif #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */ #define _GNU_SOURCE #define _BSD_SOURCE -- 1.4.4.2.g9474f - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html