Re: [BUG] daemon.c blows up on OSX

From
Randal L. Schwartz <hidden>
Date
2016-08-11 20:07:52
Reply to
Junio C Hamano, 2016-08-11
quoted
quoted
quoted
quoted
"Junio" == Junio C Hamano [off-list ref] writes:
Junio> This unfortunately violates the "all common system headers in
Junio> git-compat-util.h" rule, which is needed to define _XOPEN_SOURCE
Junio> and friends before including the system header files.

Junio> And string.h, netdb.h and unistd.h are already included there,
Junio> so there is something deeper going on on OSX.

Junio> Is the declaration of strncasecmp in <string.h> on OSX
Junio> conditional to some macro (and the same question about other
Junio> symbols you did not get)?  We need to find out what feature
Junio> macros are expected on that platform and define them as needed.

If one of those defines _POSIX_C_SOURCE (or _ANSI_SOURCE),
then <string.h> does *not* define "strncasecmp", because it has those
under a comment of "Nonstandard routines".

Is anything earlier defining one of these?

And yes, netdb.h also has a lot of those depending on _POSIX_C_SOURCE,
and so does unistd.h

So that's your culprit.  You're defining _POSIX_C_SOURCE when you're
not really proper _POSIX_C compliant.  Can you just remove that?

And sys/cdefs.h for darwin has this:

    /* Deal with various X/Open Portability Guides and Single UNIX Spec. */
    #ifdef _XOPEN_SOURCE
    #if _XOPEN_SOURCE - 0L >= 600L
    #undef _POSIX_C_SOURCE
    #define _POSIX_C_SOURCE         200112L
    #elif _XOPEN_SOURCE - 0L >= 500L
    #undef _POSIX_C_SOURCE
    #define _POSIX_C_SOURCE         199506L
    #endif
    #endif

So that's likely how _POSIX_C_SOURCE is getting defined for the rest.

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
[off-list ref] <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
Thread (4 messages) 4 messages, 3 authors, last reply 2016-08-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help