> 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 HttpRequestMethod.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/.libs/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>;
Fixed.
>
> 2. In src/asn.cc, comment out:
> template cbdata_type CbDataList<int>::CBDATA_CbDataList;
I can't see how or what is clashing with CbDataList<int> though, is there
any better info when just the (1) above is done?
Amos
Received on Mon May 11 2009 - 01:58:20 MDT
This archive was generated by hypermail 2.2.0 : Mon May 11 2009 - 12:00:02 MDT