Squid3.1.4でmake error
SparcSolaris10上でSquid3.1.4をmakeしたところ、こんなエラー。
g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -DEFAULT_SQUID_DATA_DIR=\"/usr/local/squid/share\" -DDEFAULT_SQUID_CONFIG_DIR=\"/usr/local/squid/etc\" -I.. -I../include -I../src -I../include -I../src -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -D_REENTRANT -pthreads -g -O2 -MT mem.o -MD -MP -MF $depbase.Tpo -c -o mem.o mem.cc &&\ mv -f $depbase.Tpo $depbase.Po mem.cc: In function `void memConfigure()': mem.cc:359: warning: converting of negative value `-0x00000000000000001' to `size_t'
ソースの該当場所は以下のとおり。
/** Set to configured value first */ if (!Config.onoff.mem_pools) new_pool_limit = 0; else if (Config.MemPools.limit > 0) new_pool_limit = Config.MemPools.limit; else { if (Config.MemPools.limit == 0) debugs(13, 1, "memory_pools_limit 0 has been chagned to memory_pools_limit none. Please update your config"); new_pool_limit = -1; ← ココ }
Squidの3.1.1のソースが手元にあったので比較してみると、
new_pool_limit = mem_unlimited_size;
となっています。
squidのユーザMLをのぞいてみると、「あ、これtypoなんだ。ごめん」というコメントを発見。
new_pool_limit= sizeof(sszie_t) ;
が正しいそうです。これで修正してmake。動作確認はまだ。ちゃんと動作しなければまたフォローします。