On 08/09/10 01:57, Zeller, Jan (ID) wrote:
Dear list,
I am unable to compile 3.2.0.2
$ ./configure --prefix=/opt/squid-3.2.0.2 --enable-icap-client --
enable-ssl --disable-translation --disable-auto-locale --enable-linux-
netfilter --with-pthreads --with-filedescriptors=32768 --enable-
storeio=ufs,aufs --enable-removal-policies=lru,heap
$ make
.
.
,
mv -f .deps/purge.Tpo .deps/purge.Po
/bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith
-Wwrite-strings -Wcom
ments -Werror -pipe -D_REENTRANT -g -O2 -g -o purge convert.o socket.o
signal.o squid-tlv.o
copyout.o conffile.o purge.o -L../../lib -lmiscutil
../../compat/libcompat.la -lm -lnsl -ldl
-ldl
libtool: link: g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -
Werror -pipe -D_REENTRANT -g -O2 -g -o purge convert.o socket.o
signal.o squid-tlv.o copyout.o conffile.o purge.o -L
/usr/local/src/squid-3.2.0.2/lib -lmiscutil
../../compat/.libs/libcompat.a -lm -lnsl -ldl
/usr/local/src/squid-3.2.0.2/lib/libmiscutil.a(MemPool.o): In function
`MemPools::flushMeters()':
/usr/local/src/squid-3.2.0.2/lib/MemPool.cc:224: undefined reference to
`squid_curtime'
/usr/local/src/squid-3.2.0.2/lib/MemPool.cc:225: undefined reference to
`squid_curtime'
/usr/local/src/squid-3.2.0.2/lib/MemPool.cc:223: undefined reference to
`squid_curtime'
/usr/local/src/squid-3.2.0.2/lib/libmiscutil.a(MemPoolChunked.o): In
function `MemPoolChunked::deallocate(void*, bool)':
/usr/local/src/squid-3.2.0.2/lib/MemPoolChunked.cc:357: undefined
reference to `squid_curtime'
/usr/local/src/squid-3.2.0.2/lib/libmiscutil.a(MemPoolChunked.o): In
function `MemPoolChunked::convertFreeCacheToChunkFreeCache()':
/usr/local/src/squid-3.2.0.2/lib/MemPoolChunked.cc:380: undefined
reference to `squid_curtime'
/usr/local/src/squid-
3.2.0.2/lib/libmiscutil.a(MemPoolChunked.o):/usr/local/src/squid-
3.2.0.2/lib/MemPoolChunked.cc:406: more undefined references to
`squid_curtime' follow
collect2: ld returned 1 exit status
make[2]: *** [purge] Error 1
make[2]: Leaving directory `/usr/local/src/squid-3.2.0.2/tools/purge'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/squid-3.2.0.2/tools'
make: *** [all-recursive] Error 1
System used :
$ lsb_release -d
Description: Debian GNU/Linux 5.0.6 (lenny)
$ uname -r
2.6.26-2-686
any hints ?
---
Jan
hmm this seems to be related to the operating system / distribution...
I also compiled on :
$ lsb_release -d
Description: openSUSE 11.2 (i586)
$ uname -r
2.6.31.12-0.2-desktop
like this :
./configure --prefix=/opt/squid-3.2.0.2 --enable-icap-client --disable-translation --disable-auto-locale --with-pthreads --with-filedescriptors=32768 --enable-storeio=ufs,aufs --enable-removal-policies=lru,heap --disable-auth --enable-ssl --with-openssl=/opt/openssl-1.0.0a
and it works like a charm.
It's related to the particular compiler behaviour when working with
weak-linked libraries and build parallelism. Our libmisc is a bit dated
and does some unkind things with new/delete that can confuse the
compiler. Working on a fix.
PS; beta code and build problems are topics for squid-dev please. Very
few of the dev team read squid-users.
Amos
--
Please be using
Current Stable Squid 2.7.STABLE9 or 3.1.8
Beta testers wanted for 3.2.0.2