又出现
libIpcIo.a(IpcIoFile.o):/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: more undefined references to `__sync_fetch_and_add_4' follow
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>:perator+=(int)':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:36: undefined reference to `__sync_bool_compare_and_swap_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:36: undefined reference to `__sync_bool_compare_and_swap_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:36: undefined reference to `__sync_bool_compare_and_swap_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>:perator-=(int)':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:30: undefined reference to `__sync_sub_and_fetch_4'
libIpcIo.a(IpcIoFile.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(Queue.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:36: undefined reference to `__sync_bool_compare_and_swap_4'
ipc/.libs/libipc.a(Queue.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/ipc/Queue.cc:250: undefined reference to `__sync_bool_compare_and_swap_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator--(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:34: undefined reference to `__sync_fetch_and_sub_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator+=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator--(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:34: undefined reference to `__sync_fetch_and_sub_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator+=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator-=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:30: undefined reference to `__sync_sub_and_fetch_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator++(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:33: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(ReadWriteLock.o): In function `Ipc::Atomic::WordT<int>:perator-=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:30: undefined reference to `__sync_sub_and_fetch_4'
ipc/.libs/libipc.a(StoreMap.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(StoreMap.o): In function `Ipc::Atomic::WordT<int>:perator-=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:30: undefined reference to `__sync_sub_and_fetch_4'
ipc/.libs/libipc.a(StoreMap.o): In function `Ipc::Atomic::WordT<unsigned char>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_1'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_1'
ipc/.libs/libipc.a(StoreMap.o): In function `Ipc::Atomic::WordT<int>::operator+=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
ipc/.libs/libipc.a(Pages.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(PagePool.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(PagePool.o): In function `Ipc::Atomic::WordT<int>::operator-=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:30: undefined reference to `__sync_sub_and_fetch_4'
ipc/.libs/libipc.a(PagePool.o): In function `Ipc::Atomic::WordT<int>::operator+=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::operator-=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:30: undefined reference to `__sync_sub_and_fetch_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<unsigned int>::fetchAndAnd(unsigned int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:39: undefined reference to `__sync_fetch_and_and_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:36: undefined reference to `__sync_bool_compare_and_swap_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::operator+=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<unsigned int>::swap_if(unsigned int, unsigned int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:36: undefined reference to `__sync_bool_compare_and_swap_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::swap_if(int, int)':
/root/squid-3.3.8/src/ipc/mem/PageStack.cc:86: undefined reference to `__sync_bool_compare_and_swap_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::operator+=(int)':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:29: undefined reference to `__sync_add_and_fetch_4'
ipc/.libs/libipc.a(PageStack.o): In function `Ipc::Atomic::WordT<int>::get() const':
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
/root/squid-3.3.8/src/ipc/../../src/ipc/AtomicWord.h:45: undefined reference to `__sync_fetch_and_add_4'
collect2: ld returned 1 exit status
libtool: link: rm -f ".libs/squidS.o"
make[3]: *** [squid] Error 1
make[3]: Leaving directory `/root/squid-3.3.8/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/squid-3.3.8/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/squid-3.3.8/src'
make: *** [all-recursive] Error 1
#!/bin/bash
# squid This shell script takes care of starting and stopping
# Squid Internet Object Cache
#
# chkconfig: - 90 25
# description: Squid - Internet Object Cache. Internet object caching is
# a way to store requested Internet objects (i.e., data available
# via the HTTP, FTP, and gopher protocols) on a system closer to the
# requesting site than to the source. Web browsers can then use the
# local Squid cache as a proxy HTTP server, reducing access time as
# well as bandwidth consumption.
# pidfile: /var/run/squid.pid
# config: /etc/squid/squid.conf
PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH
# Source function library.
. /etc/rc.d/init.d/functions
# don't raise an error if the config file is incomplete
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-"-D"}
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
# determine the name of the squid binary
[ -f /usr/local/squid/sbin/squid ] && SQUID=/usr/local/squid/sbin/squid && SQUID_id=squid
prog="$SQUID"
# determine which one is the cache_swap directory
CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf |
grep cache_dir | awk '{ print $3 }'`
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/squid/var/cache
RETVAL=0
start() {
#check if the squid conf file is present
if [ ! -f /usr/local/squid/etc/squid.conf ]; then
echo "Configuration file /usr/local/squid/etc/squid.conf missing" 1>&2
exit 6
fi
. /etc/sysconfig/squid
# don't raise an error if the config file is incomplete.
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-"-D"}
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
if [ -z "$SQUID" ]; then
echo "Insufficient privilege" 1>&2
exit 4
fi
for adir in $CACHE_SWAP; do
if [ ! -d $adir/00 ]; then
echo -n "init_cache_dir $adir... "
$SQUID -z -F -D >> /usr/local/squid/var/logs/squid.out 2>&1
fi
done
echo -n $"Starting $prog: "
$SQUID $SQUID_OPTS >> /usr/local/squid/var/logs/squid.out 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
timeout=0;
while : ; do
[ ! -f /usr/local/squid/var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
RETVAL=1
break
fi
sleep 1 && echo -n "."
timeout=$((timeout+1))
done
fi
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID_uid
[ $RETVAL -eq 0 ] && echo_success
[ $RETVAL -ne 0 ] && echo_failure
echo
return $RETVAL
}
stop() {
. /etc/sysconfig/squid
# don't raise an error if the config file is incomplete.
# set defaults instead:
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}
echo -n $"Stopping $prog: "
$SQUID -k check >> /usr/local/squid/var/logs/squid.out 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
$SQUID -k shutdown &
rm -f /var/lock/subsys/$SQUID_id
timeout=0
while : ; do
[ -f /usr/local/squid/var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
echo
return 1
fi
sleep 2 && echo -n "."
timeout=$((timeout+2))
done
echo_success
echo
else
echo_failure
if [ ! -e /var/lock/subsys/$SQUID_id ]; then
RETVAL=0
fi
echo
fi
return $RETVAL
}
reload() {
. /etc/sysconfig/squid
# don't raise an error if the config file is incomplete.
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-"-D"}