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)));
 	}
     }
     
