Question

When I run uname -m in zsh (run via Terminal.app) on my M1 Mac Mini, the output is x86_64, instead of the expected arm64. This is occurring both in zsh and in bash. This is causing issues with installing native ARM wheels with pip, which thinks that I am running an x86 system. I couldn't find any information online about this, and am wondering if it is a bug, or something that I have overlooked. Any ideas of what is going on? Is this expected behavior? I am running macOS 11.3.1. The following other information is output by uname:

uname: Darwin

uname -a: Darwin macmini.local 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:41 PDT 2021; root:xnu-7195.101.2~1/RELEASE_ARM64_T8101 x86_64

uname -p: i386

Was it helpful?

Solution

I can reproduce what you are seeing on our Macs on 11.2.3 and 11.3.1 - we get arm64 / arm / arm64 reliably back despite different shells and homebrew (or lack thereof) setups on each.

bmike@mini ~ % sw_vers                 
ProductName:    macOS
ProductVersion: 11.3.1
BuildVersion:   20E241
bmike@mini ~ % /usr/bin/arch
arm64
bmike@mini ~ % /usr/bin/uname -p
arm
bmike@mini ~ % /usr/bin/uname -a
Darwin mini 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:41 PDT 2021; root:xnu-7195.101.2~1/RELEASE_ARM64_T8101 arm64

Choosing rosetta to run terminal changes this for a stock Mac. Quit and start again terminal.app, and I then get i386 / i386 / x86_64 the same as you reported.

If you look below, you'll see it enabled which will launch a shell that reports what you are seeing as opposed to the results "out of the box" that I showed above.

enter image description here

Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top