See <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/109/changes>
Changes: [Amos Jeffries] Apply uri_whitespace before logging malformed requests This patch try to implement the first option from those described at the squid-dev thread with subject "Request URI logging for malformed requests": http://www.squid-cache.org/mail-archive/squid-dev/201101/0004.html Currently the logged URI set using the setLogUri method (in client_side.cc and client_side_reply.cc files). Also the setLogUri called at least two times for every normal request. Moreover the setLogUri always check if the URI contains characters which must escaped which in the case of normal requests it is not needed because urlCanonicalClean always used before pass the URI to setLogUri. This patch: - add a parameter to the setLogUri to say if the URI must cleaned and the uri_whitespace filtering must applied. - Remove the setLogUri call from the parseHttpRequest. - Call in all cases (HTTP request error or not) the setLogUri in clientProcessRequest - In the case the URL is not a valid HTTP request applies the uri_whitespace filtering. - In the case the URI is valid the uri_whitespace filtering is not required because it is already applied by the urpParse function. This is a Measurement Factory project [Amos Jeffries] Support libecap v0.2.0; fixed eCAP body handling and logging. Summary of changes: libecap v0.2.0 support: accept/update/log eCAP transaction meta-info. libecap v0.2.0 support: supply client IP and username to eCAP adapter. libecap v0.1.0 support: Support blockVirgin() API with ERR_ACCESS_DENIED. Use pkg-config's PKG_CHECK_MODULES to check for and link with libecap. Support adapter-specific parameters as a part of ecap_service configuration. Allow uri=value parameter when specifying adaptation service URIs. Fixed virgin body handling in our eCAP transaction wrapper (Ecap::XactionRep). Fixed BodyPipe.cc:144 "!theConsumer" assertion. Log "important" messages from eCAP adapters with DBG_IMPORTANT not DBG_DATA! Added XXXs to identify old unrelated problems to be fixed separately. [Amos Jeffries] Give full Request-URI to eCAP adapters. Implement libecap::RequestLine::uri() to return full Request-URI instead of URL path. Niether full URL nor URL path is perfect because the actual request may have full URI or a path, but Squid does not really keep that information. This change makes our eCAP implementation consistent with our ICAP implementation. Eventually, eCAP may have an API that is guaranteed to return full Request-URI and Squid may remember what kind of URI it got in the virgin request, allowing for a more truthful implementation. [Amos Jeffries] Bug 2621: Provide request headers to RESPMOD when using cache_peer. A short-term fix. When FwdServer::_peer is set, HttpStateData constructor creates a new special HttpRequest, overwriting the request pointer set in the parent (ServerStateData) constructor to fwd->request. To make matters worse, this special peer request has no headers at all (even though flags and some cached/computed header values are copied). We initialize it with the right URL, method, and protocol. We copy flags and a few other random properties from the original request. We never copy the original headers. Furthermore, regardless of the peering, when we create the headers to send to the next hop, those headers are temporary and not stored in any request structure (see HttpStateData::buildRequestPrefix). The non-peering code survives this because the request member points to fwd->request, which has the headers. The peering code fails as illustrated by this bug. I believe both cases are buggy because server-side adaptation and core code should have access to the request headers we sent rather than the request headers we received and adapted (or no headers at all). After all, it is the sent headers that determine the next hop view of our Squid and adaptation services should see a pair of _matching_ request and response headers. I am pretty sure there are other bugs related to HttpStateData using a special peer request structure instead of fwd->request. Please note that FwdState has no idea that this substitution is going on. This quick short-term fix uses the original request and its headers when checking RESPMOD ACLs. This is what the patch in bug #2562 did for Squid v3.0. For the reasons described above, this patch may be either insufficient or wrong for the long-term fix. [Amos Jeffries] Make DNS report failure on all packet construction errors The attached patch alters the DNS lookup behaviour to abort with an error in ALL cases where the rfc1035 library generates an error (negative result). I'm not sure there is any noticable effect other than better code. The error case *should* in old code be picked up on the initial packet construction rather than the repeat packet. This may have been incorrect given that the packet type is changing between A/AAAA. [Amos Jeffries] Bug 2976: invalid URL on intercepted requests during reconfigure Listening ports abuse the cbdata type as a pseudo refcount. This breaks during reconfigure when the config is erased and the active requests handles all become invalid pointers. Interception only works on HTTP protocol. We can hard-code the scheme and avoid this problem until a complete fix is written. [Amos Jeffries] RFC 1738 encoder upgraded action flags This updates the encoder flags parameter to allow selection of individual character sets of CTRLS, UNSAFE, and RESERVED. Also, to permit selective omission of the % and space characters from the UNSAFE set. Also, an optimization is added to skip SAFE characters on a short-circuit. [Amos Jeffries] Bug 2885: Compile errors on AIX Support AIX unusual definition of in_addr/in6_addr unions. [Amos Jeffries] Fix typos and missing if in libTrie inline support. [Amos Jeffries] Correct debug statement about non-IPs on parse [Amos Jeffries] Add support for parameterized Cache Manager queries. Currently, one sends mgr queries to the "whole" Squid. Kids responses may get aggregated by Coordinator, and we, in general, want to aggregate all responses that can be aggregated. This patch allow us to aggregate stats for a subset of kids. For example, the following query aggregates stats for just the first and the third workers: mgr:info?workers=1,3 When query response information cannot be aggregated (or at least is not aggregated right now), then a parameterized query will result in several matching "byKid { ..." blocks. This patch support the following scope variants: * raw interface with access to any kid process or groups of kids; similar to ${process_number} macro we already support in squid.conf: mgr:foo?processes=id,id,id... * higher-level interface to isolate workers by their numbers, starting with 1 for the first worker: mgr:foo?workers=num,num,num... Currently, all kids except Coordinator are workers, but that will change in the future as we get more kinds of kids.Currently, one sends mgr queries to the "whole" Squid. Kids responses may get aggregated by Coordinator, and we, in general, want to aggregate all responses that can be aggregated. This is a Measurement Factory project [Amos Jeffries] SourceLayout: protocol_t upgrade This begins the libanyp.la SourceLayout changes by moving the protocol_t type code to stand-alone files inside its namespace. On the most part there are no behaviour changes. The boundaries between the two semi-related types of protocol and protocol scheme are now clear: * URLScheme is to be used where the protocol name is related to a URI scheme description. * AnyP::ProtocolType is to be used for other non-URI places requiring the protocol to be named or manipulated as a concept. Textual representations of these two concepts differ and the output of these two types likewise differs to accomodate. Abusing them will result in visibly unusual output. [Amos Jeffries] Bug 3159: (partial fix) ICAP and --disable-auth compile problems TODO: other areas outside of ICAP with similar issues. [Amos Jeffries] Make ICC with the FileNameHashCacheUser code ------------------------------------------ [...truncated 6814 lines...] /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x1c): error: undefined reference to 'SwapDir::diskFull()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x20): error: undefined reference to 'SwapDir::get(unsigned char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x24): error: undefined reference to 'SwapDir::get(String, void (*)(StoreEntry*, void*), void*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x30): error: undefined reference to 'SwapDir::minSize() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x34): error: undefined reference to 'SwapDir::stat(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x50): error: undefined reference to 'SwapDir::updateSize(long long, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0xc): error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x10): error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x14): error: undefined reference to 'SwapDir::callback()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x18): error: undefined reference to 'SwapDir::create()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x1c): error: undefined reference to 'SwapDir::diskFull()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x20): error: undefined reference to 'SwapDir::get(unsigned char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x24): error: undefined reference to 'SwapDir::get(String, void (*)(StoreEntry*, void*), void*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x30): error: undefined reference to 'SwapDir::minSize() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x34): error: undefined reference to 'SwapDir::stat(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x38): error: undefined reference to 'SwapDir::sync()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x3c): error: undefined reference to 'SwapDir::unlink(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x44): error: undefined reference to 'SwapDir::reference(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x48): error: undefined reference to 'SwapDir::dereference(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x4c): error: undefined reference to 'SwapDir::maintain()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x50): error: undefined reference to 'SwapDir::updateSize(long long, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x58): error: undefined reference to 'SwapDir::getOptionTree() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x5c): error: undefined reference to 'SwapDir::dump(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x60): error: undefined reference to 'SwapDir::doubleCheck(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x64): error: undefined reference to 'SwapDir::statfs(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x74): error: undefined reference to 'SwapDir::openLog()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x78): error: undefined reference to 'SwapDir::closeLog()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x7c): error: undefined reference to 'SwapDir::logEntry(StoreEntry const&, int) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x80): error: undefined reference to 'SwapDir::writeCleanStart()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x84): error: undefined reference to 'SwapDir::writeCleanDone()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x98): error: undefined reference to 'virtual thunk to SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x9c): error: undefined reference to 'virtual thunk to SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x18): error: undefined reference to 'Store::create()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x1c): error: undefined reference to 'Store::diskFull()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x38): error: undefined reference to 'Store::sync()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x3c): error: undefined reference to 'Store::unlink(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::doWrite():../../../src/fs/ufs/store_io_ufs.cc:265: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::doWrite():../../../src/DiskIO/WriteRequest.h:56: error: undefined reference to 'WriteRequest::CBDATA_WriteRequest' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::doWrite():../../../src/fs/ufs/store_io_ufs.cc:298: error: undefined reference to 'WriteRequest::WriteRequest(char const*, long, unsigned int, void (*)(void*))' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::freePending():../../../src/fs/ufs/store_io_ufs.cc:425: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::freePending():../../../src/fs/ufs/store_io_ufs.cc:434: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::kickReadQueue():../../../src/fs/ufs/store_io_ufs.cc:446: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::queueRead(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:480: error: undefined reference to 'linklistPush' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::read_(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*):../../../src/DiskIO/ReadRequest.h:55: error: undefined reference to 'ReadRequest::CBDATA_ReadRequest' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::read_(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:222: error: undefined reference to 'ReadRequest::ReadRequest(char*, long, unsigned int)' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::queueWrite(char const*, unsigned int, long, void (*)(void*)):../../../src/fs/ufs/store_io_ufs.cc:555: error: undefined reference to 'linklistPush' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::UFSStoreState(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:402: error: undefined reference to 'StoreIOState::StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::UFSStoreState(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:402: error: undefined reference to 'StoreIOState::StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStrategy::create(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:610: error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStrategy::open(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:570: error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x8): error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0xc): error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x10): error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x28): error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x2c): error: undefined reference to 'virtual thunk to StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x30): error: undefined reference to 'virtual thunk to StoreIOState::~StoreIOState()' collect2: ld returned 1 exit status make[5]: *** [tests/testAuth] Error 1 make[5]: Leaving directory `<http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src'> make[4]: *** [check-am] Error 2 make[4]: Leaving directory `<http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src'> make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `<http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src'> make[2]: *** [check] Error 2 make[2]: Leaving directory `<http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src'> make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `<http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build'> make: *** [distcheck] Error 1 buildtest.sh result is 2 BUILD: .././test-suite/buildtests/layer-00-default.opts configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm -lnsl -lresolv -lcap -ldl -ldl configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -g -O2 configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm -lnsl -lresolv -lcap -ldl -ldl configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -g -O2 configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function UFSSwapLogParser::GetUFSSwapLogParser(_IO_FILE*):../../../src/fs/ufs/ufscommon.cc:219: error: undefined reference to 'StoreSwapLogHeader::StoreSwapLogHeader()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:596: error: undefined reference to 'StoreSwapLogData::StoreSwapLogData()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:625: error: undefined reference to 'storeKeyText' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:625: error: undefined reference to 'swap_log_op_str' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:651: error: undefined reference to 'StoreEntry::expireNow()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:652: error: undefined reference to 'StoreEntry::releaseRequest()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:655: error: undefined reference to 'typeinfo for Store' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:685: error: undefined reference to 'storeRebuildProgress' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:766: error: undefined reference to 'StoreEntry::expireNow()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:767: error: undefined reference to 'StoreEntry::releaseRequest()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:770: error: undefined reference to 'typeinfo for Store' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromSwapLog():../../../src/fs/ufs/ufscommon.cc:800: error: undefined reference to 'storeDirSwapLog' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::getNextFile(int*, int*):../../../src/fs/ufs/ufscommon.cc:879: error: undefined reference to 'file_open' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/Store.h:88: error: undefined reference to 'vtable for StoreEntry' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:467: error: undefined reference to 'file_close' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:472: error: undefined reference to 'StoreMetaUnpacker::StoreMetaUnpacker(char const*, int, int*)' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:474: error: undefined reference to 'StoreMetaUnpacker::isBufferSane()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:461: error: undefined reference to 'file_close' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:481: error: undefined reference to 'StoreMetaUnpacker::createStoreMeta()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:493: error: undefined reference to 'StoreEntry::StoreEntry()' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:496: error: undefined reference to 'storeSwapTLVFree' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:499: error: undefined reference to 'storeKeyNull' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::rebuildFromDirectory():../../../src/fs/ufs/ufscommon.cc:571: error: undefined reference to 'storeDirSwapLog' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::RebuildStep(void*):../../../src/fs/ufs/ufscommon.cc:350: error: undefined reference to 'StoreController::store_dirs_rebuilding' /usr/bin/ld: fs/.libs/libfs.a(ufscommon.o): in function RebuildState::RebuildStep(void*):../../../src/fs/ufs/ufscommon.cc:351: error: undefined reference to 'storeRebuildComplete' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::dump(StoreEntry&) const:../../../src/fs/ufs/store_dir_ufs.cc:1326: error: undefined reference to 'SwapDir::dumpOptions(StoreEntry*) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::statfs(StoreEntry&) const:../../../src/fs/ufs/store_dir_ufs.cc:321: error: undefined reference to 'Math::intPercent(int, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::statfs(StoreEntry&) const:../../../src/fs/ufs/store_dir_ufs.cc:322: error: undefined reference to 'storeDirGetUFSStats' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::statfs(StoreEntry&) const:../../../src/fs/ufs/store_dir_ufs.cc:328: error: undefined reference to 'Math::intPercent(int, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::statfs(StoreEntry&) const:../../../src/fs/ufs/store_dir_ufs.cc:332: error: undefined reference to 'Math::intPercent(int, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::~UFSSwapDir():../../../src/fs/ufs/store_dir_ufs.cc:256: error: undefined reference to 'file_close' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::~UFSSwapDir():../../../src/fs/ufs/store_dir_ufs.cc:260: error: undefined reference to 'filemapFreeMemory' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::~UFSSwapDir():../../../src/fs/ufs/store_dir_ufs.cc:253: error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::~UFSSwapDir():../../../src/fs/ufs/store_dir_ufs.cc:253: error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::closeLog():../../../src/fs/ufs/store_dir_ufs.cc:651: error: undefined reference to 'file_close' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::maintain():../../../src/fs/ufs/store_dir_ufs.cc:355: error: undefined reference to 'StoreController::store_dirs_rebuilding' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::writeCleanDone():../../../src/fs/ufs/store_dir_ufs.cc:994: error: undefined reference to 'xrename' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::writeCleanDone():../../../src/fs/ufs/store_dir_ufs.cc:998: error: undefined reference to 'StoreController::store_dirs_rebuilding' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::writeCleanDone():../../../src/fs/ufs/store_dir_ufs.cc:1003: error: undefined reference to 'file_open' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSCleanLog::write(StoreEntry const&):../../../src/fs/ufs/store_dir_ufs.cc:923: error: undefined reference to 'StoreSwapLogData::StoreSwapLogData()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::logEntry(StoreEntry const&, int) const:../../../src/fs/ufs/store_dir_ufs.cc:1032: error: undefined reference to 'StoreSwapLogData::StoreSwapLogData()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::logEntry(StoreEntry const&, int) const:../../../src/fs/ufs/store_dir_ufs.cc:1049: error: undefined reference to 'file_write' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::parseSizeL1L2():../../../src/fs/ufs/store_dir_ufs.cc:75: error: undefined reference to 'GetInteger()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::parseSizeL1L2():../../../src/fs/ufs/store_dir_ufs.cc:91: error: undefined reference to 'GetInteger()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::parseSizeL1L2():../../../src/fs/ufs/store_dir_ufs.cc:96: error: undefined reference to 'GetInteger()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::parse(int, char*):../../../src/fs/ufs/store_dir_ufs.cc:129: error: undefined reference to 'createRemovalPolicy(RemovalPolicySettings*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::parse(int, char*):../../../src/fs/ufs/store_dir_ufs.cc:131: error: undefined reference to 'SwapDir::parseOptions(int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::reconfigure(int, char*):../../../src/fs/ufs/store_dir_ufs.cc:112: error: undefined reference to 'SwapDir::parseOptions(int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/fs/ufs/store_dir_ufs.cc:245: error: undefined reference to 'file_map_create' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/ConfigOption.h:54: error: undefined reference to 'vtable for ConfigOptionVector' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/fs/ufs/store_dir_ufs.cc:250: error: undefined reference to 'DiskIOModule::Find(char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/fs/ufs/store_dir_ufs.cc:245: error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/fs/ufs/store_dir_ufs.cc:245: error: undefined reference to 'file_map_create' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/ConfigOption.h:54: error: undefined reference to 'vtable for ConfigOptionVector' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/fs/ufs/store_dir_ufs.cc:250: error: undefined reference to 'DiskIOModule::Find(char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::UFSSwapDir(char const*, char const*):../../../src/fs/ufs/store_dir_ufs.cc:245: error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::~UFSSwapDir():../../../src/fs/ufs/store_dir_ufs.cc:260: error: undefined reference to 'filemapFreeMemory' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::mapBitTest(int):../../../src/fs/ufs/store_dir_ufs.cc:447: error: undefined reference to 'file_map_bit_test' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::mapBitSet(int):../../../src/fs/ufs/store_dir_ufs.cc:453: error: undefined reference to 'file_map_bit_set' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::mapBitReset(int):../../../src/fs/ufs/store_dir_ufs.cc:467: error: undefined reference to 'file_map_bit_test' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::mapBitReset(int):../../../src/fs/ufs/store_dir_ufs.cc:468: error: undefined reference to 'file_map_bit_reset' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::mapBitAllocate():../../../src/fs/ufs/store_dir_ufs.cc:475: error: undefined reference to 'file_map_allocate' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::mapBitAllocate():../../../src/fs/ufs/store_dir_ufs.cc:476: error: undefined reference to 'file_map_bit_set' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::openLog():../../../src/fs/ufs/store_dir_ufs.cc:628: error: undefined reference to 'file_open' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::closeTmpSwapLog():../../../src/fs/ufs/store_dir_ufs.cc:736: error: undefined reference to 'xrename' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::closeTmpSwapLog():../../../src/fs/ufs/store_dir_ufs.cc:740: error: undefined reference to 'file_open' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::openTmpSwapLog(int*, int*):../../../src/fs/ufs/store_dir_ufs.cc:798: error: undefined reference to 'StoreSwapLogHeader::StoreSwapLogHeader()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::openTmpSwapLog(int*, int*):../../../src/fs/ufs/store_dir_ufs.cc:801: error: undefined reference to 'file_write' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::openTmpSwapLog(int*, int*):../../../src/fs/ufs/store_dir_ufs.cc:820: error: undefined reference to 'safeunlink' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::writeCleanStart():../../../src/fs/ufs/store_dir_ufs.cc:864: error: undefined reference to 'StoreSwapLogHeader::StoreSwapLogHeader()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::IsUFSDir(SwapDir*):../../../src/fs/ufs/store_dir_ufs.cc:1204: error: undefined reference to 'typeinfo for SwapDir' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::FilenoBelongsHere(int, int, int, int):../../../src/fs/ufs/store_dir_ufs.cc:1222: error: undefined reference to 'typeinfo for SwapDir' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::FilenoBelongsHere(int, int, int, int):../../../src/fs/ufs/store_dir_ufs.cc:1222: error: undefined reference to 'typeinfo for Store' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::FilenoBelongsHere(int, int, int, int):../../../src/fs/ufs/store_dir_ufs.cc:1223: error: undefined reference to 'typeinfo for Store' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::DirClean(int):../../../src/fs/ufs/store_dir_ufs.cc:1137: error: undefined reference to 'safeunlink' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::DirClean(int):../../../src/fs/ufs/store_dir_ufs.cc:1106: error: undefined reference to 'safeunlink' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::CleanEvent(void*):../../../src/fs/ufs/store_dir_ufs.cc:1192: error: undefined reference to 'StoreController::store_dirs_rebuilding' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::CleanEvent(void*):../../../src/fs/ufs/store_dir_ufs.cc:1173: error: undefined reference to 'typeinfo for SwapDir' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::CleanEvent(void*):../../../src/fs/ufs/store_dir_ufs.cc:1168: error: undefined reference to 'typeinfo for SwapDir' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::addDiskRestore(unsigned char const*, int, unsigned long long, long, long, long, long, unsigned int, unsigned short, int):../../../src/fs/ufs/store_dir_ufs.cc:696: error: undefined reference to 'StoreEntry::operator new(unsigned int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::addDiskRestore(unsigned char const*, int, unsigned long long, long, long, long, long, unsigned int, unsigned short, int):../../../src/fs/ufs/store_dir_ufs.cc:696: error: undefined reference to 'StoreEntry::StoreEntry()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::addDiskRestore(unsigned char const*, int, unsigned long long, long, long, long, long, unsigned int, unsigned short, int):../../../src/fs/ufs/store_dir_ufs.cc:698: error: undefined reference to 'StoreEntry::setMemStatus(_mem_status_t)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::addDiskRestore(unsigned char const*, int, unsigned long long, long, long, long, long, unsigned int, unsigned short, int):../../../src/fs/ufs/store_dir_ufs.cc:716: error: undefined reference to 'StoreEntry::hashInsert(unsigned char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::addDiskRestore(unsigned char const*, int, unsigned long long, long, long, long, long, unsigned int, unsigned short, int):../../../src/fs/ufs/store_dir_ufs.cc:692: error: undefined reference to 'storeKeyText' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::addDiskRestore(unsigned char const*, int, unsigned long long, long, long, long, long, unsigned int, unsigned short, int):../../../src/fs/ufs/store_dir_ufs.cc:696: error: undefined reference to 'StoreEntry::operator delete(void*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::dumpEntry(StoreEntry&) const:../../../src/fs/ufs/store_dir_ufs.cc:275: error: undefined reference to 'StoreEntry::dump(int) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::init():../../../src/fs/ufs/store_dir_ufs.cc:234: error: undefined reference to 'storeDirGetBlkSize' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::getOptionTree() const:../../../src/fs/ufs/store_dir_ufs.cc:187: error: undefined reference to 'SwapDir::getOptionTree() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::getOptionTree() const:../../../src/ConfigOption.h:54: error: undefined reference to 'vtable for ConfigOptionVector' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function UFSSwapDir::optionIOParse(char const*, char const*, int):../../../src/fs/ufs/store_dir_ufs.cc:168: error: undefined reference to 'DiskIOModule::Find(char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function Store::~Store():../../../src/Store.h:263: error: undefined reference to 'vtable for Store' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function Store::~Store():../../../src/Store.h:263: error: undefined reference to 'vtable for Store' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x1c): error: undefined reference to 'SwapDir::diskFull()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x20): error: undefined reference to 'SwapDir::get(unsigned char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x24): error: undefined reference to 'SwapDir::get(String, void (*)(StoreEntry*, void*), void*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x30): error: undefined reference to 'SwapDir::minSize() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x34): error: undefined reference to 'SwapDir::stat(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function vtable for UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTV10UFSSwapDir+0x50): error: undefined reference to 'SwapDir::updateSize(long long, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0xc): error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x10): error: undefined reference to 'SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x14): error: undefined reference to 'SwapDir::callback()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x18): error: undefined reference to 'SwapDir::create()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x1c): error: undefined reference to 'SwapDir::diskFull()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x20): error: undefined reference to 'SwapDir::get(unsigned char const*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x24): error: undefined reference to 'SwapDir::get(String, void (*)(StoreEntry*, void*), void*)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x30): error: undefined reference to 'SwapDir::minSize() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x34): error: undefined reference to 'SwapDir::stat(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x38): error: undefined reference to 'SwapDir::sync()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x3c): error: undefined reference to 'SwapDir::unlink(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x44): error: undefined reference to 'SwapDir::reference(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x48): error: undefined reference to 'SwapDir::dereference(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x4c): error: undefined reference to 'SwapDir::maintain()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x50): error: undefined reference to 'SwapDir::updateSize(long long, int)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x58): error: undefined reference to 'SwapDir::getOptionTree() const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x5c): error: undefined reference to 'SwapDir::dump(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x60): error: undefined reference to 'SwapDir::doubleCheck(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x64): error: undefined reference to 'SwapDir::statfs(StoreEntry&) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x74): error: undefined reference to 'SwapDir::openLog()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x78): error: undefined reference to 'SwapDir::closeLog()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x7c): error: undefined reference to 'SwapDir::logEntry(StoreEntry const&, int) const' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x80): error: undefined reference to 'SwapDir::writeCleanStart()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x84): error: undefined reference to 'SwapDir::writeCleanDone()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x98): error: undefined reference to 'virtual thunk to SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for SwapDir-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir+0x9c): error: undefined reference to 'virtual thunk to SwapDir::~SwapDir()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x18): error: undefined reference to 'Store::create()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x1c): error: undefined reference to 'Store::diskFull()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x38): error: undefined reference to 'Store::sync()' /usr/bin/ld: fs/.libs/libfs.a(store_dir_ufs.o): in function construction vtable for Store-in-UFSSwapDir:store_dir_ufs.cc(.data.rel.ro._ZTC10UFSSwapDir0_5Store+0x3c): error: undefined reference to 'Store::unlink(StoreEntry&)' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::doWrite():../../../src/fs/ufs/store_io_ufs.cc:265: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::doWrite():../../../src/DiskIO/WriteRequest.h:56: error: undefined reference to 'WriteRequest::CBDATA_WriteRequest' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::doWrite():../../../src/fs/ufs/store_io_ufs.cc:298: error: undefined reference to 'WriteRequest::WriteRequest(char const*, long, unsigned int, void (*)(void*))' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::freePending():../../../src/fs/ufs/store_io_ufs.cc:425: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::freePending():../../../src/fs/ufs/store_io_ufs.cc:434: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::kickReadQueue():../../../src/fs/ufs/store_io_ufs.cc:446: error: undefined reference to 'linklistShift' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::queueRead(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:480: error: undefined reference to 'linklistPush' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::read_(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*):../../../src/DiskIO/ReadRequest.h:55: error: undefined reference to 'ReadRequest::CBDATA_ReadRequest' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::read_(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:222: error: undefined reference to 'ReadRequest::ReadRequest(char*, long, unsigned int)' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::queueWrite(char const*, unsigned int, long, void (*)(void*)):../../../src/fs/ufs/store_io_ufs.cc:555: error: undefined reference to 'linklistPush' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::~UFSStoreState():../../../src/fs/ufs/store_io_ufs.cc:414: error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::UFSStoreState(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:402: error: undefined reference to 'StoreIOState::StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStoreState::UFSStoreState(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:402: error: undefined reference to 'StoreIOState::StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStrategy::create(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:610: error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function UFSStrategy::open(SwapDir*, StoreEntry*, void (*)(void*, int, RefCount<StoreIOState>), void (*)(void*, int, RefCount<StoreIOState>), void*):../../../src/fs/ufs/store_io_ufs.cc:570: error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x8): error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0xc): error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x10): error: undefined reference to 'StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x28): error: undefined reference to 'typeinfo for StoreIOState' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x2c): error: undefined reference to 'virtual thunk to StoreIOState::~StoreIOState()' /usr/bin/ld: fs/.libs/libfs.a(store_io_ufs.o): in function construction vtable for StoreIOState-in-UFSStoreState:store_io_ufs.cc(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState+0x30): error: undefined reference to 'virtual thunk to StoreIOState::~StoreIOState()' make[5]: *** [tests/testAuth] Error 1 make[4]: *** [check-am] Error 2 make[3]: *** [check-recursive] Error 1 make[2]: *** [check] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [distcheck] Error 1 Build FAILED.
