log2 takes a float, and needs to be rounded before being cast to an int see: https://trac.macports.org/ticket/63164 thanks for detective work: bradleyCPA (B. Holder) diff --git misc/lipo.c misc/lipo.c index f1e85cc..70357db 100644 --- misc/lipo.c +++ misc/lipo.c @@ -1949,7 +1949,7 @@ cpu_subtype_t cpusubtype) struct arch_flag arch_flag; if (get_arch_from_flag((char*)arch_name, &arch_flag)) { uint32_t pagesize = get_segalign_from_flag(&arch_flag); - return (uint32_t)(log2(pagesize)); + return (uint32_t)(lround(log2(pagesize))); } }