I see in the changelog that ClientInfo.h issue has been fixed. So I gave squid-3.HEAD-20090510 a whirl. It erred out:
rm -f .libs/squidS.c .libs/squid.nm .libs/squid.nmS .libs/squid.nmT
g++ -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments -g -O2 .libs/squidS.o -g -o squid AclRegs.o AuthReg.o access_log.o asn.o AsyncEngine.o cache_cf.o ProtoPort.o CacheDigest.o cache_manager.o carp.o cbdata.o ChunkedCodingParser.o client_db.o client_side.o client_side_reply.o client_side_request.o BodyPipe.o clientStream.o CompletionDispatcher.o comm_select.o comm_select_win32.o comm_poll.o comm_epoll.o comm_kqueue.o ConfigOption.o ConfigParser.o debug.o delay_pools.o DelayId.o DelayBucket.o DelayConfig.o DelayPool.o DelaySpec.o DelayTagged.o DelayUser.o DelayVector.o NullDelayId.o disk.o DiskIO/DiskIOModule.o DiskIO/ReadRequest.o DiskIO/WriteRequest.o dlink.o dns_internal.o errorpage.o ETag.o event.o EventLoop.o external_acl.o ExternalACLEntry.o fd.o fde.o filemap.o forward.o fqdncache.o ftp.o gopher.o helper.o htcp.o http.o HttpStatusLine.o HttpHdrCc.o HttpHdrRange.o HttpHdrSc.o HttpHdrScTarget.o HttpHdrContRange.o HttpHeader.o HttpHeaderTools.o HttpBody.o HttpMsg.o HttpReply.o HttpRequest.o HttpRe
questMethod.o icp_v2.o icp_v3.o int.o internal.o ipc.o ipcache.o list.o logfile.o main.o mem.o mem_node.o MemBuf.o MemObject.o mime.o multicast.o neighbors.o Packer.o Parsing.o pconn.o peer_digest.o peer_select.o peer_sourcehash.o peer_userhash.o redirect.o referer.o refresh.o RemovalPolicy.o send-announce.o snmp_core.o snmp_agent.o SquidNew.o ssl_support.o stat.o StatHist.o String.o stmem.o store.o StoreFileSystem.o store_io.o StoreIOState.o store_client.o store_digest.o store_dir.o store_key_md5.o store_log.o store_rebuild.o store_swapin.o store_swapmeta.o store_swapout.o StoreMeta.o StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o StoreMetaURL.o StoreMetaVary.o StoreSwapLogData.o Server.o SwapDir.o time.o tools.o tunnel.o unlinkd.o url.o URLScheme.o urn.o useragent.o wccp.o wccp2.o whois.o wordlist.o LoadableModule.o LoadableModules.o DiskIO/DiskIOModules_gen.o repl_modules.o globals.o string_arrays.o DiskIO/Blocking/BlockingDiskIOModule.o -Wl,-bind_at_load ./.libs/libsquid.a auth/.lib
s/libacls.a acl/.libs/libacls.a acl/.libs/libstate.a auth/.libs/libauth.a acl/.libs/libapi.a base/.libs/libbase.a ip/.libs/libip.a fs/.libs/libfs.a icmp/.libs/libicmp.a icmp/.libs/libicmp-core.a -L/Users/raymont/squid-3.HEAD-20090510/lib repl/libheap.a repl/liblru.a libBlocking.a ../snmplib/libsnmp.a adaptation/.libs/libadaptation.a -lssl -lcrypto -lmiscutil -lm -lresolv ../lib/libLtdl/.libs/libltdlc.a -ldl
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::prepareForUse()
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::prepareForUse() in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::prepareForUse() in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZN14ACLStrategisedIiE13prepareForUseEv.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZN14ACLStrategisedIiE13prepareForUseEv.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZN14ACLStrategisedIiE13prepareForUseEv.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::Pool
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::Pool in section (__DATA,__data)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::Pool in section (__DATA,__data)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::match(ACLChecklist*)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::match(ACLChecklist*) in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::match(ACLChecklist*) in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::match(int const&)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::match(int const&)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::match(int const&)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::parse()
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::parse() in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::parse() in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZN14ACLStrategisedIiE5parseEv.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZN14ACLStrategisedIiE5parseEv.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZN14ACLStrategisedIiE5parseEv.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::ACLStrategised(ACLData<int>*, ACLStrategy<int>*, char const*)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::ACLStrategised(ACLData<int>*, ACLStrategy<int>*, char const*)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::ACLStrategised(ACLData<int>*, ACLStrategy<int>*, char const*)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZN14ACLStrategisedIiEC1EP7ACLDataIiEP11ACLStrategyIiEPKc.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZN14ACLStrategisedIiEC1EP7ACLDataIiEP11ACLStrategyIiEPKc.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZN14ACLStrategisedIiEC1EP7ACLDataIiEP11ACLStrategyIiEPKc.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::ACLStrategised(ACLStrategised<int> const&)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::ACLStrategised(ACLStrategised<int> const&)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::ACLStrategised(ACLStrategised<int> const&)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZN14ACLStrategisedIiEC1ERKS0_.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZN14ACLStrategisedIiEC1ERKS0_.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZN14ACLStrategisedIiEC1ERKS0_.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::ACLStrategised(ACLData<int>*, ACLStrategy<int>*, char const*)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::ACLStrategised(ACLData<int>*, ACLStrategy<int>*, char const*)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::ACLStrategised(ACLData<int>*, ACLStrategy<int>*, char const*)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::ACLStrategised(ACLStrategised<int> const&)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::ACLStrategised(ACLStrategised<int> const&)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::ACLStrategised(ACLStrategised<int> const&)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::~ACLStrategised()
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::~ACLStrategised()in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::~ACLStrategised()in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::~ACLStrategised()
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::~ACLStrategised()in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::~ACLStrategised()in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZN14ACLStrategisedIiED1Ev.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZN14ACLStrategisedIiED1Ev.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZN14ACLStrategisedIiED1Ev.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::~ACLStrategised()
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::~ACLStrategised()in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::~ACLStrategised()in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::operator=(ACLStrategised<int> const&)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::operator=(ACLStrategised<int> const&)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::operator=(ACLStrategised<int> const&)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::operator delete(void*)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::operator delete(void*)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::operator delete(void*)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::operator new(unsigned long)
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::operator new(unsigned long)in section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::operator new(unsigned long)in section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::typeString() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::typeString() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::typeString() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZNK14ACLStrategisedIiE10typeStringEv.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZNK14ACLStrategisedIiE10typeStringEv.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZNK14ACLStrategisedIiE10typeStringEv.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::requiresReply() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::requiresReply() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::requiresReply() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::requiresRequest() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::requiresRequest() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::requiresRequest() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::dump() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::dump() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::dump() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol __ZNK14ACLStrategisedIiE4dumpEv.eh
acl/.libs/libacls.a(MyPort.o) definition of absolute __ZNK14ACLStrategisedIiE4dumpEv.eh (value 0x0)
acl/.libs/libacls.a(SslError.o) definition of absolute __ZNK14ACLStrategisedIiE4dumpEv.eh (value 0x0)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::clone() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::clone() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::clone() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::empty() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::empty() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::empty() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol ACLStrategised<int>::valid() const
acl/.libs/libacls.a(MyPort.o) definition of ACLStrategised<int>::valid() constin section (__TEXT,__text)
acl/.libs/libacls.a(SslError.o) definition of ACLStrategised<int>::valid() constin section (__TEXT,__text)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol typeinfo for ACLStrategised<int>
acl/.libs/libacls.a(MyPort.o) definition of typeinfo for ACLStrategised<int>in section (__DATA,__const)
acl/.libs/libacls.a(SslError.o) definition of typeinfo for ACLStrategised<int>in section (__DATA,__const)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol typeinfo name for ACLStrategised<int>
acl/.libs/libacls.a(MyPort.o) definition of typeinfo name for ACLStrategised<int>in section (__TEXT,__cstring)
acl/.libs/libacls.a(SslError.o) definition of typeinfo name for ACLStrategised<int>in section (__TEXT,__cstring)
/usr/libexec/gcc/i686-apple-darwin8/4.2.1/ld: multiple definitions of symbol CbDataList<int>::CBDATA_CbDataList
asn.o definition of CbDataList<int>::CBDATA_CbDataList in section (__DATA,__data)
acl/.libs/libacls.a(SslErrorData.o) definition of CbDataList<int>::CBDATA_CbDataList in section (__DATA,__data)
collect2: ld returned 1 exit status
rm -f .libs/squidS.o
make[3]: *** [squid] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1
These appear to be due to "duplicate template instantiation", and a combination of strict enforcement by Apple and GCC 4.x. After trying a variety of techniques such as extern, inline, or pragma interface/implemenation in the header files, I finally found the following workaround that got it built successfully:
1. In src/acl/MyPort.cc, comment out:
template class ACLStrategised<int>;
2. In src/asn.cc, comment out:
template cbdata_type CbDataList<int>::CBDATA_CbDataList;
Now I'm able to browse IPv6 sites without cache-peering with Polipo 6to4 relay. However, Squid 3 Head standalone seems to have problem with a particular site, as seen in cache.log: ipcacheParse: No Address records in response to 'ipv6.google.com'.
-------- Original-Nachricht --------
Attached please find the make.log of squid-3.HEAD-20090504. It erred out looking for a non-existent ClientInfo.h.
./configure \
--build=i686-apple-darwin \
--mandir=/usr/local/share/man \
--with-large-files \
--disable-ident-lookups --disable-dependency-tracking \
--enable-filters --enable-ssl \
--enable-icap-client \
--enable-removal-policies=heap,lru \
--enable-external-acl-helpers=ip_user,ldap_group \
--enable-auth=basic,digest,ntlm,negotiate \
--enable-basic-auth-helpers=PAM,NCSA,LDAP,multi-domain-NTLM \
--enable-digest-auth-helpers=password \
--enable-delay-pools \
--enable-multicast-miss \
--with-filedescriptors=16384 --with-dl \
--enable-gnuregex \
--enable-zph-qos \
-------- Original-Nachricht --------
> Okay. The needed changes are now made to 3.HEAD and the many bugs which
> were uncovered doing it appear to have been zapped now.
>
> 3.HEAD snapshot can be found at:
> http://www.squid-cache.org/Versions/v3/HEAD/
>
> Could you try with that code please and let us know if there are any
> additional problems or even good results.
>
> Cheers
> Amos
> --
> Please be using
> Current Stable Squid 2.7.STABLE6 or 3.0.STABLE14
> Current Beta Squid 3.1.0.7
-- Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss für nur 17,95 Euro/mtl.!* http://dslspecial.gmx.de/freedsl-surfflat/?ac=OM.AD.PD003K11308T4569a
This archive was generated by hypermail 2.2.0 : Mon May 11 2009 - 12:00:02 MDT