IPv4/IPv6両方をしゃべれるプロキシサーバとしてsquid-3.1(beta)を利用していた。
従来はsquid-3.1.0.4を利用していたが、Solaris10(amd64)環境下ではCPUが100%に張り付くことがたびたびあった。そこで、バージョンアップを試みたがsquid-3.1.0.13では以下のエラーが出て、コンパイルができなかった。
-bash-3.00# gmake
Making all in compat
gmake[1]: Entering directory `/var/tmp/work/squid-3.1.0.13/compat'
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.. -I../include -I../src -I../include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -D_REENTRANT -pthreads -Usparc -Uunix -Ui386 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -g -MT GnuRegex.lo -MD -MP -MF .deps/GnuRegex.Tpo -c -o GnuRegex.lo GnuRegex.c
gcc -DHAVE_CONFIG_H -I.. -I../include -I../src -I../include -I/usr/include/libxml2 -Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -D_REENTRANT -pthreads -Usparc -Uunix -Ui386 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -g -MT GnuRegex.lo -MD -MP -MF .deps/GnuRegex.Tpo -c GnuRegex.c -fPIC -DPIC -o .libs/GnuRegex.o
In file included from ../compat/compat.h:63,
from ../include/config.h:58,
from GnuRegex.c:35:
../compat/os/solaris.h:33: warning: "struct rusage" declared inside parameter list
../compat/os/solaris.h:33: warning: its scope is only this definition or declaration, which is probably not what you want
gmake[1]: *** [GnuRegex.lo] Error 1
gmake[1]: Leaving directory `/var/tmp/work/squid-3.1.0.13/compat'
gmake: *** [all-recursive] Error 1
思い切って、daily build版のsquid-3.1.0.13-20090914を利用してみたら、コンパイルもとおって、ばっちりインストールができたので、今日はこれで満足することとしよう。