git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Randal L. Schwartz <merlyn@stonehenge.com>
Date
Dec 20, 2006, 23:25 UTC
Message-ID
<86r6uuxi8o.fsf@blue.stonehenge.com>
In-Reply-To
<7v1wmu6ugr.fsf@assigned-by-dhcp.cox.net>
>>>>> "Junio" == Junio C Hamano <junkio@cox.net> 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
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
Previous: Junio C HamanoNext: Randal L. Schwartz
Message 10 of 48 in “What's in git.git (stable), and Announcing GIT 1.4.4.3”
  1. Junio C HamanoDec 20, 2006
  2. Randal L. SchwartzDec 20, 2006
  3. Linus TorvaldsDec 20, 2006
  4. [BUG] daemon.c blows up on OSX (was Re: What's in git.git (stable), and Announcing GIT 1.4.4.3)Randal L. Schwartz, Dec 20, 2006
  5. Junio C HamanoDec 20, 2006
  6. Randal L. SchwartzDec 20, 2006
  7. Junio C HamanoDec 20, 2006
  8. Randal L. SchwartzDec 20, 2006
  9. Junio C HamanoDec 20, 2006
  10. Randal L. SchwartzDec 20, 2006
  11. Randal L. SchwartzDec 20, 2006
  12. Stefan PfetzingDec 21, 2006
  13. Linus TorvaldsDec 20, 2006
  14. Randal L. SchwartzDec 20, 2006
  15. Junio C HamanoDec 20, 2006
  16. Linus TorvaldsDec 20, 2006
  17. Terje Sten BjerksethDec 21, 2006
  18. Junio C HamanoDec 21, 2006
  19. Terje Sten BjerksethDec 21, 2006
  20. Junio C HamanoDec 21, 2006
  21. Randal L. SchwartzDec 21, 2006
  22. Junio C HamanoDec 21, 2006
  23. Terje Sten BjerksethDec 21, 2006
  24. Do not define _XOPEN_SOURCE on MacOSX as it is too restricting thereMarco Roeland, Dec 21, 2006
  25. Don't define _XOPEN_SOURCE on MacOSX and FreeBSD as it is too restrictingMarco Roeland, Dec 21, 2006
  26. Junio C HamanoDec 22, 2006
  27. Shawn PearceDec 22, 2006
  28. Rocco RutteDec 22, 2006
  29. Marco RoelandDec 22, 2006
  30. Junio C HamanoDec 22, 2006
  31. Marco RoelandDec 22, 2006
  32. Rocco RutteDec 22, 2006
  33. Marco RoelandDec 22, 2006
  34. Andreas EricssonJan 3, 2007
  35. Linus TorvaldsDec 21, 2006
  36. Randal L. SchwartzDec 21, 2006
  37. Junio C HamanoDec 21, 2006
  38. Randal L. SchwartzDec 21, 2006
  39. Randal L. SchwartzDec 20, 2006
  40. Junio C HamanoDec 20, 2006
  41. Johannes SchindelinDec 21, 2006
  42. Junio C HamanoDec 21, 2006
  43. Nicolas PitreDec 20, 2006
  44. Johannes SchindelinDec 21, 2006
  45. Randal L. SchwartzDec 21, 2006
  46. Junio C HamanoDec 21, 2006
  47. Randal L. SchwartzDec 21, 2006
  48. Junio C HamanoDec 21, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.