Re: Sharing patch with externals on MacOS
João Pais <[email protected]> Sun, 12 Apr 2026 21:36:40 +0200
| Newsgroups | gmane.comp.multimedia.puredata.general |
|---|---|
| Message-ID | <[email protected]> |
I am forcing rosetta, but that is because in my experience, pdmax (which I before wrongly called pd~) only runs in rosetta in the latest M processors. Or then the wrong architecture error appears. If not for that it would be great to avoid it, yes. That is anyway a general issue, to update pdmax so that it runs on modern processors. I imagine Miller won't be putting this on the top priority on his own, and probably not many people use this. >> 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 [email protected] mailing list > UNSUBSCRIBE and account-management ->https://lists.iem.at/ -- Audre-Lorde-Straße 26 10997 Berlin (Deutschland) Tel +49 30 74921288 | Mob +49 176 98476769 [email protected] --- [email protected] - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/[email protected]/message/WWMQJXTUILRTR557RWBLQLCKXQEL46QC/ To unsubscribe send an email to [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/