Re: Link failure on MinGW after Identd changes

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Tue, 02 Jun 2009 23:48:21 +1200

Serassio Guido wrote:
> Hi Amos,
>
> I have a strange problem: after your Ident changes, the link of squid is
> failing, while with the renamed files was working:
>
> /bin/sh ../libtool --tag=CXX --mode=link g++ -Werror -Wall
> -Wpointer-arith -Wwrite-strings -Wcomments -D_FILE _OFFSET_BITS=64 -g
> -O2 -mthreads -g -o squid.exe -export-dynamic -dlopen force AclRegs.o
> AuthReg.o access_log .o AsyncEngine.o cache_cf.o ProtoPort.o
> CacheDigest.o cache_manager.o carp.o cbdata.o ChunkedCodingParser.o cl
> ient_db.o client_side.o client_side_reply.o client_side_request.o
> BodyPipe.o clientStream.o CompletionDispatch er.o comm_select.o
> comm_select_win32.o comm_poll.o comm_epoll.o comm_kqueue.o
> ConfigOption.o ConfigParser.o de bug.o delay_pools.o DelayId.o
> DelayBucket.o DelayConfig.o DelayPool.o DelaySpec.o DelayTagged.o
> DelayUser.o De layVector.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 forwa rd.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 HttpRequ est.o HttpRequestMethod.o
> icp_v2.o icp_v3.o int.o internal.o ipc_win32.o ipcache.o list.o
> logfile.o main.o me m.o mem_node.o MemBuf.o MemObject.o mime.o
> multicast.o neighbors.o Packer.o Parsing.o ProfStats.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 StoreF ileSystem.o store_io.o StoreIOState.o store_client.o
> store_digest.o store_dir.o store_key_md5.o store_log.o st
> ore_rebuild.o store_swapin.o store_swapmeta.o store_swapout.o
> StoreMeta.o StoreMetaMD5.o StoreMetaSTD.o StoreM etaSTDLFS.o
> StoreMetaUnpacker.o StoreMetaURL.o StoreMetaVary.o StoreSwapLogData.o
> Server.o SwapDir.o time.o to ols.o tunnel.o unlinkd.o url.o
> URLScheme.o urn.o useragent.o wccp.o wccp2.o whois.o wordlist.o win32.o
> WinSvc. o LoadableModule.o LoadableModules.o
> DiskIO/DiskIOModules_gen.o repl_modules.o globals.o string_arrays.o
> libsq uid.la auth/libacls.la ident/libident.la acl/libacls.la
> acl/libstate.la auth/libauth.la acl/libapi.la base/lib base.la
> ip/libip.la fs/libfs.la icmp/libicmp.la icmp/libicmp-core.la
> ../compat/libcompat.la -L../lib DiskIO/
> Blocking/BlockingDiskIOModule.o DiskIO/AIO/AIODiskIOModule.o
> DiskIO/DiskThreads/DiskThreadsDiskIOModule.o repl /libheap.a
> repl/liblru.a libBlocking.a libAIO.a libDiskThreads.a -lcrypt
> ../snmplib/libsnmp.a adaptation/liba daptation.la esi/libesi.la
> ../lib/libTrie/src/libTrie.a -lssleay32 -leay32 -lgdi32 -lmiscutil
> -lexpat -lxml2 -lmingwex ../lib/libLtdl/libltdlc.la -lpsapi
> -liphlpapi -lws2_32
> rm -f .libs/squid.exe.nm .libs/squid.exe.nmS .libs/squid.exe.nmT
> creating .libs/squid.exeS.c
> (cd .libs && gcc -c -fno-builtin "squid.exeS.c")
> rm -f .libs/squid.exeS.c .libs/squid.exe.nm .libs/squid.exe.nmS
> .libs/squid.exe.nmT
> g++ -Werror -Wall -Wpointer-arith -Wwrite-strings -Wcomments
> -D_FILE_OFFSET_BITS=64 -g -O2 -mthreads -g -o squ id.exe
> .libs/squid.exeS.o AclRegs.o AuthReg.o access_log.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_sid e_request.o BodyPipe.o clientStream.o
> CompletionDispatcher.o comm_select.o comm_select_win32.o comm_poll.o
> com m_epoll.o comm_kqueue.o ConfigOption.o ConfigParser.o debug.o
> delay_pools.o DelayId.o DelayBucket.o DelayConfi g.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 exte
> rnal_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 Htt pHeaderTools.o HttpBody.o HttpMsg.o HttpReply.o
> HttpRequest.o HttpRequestMethod.o icp_v2.o icp_v3.o int.o inte rnal.o
> ipc_win32.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
> ProfStats.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_supp ort.o
> stat.o StatHist.o String.o stmem.o store.o StoreFileSystem.o store_io.o
> StoreIOState.o store_client.o st ore_digest.o store_dir.o
> store_key_md5.o store_log.o store_rebuild.o store_swapin.o
> store_swapmeta.o store_swa pout.o StoreMeta.o StoreMetaMD5.o
> StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o StoreMetaURL.o
> StoreMet aVary.o StoreSwapLogData.o Server.o SwapDir.o time.o tools.o
> tunnel.o unlinkd.o url.o URLScheme.o urn.o userag ent.o wccp.o wccp2.o
> whois.o wordlist.o win32.o WinSvc.o LoadableModule.o LoadableModules.o
> DiskIO/DiskIOModul es_gen.o repl_modules.o globals.o string_arrays.o
> DiskIO/Blocking/BlockingDiskIOModule.o DiskIO/AIO/AIODiskIOM odule.o
> DiskIO/DiskThreads/DiskThreadsDiskIOModule.o -Wl,--export-dynamic
> ./.libs/libsquid.a auth/.libs/libac ls.a ident/.libs/libident.a
> acl/.libs/libacls.a acl/.libs/libstate.a auth/.libs/libauth.a
> acl/.libs/libapi.a b ase/.libs/libbase.a ip/.libs/libip.a
> fs/.libs/libfs.a icmp/.libs/libicmp.a icmp/.libs/libicmp-core.a
> ../compat /.libs/libcompat.a -L/c/work/mgw-3.nt/lib repl/libheap.a
> repl/liblru.a libBlocking.a libAIO.a libDiskThreads.a -lcrypt
> ../snmplib/libsnmp.a adaptation/.libs/libadaptation.a esi/.libs/libesi.a
> ../lib/libTrie/src/libTrie.a -lssleay32 -leay32 -lgdi32 -lmiscutil
> -lexpat /mingw/lib/libxml2.dll.a -lz -liconv -lmingwex
> ../lib/libLtdl/. libs/libltdlc.a -lpsapi -liphlpapi -lws2_32
> -L/mingw/lib -L/mingw/lib
> AclRegs.o: In function `Z41__static_initialization_and_destruction_0ii':
> c:/work/mgw-3.nt/src/acl/UserData.h:63: undefined reference to
> `ACLIdent::ACLIdent(ACLData<char const*>*, char const*)'
> AclRegs.o: In function `Z41__static_initialization_and_destruction_0ii':
> c:/work/mgw-3.nt/src/acl/RegexData.h:60: undefined reference to
> `ACLIdent::ACLIdent(ACLData<char const*>*, cha r const*)'
> AclRegs.o: In function `Z41__static_initialization_and_destruction_0ii':
> c:/work/mgw-3.nt/src/AclRegs.cc:140: undefined reference to
> `ACLIdent::~ACLIdent()'
> c:/work/mgw-3.nt/src/AclRegs.cc:142: undefined reference to
> `ACLIdent::~ACLIdent()'
> external_acl.o: In function
> `Z18makeExternalAclKeyP18ACLFilledChecklistP18_external_acl_data':
> c:/work/mgw-3.nt/src/external_acl.cc:840: undefined reference to
> `IdentLookup::Instance()'
> collect2: ld returned 1 exit status
> rm -f .libs/squid.exeS.o
> make[3]: *** [squid.exe] Error 1
> make[3]: Leaving directory `/c/work/mgw-3.nt/src'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/c/work/mgw-3.nt/src'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/c/work/mgw-3.nt/src'
> make: *** [all-recursive] Error 1
>
> I have already tried make distclean.
> Any suggestion ?
>
> Regards
>
> Guido
>

Linked fine for me earlier I swear :).
Oh well re-doing all the build tests again on the current 3.HEAD. Will
have an answer in 2-3 hrs.

Meanwhile, you could run distclean again and do a manual check that the
src/.libs and ident/.libs and acls/.libs files are all gone properly.

Amos

-- 
Please be using
   Current Stable Squid 2.7.STABLE6 or 3.0.STABLE15
   Current Beta Squid 3.1.0.8 or 3.0.STABLE16-RC1
Received on Tue Jun 02 2009 - 11:48:31 MDT

This archive was generated by hypermail 2.2.0 : Tue Jun 02 2009 - 12:00:02 MDT