Re: Sharing patch with externals on MacOS

IOhannes m zmölnig via Pd-list <[email protected]> Sun, 12 Apr 2026 17:11:01 +0200
Newsgroups gmane.comp.multimedia.puredata.general
Message-ID <[email protected]>
On 12/04/2026 14:43, João Pais wrote:
> lipo -remove arm64 [remove the need to activate rosetta when running the 
> standalone with pd~]

are you sure about that?

my impression was, that *rosetta* is a run-time emulation of a different 
CPU. e.g. if you have a i386 CPU but your old binary is PowerPC only, 
then rosetta will translate the PowerPC instructions to i386 on-the-fly.
(that's obviously a historic example; these days you typically have 
rosetta2 for amd64-only binaries that need to run on arm64 CPUs; but the 
names are easier to read in the historic example).

now, *fat* binaries are something different.
a fat binary for both PowerPC *and* i386 will contain the native 
instructions for both PowerPC and i386.
so when opening the file on your shiny new i386, you do not need rosetta 
at all, because the i386 instructions are already there.
and if you open the same binary on the PowerPC, you also have the native 
instructions.
fat binaries are not limited to certain architectures. theoretically you 
can have a fat binary for powerpc, i386, amd64 and arm64, wihch will run 
- without rosetta - on any Apple that was sold in the last 25 years.

TL;DR fat binaries are a way to provide binaries that are executable 
natively on multiple CPU families. conversely, rosetta(2) is a system 
that allows you to run a binary for a different CPU on your system.
fat binaries take more space (files for a 2-arch fat binary are about 
twice the size as a single-arch binary). rosetta takes more CPU-cycles 
(emulating a different CPU-architecture is rather costy).

so when you issue
```
lipo -remove arm64
```
then you are effectively removing the native instructions for arm64 from 
your binary.

assuming that your target audience has recentish Apple machines (which 
all come with arm64 processors), then you are effectively *forcing* 
rosetta on them.

(and it seems that Apple started to fade out rosetta(2), targetting 
"late 2027" for a complete removal)


fmdsar
IOhannes

---
[email protected] - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/[email protected]/message/D4RKUMX27JPDXDYEPQK6HAOBDIT76GY5/

To unsubscribe send an email to [email protected] mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEdAXnRVdICXNIABVttlAZxH96NvgFAmnbtgYFAwAAAAAACgkQtlAZxH96Nvia
JA/+LT8XBbjyWmabU2PCW+Ufk/Cp8SgIojmNXPxxjVY9LGsoop3Mf7pIj4JHEtViFycF5Z3fb1kt
GrtgILrg3P9I2Tpzv4VXQqh0f7k+DkTHG6cjneeRavDMhqfA7JyX82acg3ReRRXqDwrAj7dIza6A
7IoPPW5bfRkuuYNLWXAI8GHVaL4Q/Yqx9Is10j7yjY3RVc++2HK5gvCNihm5m3e1TvS+0nTvM5kI
yb8wkeKTvEc7IYZR7UxakOttayEGAeSNjzUboW0Scd+0776VM4GGNHyWYM28SP+EM9QRRxqHcCkb
8GEidrvkL6tKtlRBCkTR/mdLzHed0f6Im504FsDXtflvlk3X28a+uQyd3zceN9VX/4EtX1xYKue+
iqq53iakklVyk+JXUpAa/iqJ/wXoo+EBrJX3pHQ993gow3Y3eC7qsW1Rzq+HriuMJzLk9I/l+I2E
Wl0sqvFUUIqbrAtXcbnnPtY2V75k3/O1EOMch88N+MsC9/MRRTmkqJZCmRMggWU4tSNWuT7eSI0u
XOEjMxBcpBmaT8FAaYxMBl0P366YkAf+VF696CskMz/+3B0B5tRo/FoBt+Ym0iWjbFh5aW6vzCR6
6vpkj0UbLvUYB73YQyfZw98fdoRe/CjNOBvZSMTmt3D9OH6JvLS/l7RKq8PW5YXVymgaxBMD4QKB
vbA=
=XmJj
-----END PGP SIGNATURE-----