compile error on Mac OS X 10.3 (Panther) and the patch

dormando dormando at rydia.net
Fri Oct 26 06:30:15 UTC 2007


It is, sorry!

I ... don't have an OS X 10.3 machine to test this with, though I have 
two 10.4's, which I should use to make sure it still works.

Do you (or anyone offhand) know of how to detect OS X before 10.4? It 
seems wrong to define it for the whole apple platform.

If not we might merge it anyway, but I'll merge it sooner if someone 
satisfies my OCD nitpick!

-Dormando

js wrote:
> Isn't here a good place to submit a patch?
> If so, could you lead me to the right place please?
> 
> On 10/21/07, js <ebgssth at gmail.com> wrote:
>> Hi,
>>
>> Compiling memcached(svn trunk ver) failed with these errors.
>>
>> $ make
>> make  all-recursive
>> Making all in doc
>> make[2]: Nothing to be done for `all'.
>> source='memcached.c' object='memcached.o' libtool=no \
>> depfile='.deps/memcached.Po' tmpdepfile='.deps/memcached.TPo' \
>> depmode=gcc3 /bin/sh ./depcomp \
>> gcc -DHAVE_CONFIG_H -I. -I. -I.   -I/opt/local/include   -g -O2 -c
>> `test -f 'memcached.c' || echo './'`memcached.c
>> memcached.c: In function `add_msghdr':
>> memcached.c:224: warning: assignment from incompatible pointer type
>> memcached.c: In function `add_iov':
>> memcached.c:584: error: `IOV_MAX' undeclared (first use in this function)
>> memcached.c:584: error: (Each undeclared identifier is reported only once
>> memcached.c:584: error: for each function it appears in.)
>> make[2]: *** [memcached.o] Error 1
>> make[1]: *** [all-recursive] Error 1
>> make: *** [all] Error 2
>>
>> This is because OS X 10.3, unlike 10.4, doesn't have IOV_MAX in limits.h.
>> Below is my patch.
>>
>> Index: memcached.c
>> ===================================================================
>> --- memcached.c (revision 629)
>> +++ memcached.c (working copy)
>> @@ -52,9 +52,9 @@
>>  #endif
>>  #endif
>>
>> -/* FreeBSD 4.x doesn't have IOV_MAX exposed. */
>> +/* FreeBSD 4.x and old OSX don't have IOV_MAX exposed. */
>>  #ifndef IOV_MAX
>> -#if defined(__FreeBSD__)
>> +#if defined(__FreeBSD__) || defined(__APPLE__)
>>  # define IOV_MAX 1024
>>  #endif
>>  #endif
>>
>> __APPLE__is the flag for darwin.
>> http://www.google.com/codesearch?hl=en&q=+lang:c+darwin-c.c+__APPLE__+show:jXyBUL4_D4k:I24eDuyXrWQ:BPY6ixvGT5I&sa=N&cd=1&ct=rc&cs_p=http://gcc.fyxm.net/prerelease-4.1.2-20070128/gcc-core-4.1.2-20070128.tar.bz2&cs_f=gcc-4.1.2-20070128/gcc/config/darwin-c.c#first
>>
>> I don't know whether this is right fix or not
>> so could someone please review this patch and accept this or write better patch?
>>
>> Thank you in advance.
>>



More information about the memcached mailing list