Subject: Re: [PATCH] Undefine strlcpy if needed.

From: Ramsay Jones <[email-masked]>
Date: Mon, 25 Aug 2014 01:32:56 +0100

On 24/08/14 22:09, tsuna wrote:
> On Sun, Aug 24, 2014 at 12:49 PM, Torsten Bögershausen <[email-masked]> wrote:
>> On 2014-08-24 18.18, Ramsay Jones wrote:
>>> On 24/08/14 12:13, tsuna wrote:
>>>> On Sun, Aug 24, 2014 at 4:10 AM, Ramsay Jones
>>>> <[email-masked]> wrote:
>>>>> Hmm, which version of OS X are we talking about?
>>>>
>>>> OS X 10.9.4:
>>>>
>>>> $ uname -a
>>>> Darwin damogran.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3
>>>> 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
>>>
>>> Hmm, does 'uname -r' return 13.3.0 or 13.4.0? (or something else!)
> 
> $ uname -r
> 13.3.0
> 
>>>>> config.mak.uname contains this:
>>>>>
>>>>>         ifeq ($(shell expr "$(uname_R)" : '[15]\.'),2)
>>>>>                 NO_STRLCPY = YesPlease
>>>>>
>>>>> What does ./configure put in config.mak.autogen for NO_STRLCPY?
>>>>
>>>> NO_STRLCPY=
>>>
>>> OK, so I've got to my limit here! ;-) The conditional shown above
>>> (from config.mak.uname) should not have set NO_STRLCPY (assuming
>>> that 'uname -r' is returning 13.3.0 or 13.4.0). So, unless NO_STRLCPY
>>> is being set somewhere else (command-line, environment), this should
>>> just work. puzzled. :(
>>>
>>>>
>>>> I guess I saw all the warnings because I did just a “git pull —rebase
>>>> && make -j8” without running “make configure && ./configure”.
>>>>
>>>
>>> Yes, but use of configure is supposed to be optional ...
>>>
>>> Hopefully, someone who actually knows OS X can solve the mystery.
>>>
>>> ATB,
>>> Ramsay Jones
>>
>> I need to admit that I can not reproduce the warning here,
>> uname -r gives "13.3.0"
>>
>> Could it be that something is special on your machine ?
>> Something in the environment  ?
> 
> Not that I can think of, the only "non-standard” thing I have
> installed is Homebrew (http://brew.sh/), but otherwise it’s all the
> standard OS X stuff and Developer tools.  I write code on this machine
> on a daily basis.
> 
>> Does a fresh clone help ?
> 
> A fresh clone doesn’t even build :-/
> 
> $ git clone git://github.com/git/git.git
> Cloning into 'git'...
> remote: Counting objects: 176423, done.
> remote: Compressing objects: 100% (47201/47201), done.
> remote: Total 176423 (delta 127349), reused 176233 (delta 127209)
> Receiving objects: 100% (176423/176423), 64.05 MiB | 6.13 MiB/s, done.
> Resolving deltas: 100% (127349/127349), done.
> Checking connectivity... done.
> $ cd git
> 
>                                                                    $
> make
> GIT_VERSION = 2.1.0
>     * new build flags
>     CC credential-store.o
> In file included from credential-store.c:1:
> In file included from ./cache.h:8:
> ./gettext.h:17:11: fatal error: 'libintl.h' file not found
> #       include <libintl.h>
>                 ^
> 1 error generated.
> make: *** [credential-store.o] Error 1

Again, I don't have access to an OS X system, so I don't know
which package provides libintl/gettext, but it seems to be missing
on your system.

You can avoid the build failure, without running configure, by
setting NO_GETTEXT=YesPlease in your config.mak file.

> 
> 
> I need to run configure first:
> 
> $ make configure
>     GEN configure
> $ ./configure
> configure: Setting lib to 'lib' (the default)
> […]

So, presumably, configure has set NO_GETEXT=YesPlease in your
config.mak.autogen file.

ATB,
Ramsay Jones