Index: pkgtools/pkg_install/files/add/perform.c =================================================================== RCS file: /cvsroot/pkgsrc/pkgtools/pkg_install/files/add/perform.c,v retrieving revision 1.105 diff -u -p -u -r1.105 perform.c --- pkgtools/pkg_install/files/add/perform.c 2 Sep 2013 10:28:44 -0000 1.105 +++ pkgtools/pkg_install/files/add/perform.c 16 Sep 2013 11:58:24 -0000 @@ -908,8 +908,19 @@ check_platform(struct pkg_task *pkg) if (OverrideMachine != NULL) effective_arch = OverrideMachine; - else - effective_arch = MACHINE_ARCH; + else { +#ifdef __NetBSD__ + static char machine_arch_buf[sizeof(utsname.machine)]; + const int mib[2] = { CTL_HW, HW_MACHINE_ARCH }; + size_t len = sizeof(machine_arch_buf); + + if (sysctl(mib, __arraycount(mib), machine_arch_buf, + &len, NULL, 0) == 0) + effective_arch = machine_arch_buf; + else +#endif + effective_arch = MACHINE_ARCH; + } /* If either the OS or arch are different, bomb */ if (strcmp(OPSYS_NAME, pkg->buildinfo[BI_OPSYS]) ||