See <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/116/changes>
Changes: [Amos Jeffries] Simulate DIRECT tunnel to origin peers on CONNECT Within reason. Check that at least the port matches. That gives us some small measure of reason to believe its the same protocol inside or the same app being CONNECTed to. [Amos Jeffries] Language: fr [Amos Jeffries] Language: hy [Amos Jeffries] Optimization (performance regression fix): Use bigger buffer for server reads. Change the server read buffer limits to 16KB minimum and 256KB maximum. Used to be: 2KB and 2GB. And before r9766: 4KB and SQUID_TCP_SO_RCVBUF. Trunk r9766 (Remove limit on HTTP headers read) made the default HTTP server read buffer size 2KB instead of 4KB, visibly slowing down Squid when kernel network buffers are full and can sustain larger Squid reads. Doing up to twice as many network reads is expensive (and probably not just because of the extra system call overheads). We never grow that buffer size if the _parser_ does not need a bigger buffer: Even if the HTTP client is slower than the server, the buffer stays small because it gives all the data to Store and Store eventually just stalls reading via delayAwareRead() and read_ahead_gap. The situation may be different with RESPMOD, but if the adaptation service is fast, the buffer would still not grow. This change does not reset the minimum buffer size to the old 4KB default because memory is much cheaper compared to the days where that default was set. 8KB may have worked too, but with 12KB median typical response size a larger buffer may be a good idea for a busy Squid. More performance work is needed to find the optimal value (which could depend on the environment). This change does not set the maximum buffer size to the current 2GB limit because we have not tested how header and chunking parsers would cope with malicious messages trying to run Squid out of RAM; and also because no good parser should need that much lookahead space. Is 256KB enough for all legitimate real-world response headers? We do not know. It is tempting to use Config.tcpRcvBufsz or SQUID_TCP_SO_RCVBUF to find the right minimum or maximum buffer size, but those parameters deal with low-level TCP buffering aspects while this buffer deals with HTTP parsing. [Amos Jeffries] Log all transactions including those with uncertain status or no sent response. Excluding those transactions from access log hides valuable information. For example, it hides certain aborted client transactions which sometimes indicate Squid bugs or configuration problems that the administrator can fix. It also leads to wrong statistics reporting if the reporting tools are based on access logs information. The change just removes the logging guard and adds debugging. The logging code itself is unchanged except for indenting. [Amos Jeffries] Optimization: Do not create adaptation history to check whether it is empty. [Amos Jeffries] If a worker process crashes during shutdown, dump core and prevent restarts. Before the change, if a worker process crashes during shutdown, death() handler would exit with code 1, and master process would restart the worker. Now workers send SIGUSR1 to master when shutting down. When master process gets the SIGUSR1 signal, it stops restarting workers. SIGUSR1 is already used for log rotation, but it is fine to use SIGUSR1 for master process shutdown notifications because master is never responsible for both log rotation and kid restarts. Terminate with abort(3) instead of exit(3) to leave a core dump if Squid worker crashes during shutdown. Also the patch fixes potential infinite loop in master process. Master used to finish only when all kids exited with success, or all kids are hopeless, or all kids were killed by a signal, but when some kids are hopeless and others were killed, the master process would not exit. After the change, master exits when there are no running kids and no kids should be restarted. Add syslog notice if kid becomes hopeless. [Amos Jeffries] Better reporting of REQMOD failures during body processing. When REQMOD body processing fails, the server-side needs to abort the in-progress transaction. Use HTTP 500 (Internal Server Error) instead of 502 (Bad Gateway) status code and a new custom error detail for this case. There is no perfect status code for ICAP errors because some view ICAP processing as an integral part of the proxy (closer to the internal proxy code) and some treat it as an external entity (closer to an "upstream" web server). Nevertheless, 502 (Bad Gateway) feels like a worse fit because from web user and traffic flow point of views ICAP is less of a "gateway" or "upstream" server than it is an "internally" used auxiliary service. When both status codes were used, we have received reasonable complaints about 502 responses but not (IIRC) about 500 responses. Using custom error detail is better than errno in this context because errno is often not set for ICAP errors and because by the time we generate an error, the errno value is likely to be from a different system call error anyway. [Amos Jeffries] Instead of exiting, disable optional eCAP services that fail initialization. Report all service initialization failures but mark optional services down instead of killing Squid by propagating the failure to the Squid core. An initialization failure of an optional (bypass=1) service should not lead to Squid quitting because, according to squid.conf, such a service may be replaced by other services (using adaptation sets) or simply ignored. Initialization failures of essential services still lead to fatal errors, but they are now reported better. Ecap services should indicate failures by throwing an exception. Squid reports exception details using std::exception::what() method if possible. [Amos Jeffries] Support dynamic adaptation plans that cover multiple vectoring points. The dynamic adaptation plan is specified using X-Next-Services ICAP header or eCAP meta-info, as usual. A REQMOD adaptation service may construct an adaptation plan that starts with REQMOD and ends with RESPMOD. Multiple adaptations may be planned at each point. The natural transaction handling order must be preserved: the plan cannot go from RESPMOD back to REQMOD. Adaptation::History object is used to keep future plan steps when crossing vectoring points. [Amos Jeffries] Cleanup: Use prefix increment in place of postfix where appropriate in mem.cc [Amos Jeffries] Cleanup: Include iosfwd instead of ostream in Mem.h [Amos Jeffries] Cleanup: make clientParseRequest() a member of ConnStateData This allows the HttpParser to also become a member field and persistent across all requests on the connection instead of newely allocated on the stack for every read cycle. That in turn allows the parser to retain state for efficient 'trickle' parsing across multiple read cycles. For now the old behaviour of reset on every read is retained in order to prevent this shuffling from causing behaviour changes. That negates most of the actual performance gains (for now). [Amos Jeffries] Bug 3007: CONNECT to cache_peer returns 000 status code Send 200 on successful tunnel relay setup. 500 on peer connect failures. ------------------------------------------ [...truncated 6967 lines...] <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/DiskIO/WriteRequest.h>:56: undefined reference to `WriteRequest::CBDATA_WriteRequest' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState::doWrite()': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:298: undefined reference to `WriteRequest::WriteRequest(char const*, long, unsigned int, void (*)(void*))' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState::freePending()': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:425: undefined reference to `linklistShift' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:434: undefined reference to `linklistShift' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState::kickReadQueue()': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:446: undefined reference to `linklistShift' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState::queueRead(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*)': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:480: undefined reference to `linklistPush' fs/.libs/libfs.a(store_io_ufs.o): In function `ReadRequest::operator new(unsigned int)': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/DiskIO/ReadRequest.h>:55: undefined reference to `ReadRequest::CBDATA_ReadRequest' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState::read_(char*, unsigned int, long, void (*)(void*, char const*, int, RefCount<StoreIOState>), void*)': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:222: undefined reference to `ReadRequest::ReadRequest(char*, long, unsigned int)' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState::queueWrite(char const*, unsigned int, long, void (*)(void*))': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:555: undefined reference to `linklistPush' fs/.libs/libfs.a(store_io_ufs.o): In function `~UFSStoreState': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o): In function `UFSStoreState': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::~StoreIOState()' 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*)': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:610: undefined reference to `typeinfo for StoreIOState' 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*)': <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:570: undefined reference to `typeinfo for StoreIOState' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x8): undefined reference to `typeinfo for StoreIOState' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0xc): undefined reference to `StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x10): undefined reference to `StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x28): undefined reference to `typeinfo for StoreIOState' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x2c): undefined reference to `virtual thunk to StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x30): undefined reference to `virtual thunk to StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTI13UFSStoreState[typeinfo for UFSStoreState]+0x10): undefined reference to `typeinfo for 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 <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:219: undefined reference to `StoreSwapLogHeader::StoreSwapLogHeader()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:596: undefined reference to `StoreSwapLogData::StoreSwapLogData()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:625: undefined reference to `storeKeyText' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:625: undefined reference to `swap_log_op_str' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:651: undefined reference to `StoreEntry::expireNow()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:652: undefined reference to `StoreEntry::releaseRequest()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:655: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:685: undefined reference to `storeRebuildProgress' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:766: undefined reference to `StoreEntry::expireNow()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:767: undefined reference to `StoreEntry::releaseRequest()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:770: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:800: undefined reference to `storeDirSwapLog' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:879: undefined reference to `file_open' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/Store.h>:88: undefined reference to `vtable for StoreEntry' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:467: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:472: undefined reference to `StoreMetaUnpacker::StoreMetaUnpacker(char const*, int, int*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:474: undefined reference to `StoreMetaUnpacker::isBufferSane()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:461: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:481: undefined reference to `StoreMetaUnpacker::createStoreMeta()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:493: undefined reference to `StoreEntry::StoreEntry()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:496: undefined reference to `storeSwapTLVFree' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:499: undefined reference to `storeKeyNull' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:571: undefined reference to `storeDirSwapLog' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:350: undefined reference to `StoreController::store_dirs_rebuilding' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/ufscommon.cc>:351: undefined reference to `storeRebuildComplete' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1326: undefined reference to `SwapDir::dumpOptions(StoreEntry*) const' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:321: undefined reference to `Math::intPercent(int, int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:322: undefined reference to `storeDirGetUFSStats' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:328: undefined reference to `Math::intPercent(int, int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:332: undefined reference to `Math::intPercent(int, int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:256: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:260: undefined reference to `filemapFreeMemory' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:253: undefined reference to `SwapDir::~SwapDir()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:253: undefined reference to `SwapDir::~SwapDir()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:651: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:355: undefined reference to `StoreController::store_dirs_rebuilding' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:994: undefined reference to `xrename' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:998: undefined reference to `StoreController::store_dirs_rebuilding' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1013: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1003: undefined reference to `file_open' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1003: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:973: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:923: undefined reference to `StoreSwapLogData::StoreSwapLogData()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:944: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1032: undefined reference to `StoreSwapLogData::StoreSwapLogData()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1049: undefined reference to `file_write' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:75: undefined reference to `GetInteger()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:91: undefined reference to `GetInteger()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:96: undefined reference to `GetInteger()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:129: undefined reference to `createRemovalPolicy(RemovalPolicySettings*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:131: undefined reference to `SwapDir::parseOptions(int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:112: undefined reference to `SwapDir::parseOptions(int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:245: undefined reference to `file_map_create' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/ConfigOption.h>:54: undefined reference to `vtable for ConfigOptionVector' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:250: undefined reference to `DiskIOModule::Find(char const*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:245: undefined reference to `SwapDir::~SwapDir()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:245: undefined reference to `file_map_create' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/ConfigOption.h>:54: undefined reference to `vtable for ConfigOptionVector' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:250: undefined reference to `DiskIOModule::Find(char const*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:245: undefined reference to `SwapDir::~SwapDir()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:256: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:260: undefined reference to `filemapFreeMemory' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:253: undefined reference to `SwapDir::~SwapDir()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:253: undefined reference to `SwapDir::~SwapDir()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:447: undefined reference to `file_map_bit_test' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:453: undefined reference to `file_map_bit_set' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:467: undefined reference to `file_map_bit_test' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:468: undefined reference to `file_map_bit_reset' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:475: undefined reference to `file_map_allocate' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:476: undefined reference to `file_map_bit_set' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:628: undefined reference to `file_open' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:734: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:736: undefined reference to `xrename' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:740: undefined reference to `file_open' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:786: undefined reference to `file_close' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:789: undefined reference to `file_open' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:798: undefined reference to `StoreSwapLogHeader::StoreSwapLogHeader()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:801: undefined reference to `file_write' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:820: undefined reference to `safeunlink' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:864: undefined reference to `StoreSwapLogHeader::StoreSwapLogHeader()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:872: undefined reference to `file_open' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1204: undefined reference to `typeinfo for SwapDir' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1222: undefined reference to `typeinfo for SwapDir' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1222: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1223: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1080: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1137: undefined reference to `safeunlink' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1106: undefined reference to `safeunlink' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1192: undefined reference to `StoreController::store_dirs_rebuilding' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1173: undefined reference to `typeinfo for SwapDir' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1168: undefined reference to `typeinfo for SwapDir' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1168: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:696: undefined reference to `StoreEntry::operator new(unsigned int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:696: undefined reference to `StoreEntry::StoreEntry()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:698: undefined reference to `StoreEntry::setMemStatus(_mem_status_t)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:716: undefined reference to `StoreEntry::hashInsert(unsigned char const*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:692: undefined reference to `storeKeyText' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:696: undefined reference to `StoreEntry::operator delete(void*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:275: undefined reference to `StoreEntry::dump(int) const' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:1315: undefined reference to `typeinfo for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:724: undefined reference to `StoreController::store_dirs_rebuilding' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:234: undefined reference to `storeDirGetBlkSize' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:187: undefined reference to `SwapDir::getOptionTree() const' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/ConfigOption.h>:54: undefined reference to `vtable for ConfigOptionVector' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_dir_ufs.cc>:168: undefined reference to `DiskIOModule::Find(char const*)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/Store.h>:263: undefined reference to `vtable for Store' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/Store.h>:263: undefined reference to `vtable for Store' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTV10UFSSwapDir[vtable for UFSSwapDir]+0x1c): undefined reference to `SwapDir::diskFull()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTV10UFSSwapDir[vtable for UFSSwapDir]+0x20): undefined reference to `SwapDir::get(unsigned char const*)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTV10UFSSwapDir[vtable for UFSSwapDir]+0x24): undefined reference to `SwapDir::get(String, void (*)(StoreEntry*, void*), void*)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTV10UFSSwapDir[vtable for UFSSwapDir]+0x30): undefined reference to `SwapDir::minSize() const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTV10UFSSwapDir[vtable for UFSSwapDir]+0x34): undefined reference to `SwapDir::stat(StoreEntry&) const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTV10UFSSwapDir[vtable for UFSSwapDir]+0x50): undefined reference to `SwapDir::updateSize(long long, int)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x8): undefined reference to `typeinfo for SwapDir' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0xc): undefined reference to `SwapDir::~SwapDir()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x10): undefined reference to `SwapDir::~SwapDir()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x14): undefined reference to `SwapDir::callback()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x18): undefined reference to `SwapDir::create()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x1c): undefined reference to `SwapDir::diskFull()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x20): undefined reference to `SwapDir::get(unsigned char const*)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x24): undefined reference to `SwapDir::get(String, void (*)(StoreEntry*, void*), void*)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x30): undefined reference to `SwapDir::minSize() const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x34): undefined reference to `SwapDir::stat(StoreEntry&) const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x38): undefined reference to `SwapDir::sync()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x3c): undefined reference to `SwapDir::unlink(StoreEntry&)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x44): undefined reference to `SwapDir::reference(StoreEntry&)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x48): undefined reference to `SwapDir::dereference(StoreEntry&)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x4c): undefined reference to `SwapDir::maintain()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x50): undefined reference to `SwapDir::updateSize(long long, int)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x58): undefined reference to `SwapDir::getOptionTree() const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x5c): undefined reference to `SwapDir::dump(StoreEntry&) const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x60): undefined reference to `SwapDir::doubleCheck(StoreEntry&)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x64): undefined reference to `SwapDir::statfs(StoreEntry&) const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x74): undefined reference to `SwapDir::openLog()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x78): undefined reference to `SwapDir::closeLog()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x7c): undefined reference to `SwapDir::logEntry(StoreEntry const&, int) const' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x80): undefined reference to `SwapDir::writeCleanStart()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x84): undefined reference to `SwapDir::writeCleanDone()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x94): undefined reference to `typeinfo for SwapDir' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x98): undefined reference to `virtual thunk to SwapDir::~SwapDir()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_7SwapDir[vtable for UFSSwapDir]+0x9c): undefined reference to `virtual thunk to SwapDir::~SwapDir()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_5Store[vtable for UFSSwapDir]+0x8): undefined reference to `typeinfo for Store' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_5Store[vtable for UFSSwapDir]+0x18): undefined reference to `Store::create()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_5Store[vtable for UFSSwapDir]+0x1c): undefined reference to `Store::diskFull()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_5Store[vtable for UFSSwapDir]+0x38): undefined reference to `Store::sync()' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_5Store[vtable for UFSSwapDir]+0x3c): undefined reference to `Store::unlink(StoreEntry&)' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTC10UFSSwapDir0_5Store[vtable for UFSSwapDir]+0x5c): undefined reference to `typeinfo for Store' fs/.libs/libfs.a(store_dir_ufs.o):(.data.rel.ro._ZTI10UFSSwapDir[typeinfo for UFSSwapDir]+0x8): undefined reference to `typeinfo for SwapDir' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:265: undefined reference to `linklistShift' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/DiskIO/WriteRequest.h>:56: undefined reference to `WriteRequest::CBDATA_WriteRequest' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:298: undefined reference to `WriteRequest::WriteRequest(char const*, long, unsigned int, void (*)(void*))' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:425: undefined reference to `linklistShift' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:434: undefined reference to `linklistShift' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:446: undefined reference to `linklistShift' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:480: undefined reference to `linklistPush' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/DiskIO/ReadRequest.h>:55: undefined reference to `ReadRequest::CBDATA_ReadRequest' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:222: undefined reference to `ReadRequest::ReadRequest(char*, long, unsigned int)' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:555: undefined reference to `linklistPush' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:414: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:402: undefined reference to `StoreIOState::~StoreIOState()' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:610: undefined reference to `typeinfo for StoreIOState' <http://build.squid-cache.org/job/3.2-matrix/./label=rio.treenet/ws/btlayer-00-default/squid-3.2.0.5-BZR/_build/src/fs/../../../src/fs/ufs/store_io_ufs.cc>:570: undefined reference to `typeinfo for StoreIOState' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x8): undefined reference to `typeinfo for StoreIOState' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0xc): undefined reference to `StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x10): undefined reference to `StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x28): undefined reference to `typeinfo for StoreIOState' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x2c): undefined reference to `virtual thunk to StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTC13UFSStoreState0_12StoreIOState[vtable for UFSStoreState]+0x30): undefined reference to `virtual thunk to StoreIOState::~StoreIOState()' fs/.libs/libfs.a(store_io_ufs.o):(.data.rel.ro._ZTI13UFSStoreState[typeinfo for UFSStoreState]+0x10): undefined reference to `typeinfo for 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.
