mån 2010-03-15 klockan 20:28 +0100 skrev Luigi Gangitano:
> I've got the same on Debian unstable with 3.1.0.17 and 3.1.0.18.
> 
> g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid3/squid.conf\" 
> -DDEFAULT_SQUID_DATA_DIR=\"/usr/share/squid3\" 
> -DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid3\"  -I.. -I../include -I../src 
> -I../include -I/usr/include -I../src  -I/usr/include/libxml2  
> -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments 
> -Werror  -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 
> -g -Wall -O2 -c -o globals.o globals.cc
> /bin/sh ../libtool --tag=CXX   --mode=link g++ -I/usr/include/libxml2 -Wall 
> -Wpointer-arith -Wwrite-strings -Wcomments -Werror  -D_REENTRANT -m32 
> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -g -Wall -O2  -m32 -g -o 
> ufsdump cbdata.o debug.o int.o mem.o MemBuf.o store_key_md5.o StoreMeta.o 
> StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o 
> StoreMetaURL.o StoreMetaVary.o String.o time.o ufsdump.o dlink.o 
> HttpRequestMethod.o RemovalPolicy.o  tests/stub_fd.o globals.o 
> base/libbase.la libsquid.la auth/libacls.la ident/libident.la acl/libacls.la 
> acl/libstate.la auth/libauth.la acl/libapi.la ip/libip.la fs/libfs.la  
> repl/liblru.a repl/libheap.a -lcrypt  ../snmplib/libsnmp.a  -L../lib 
> -lmiscutil   -lm -lnsl -lcap 
> g++ -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments 
> -Werror -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 
> -g -Wall -O2 -m32 -g -o ufsdump cbdata.o debug.o int.o mem.o MemBuf.o 
> store_key_md5.o StoreMeta.o StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o 
> StoreMetaUnpacker.o StoreMetaURL.o StoreMetaVary.o String.o time.o ufsdump.o 
> dlink.o HttpRequestMethod.o RemovalPolicy.o tests/stub_fd.o globals.o  
> base/.libs/libbase.a ./.libs/libsquid.a auth/.libs/libacls.a 
> ident/.libs/libident.a acl/.libs/libacls.a acl/.libs/libstate.a 
> auth/.libs/libauth.a acl/.libs/libapi.a ip/.libs/libip.a fs/.libs/libfs.a 
> repl/liblru.a repl/libheap.a -lcrypt ../snmplib/libsnmp.a 
> -L/home/luigi/debian/squid3/build-area/squid3-3.1.0.18/lib -lmiscutil -lm 
> -lnsl -lcap  
> ./.libs/libsquid.a(comm.o): In function `CommIO::NULLFDHandler(int, void*)':
> /home/luigi/debian/squid3/build-area/squid3-3.1.0.18/src/comm.cc:2399: 
> undefined reference to `commSetSelect'

> Any idea on how to fix it?

Sent a patch some week ago (7/3) to disable building of ufsdump until
these linking issues can be properly addressed.

The issue have been identified, or actually two separate issues. What is
yet unclear is what is the proper solution..

  - Inline operator overloading causing indeterministic linkage,
resulting in seemingly unneeded sub modules being pulled in "at random".

  - The current Squid libraries have very unclear dependencies with no
clean boundaries, resulting in linking failure when the above happens..

Regards
Henrik

Reply via email to