Re: [squid-users] Squid 3.3.1 Compiler Error

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Sun, 24 Feb 2013 20:36:54 +1300

On 22/02/2013 12:02 p.m., Amos Jeffries wrote:
> FTR: please report this type of problem to bugzilla in future.
>
> On 21/02/2013 2:50 a.m., Adam W. Dace wrote:
>> OS: Mac OS X v10.7.5
>> Xcode: Xcode v4.6
>> GCC: GCC v4.2.1
>> Configure Command: ./configure
>>
>> I've tried a few things and squid just won't compile for me.
>>
>> Here's the relevant make output:
>>
>> Making all in acl
>> /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H
>> -I../.. -I../../include -I../../lib -I../../src -I../../include
>> -I/sw/include -Wall -Wpointer-arith -Wwrite-strings -Wcomments
>> -Werror -pipe -D_REENTRANT -g -O2 -MT DomainData.lo -MD -MP -MF
>> .deps/DomainData.Tpo -c -o DomainData.lo DomainData.cc
>> libtool: compile: g++ -DHAVE_CONFIG_H -I../.. -I../../include
>> -I../../lib -I../../src -I../../include -I/sw/include -Wall
>> -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT
>> -g -O2 -MT DomainData.lo -MD -MP -MF .deps/DomainData.Tpo -c
>> DomainData.cc -fno-common -DPIC -o .libs/DomainData.o
>> DomainData.cc: In function 'int aclHostDomainCompare(char* const&,
>> char* const&)':
>> DomainData.cc:80: error: 'matchDomainName' was not declared in this
>> scope
>> make[3]: *** [DomainData.lo] Error 1
>> make[2]: *** [all-recursive] Error 1
>> make[1]: *** [all] Error 2
>> make: *** [all-recursive] Error 1
>> <adace_at_wedge:~/Src/squid-3.3.1>
>>
>> Any ideas? BTW, I've got squid v3.2.7 up and running fine. I would
>> just like to upgrade.
>
> We would like it if you could as well. We are aware of this build
> issue but unfortunately the Squid devs do not have MacOS machines on
> hand to experiment with fixes.
> Can you assist in that regard?
>
> 'matchDomainName' is most definitely defined in URL.h which is
> included the same as it was in 3.2. But for some reason the MacOS
> compiler is doing the above errors now.
>
> Amos

Turns out to be the MacOS version of GCC implicitly adding -I. to the
compiler options, combined with case-insensitvity in the basic
filesystem causig src/acl/Url.h to be confused with src/URL.h when
building the code inside src/acl/*.cc

I've applied a workaround and when the mirrors pick up the change it
will be available at:
http://ww.squid-cache.org/Versions/v3/3.HEAD/changesets/squid-3-12705.patch

Amos
Received on Sun Feb 24 2013 - 07:37:00 MST

This archive was generated by hypermail 2.2.0 : Sun Feb 24 2013 - 12:00:05 MST