Re: odd 3.1.0.16 build failures

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Tue, 16 Mar 2010 11:33:38 +1300

On Mon, 15 Mar 2010 21:54:17 +0100, Henrik Nordström
<henrik_at_henriknordstrom.net> wrote:
> 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

That patch is still waiting on you to commit. I've +1 FWIW.

Amos
Received on Mon Mar 15 2010 - 22:33:44 MDT

This archive was generated by hypermail 2.2.0 : Tue Mar 16 2010 - 12:00:06 MDT