gcc of OpenBSD does not like the original assignment. Newer versions of gcc seem to have no problem. The explicit cast fixes this error for gcc 3.3.5 in OpenBSD --- src/mem.cc.orig Tue Jun 1 17:24:03 2010 +++ src/mem.cc Tue Jun 1 17:24:22 2010 @@ -356,7 +356,7 @@ 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; + new_pool_limit = static_cast(-1); } #if 0