Re: odd 3.1.0.16 build failures

From: Henrik Nordström <henrik_at_henriknordstrom.net>
Date: Mon, 15 Mar 2010 21:54:17 +0100

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
Received on Mon Mar 15 2010 - 20:54:24 MDT

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