On Oct 19, 2020, at 3:14 AM, Alexandre Torres Porres <porres@gmail.com> wrote:



Em dom., 18 de out. de 2020 às 07:09, Dan Wilcox <danomatika@gmail.com> escreveu:
Newer macOS versions can't run 32 bit code and so the compiler, as far as I know, won't build 32 bit versions. If you are running macOS 10.15, which I believe you are, you cannot build for 32 bit anymore.

I'm in 10.14.6 actually

Ok, so 32 bit compilation should not be an issue. It's also one reason why I am still on 10.14 for now.

In any case, you may have to move to a dedicated build machine which stays on an older version of macOS, say 10.14, if you personal machine is to run the latest version.

no problem, here I am and I should keep it that way :)

so, what does this change? What do I have to do?

It just means you have to tell pdlibuild you want a "fat binary." This used to be the default but Katja updated pdlibbuilder 0.6 to use the system architecture. This is the same approach used by Xcode for some time and is required as trying to build for i386 will just fail on macOS 10.15+.

It might need to be better documented in the README, but you just have to set the fat binary extension when building on macOS (and not other platforms) in your makefile:

extension=d_fat

On a side note, who does still use 32 bits on mac and why? I assume is mostly because you may want to run old externals that are only available for 32 bits, right? If so, I wonder which libraries are actually relevant and if we should just try and build them for 64 bits... since from 10.15 and on they can't even run any more (if I got things correctly). 

Mmm yes and no. There are plenty of people using older machines around so its not like there are *no* users of 32 bit Pd. However, I think the numbers have definitely shifted over time as we have 64 bit builds of Pd available and many of the most used externals form extended have been updated and released in 64 bit.

It's really up to how much maintenance can you support for systems you and your team may not use personally. I think it's reasonable to find a point to where you stop 32 bit builds and only move forward with 64 bit releases. If there is no additional work for y'all to unofficial support compiling in 32 bit and the sources are available, people can also make 32 bit builds as required. This is why the decentralized model for externals is great, even if it's taken more time to get things going after extended.

That being said, modern Pd is compilable on Windows XP so who knows who is using your 32 bit builds. :) It's up to you.

--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com