[PD-dev] [PD] how to compile externals for apple silicon?

Dan Wilcox danomatika at gmail.com
Sun May 1 20:48:01 CEST 2022


Are you building with the min macos version flag set to 10.9 or higher? I think that is required to avoid the dialog when loading.

enohp ym morf tnes
-----------
Dan Wilcox
danomatika.com
robotcowboy.com


> On May 1, 2022, at 6:14 PM, Alexandre Torres Porres <porres at gmail.com> wrote:
> 
> 
> Thanks Dan. I have a developers account, that's how I got XCode 12.4 - you taught me that a couple of years ago ;) - and I linked to an apple site that said it'd be able to compile for arm but it failed. One way or another, I think I can give this up as I'm not sure my solution is finding a system older than monterey to build for mojave to monterey and offer a fat binary for intel and arm.
> 
> Regarding building a 64 bit intel external that works in OSes from at least mojave to monterey, this is already possible when building in mojave, but newer versions of macOS will complain it ain't safe and it's a hassle to allow it to load (I mentioned this in the other "building fluidsynth~" thread). It seems better to just solve this issue, but even so, I have other issues I need to figure out as I also mentioned in the other thread.
> 
> Thanks again!
> 
>> Em dom., 1 de mai. de 2022 às 12:56, Dan Wilcox <danomatika at gmail.com> escreveu:
>> Honestly, I don't know. I've not looked into specific versions of which Xcode can compile what. I basically just follow the normal upgrade cycle of keeping Xcode up to date with whatever macOS version I currently have. I don't care to spend much more headspace on it than that!
>> 
>> At some point, I couldn't build for i386 (I think some version of Xcode 10) so I removed building for x86_64. The same happened when I upgraded to some version of Xcode 12, I think, which included the SDK which includes compiler support for arm64.
>> 
>> I assumed I couldn't build i386 some time when I was on macOS 10.15 but I didn't write it down. If you want to spend the time for an answer, probably read through the Xcode release notes: https://developer.apple.com/documentation/xcode-release-notes. 
>> 
>> If you want to download and try different Xcode version, there is a handy site to the downloads provided by the Apple Developer portal:
>> 
>> https://xcodereleases.com
>> 
>> You will need a developer account to access them.
>> 
>>> On May 1, 2022, at 5:30 PM, Alexandre Torres Porres <porres at gmail.com> wrote:
>>> 
>>>> Em dom., 1 de mai. de 2022 às 04:42, Dan Wilcox <danomatika at gmail.com> escreveu:
>>> 
>>>> You cannot build for i386. Support for that arch was famously removed in macOS 10.15 and those versions of Xcode which use its SDK, probably version 10 or so. Modern fat libs arm64 and x86_64.
>>> 
>>> Damn, double checked and tested. Using XCode 12.4 on Catalina, I was able to compile else with a fat binary for both 32/64 bits, see --> https://github.com/porres/pd-else/issues/1241#issuecomment-1114263525
>>> 
>>> Back on Mojave, I downloaded 0.52-2 32 bits and tested the externals, it worked!
>>> 
>>> I can see it shouldn't, it really makes sense it should build or work, I should have known better and expected a failure and be amazed when it first compiled because it doesn't make sense, but it's happening.
>>> 
>>> Also, I can't build for arm64...
>>> 
>>> Anyone can help me solve the mistery?
>>> 
>>> screenshot to try to prove i'm not crazy 
>>> 
>>> <166152846-b962d8e0-6fc7-461c-a1f0-e8e04c0d9682.png>
>>>  
>>>> 
>>>> enohp ym morf tnes
>>>> -----------
>>>> Dan Wilcox
>>>> danomatika.com
>>>> robotcowboy.com
>>>> 
>>>> 
>>>>>> On May 1, 2022, at 2:51 AM, Alexandre Torres Porres <porres at gmail.com> wrote:
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> Em qui., 10 de mar. de 2022 às 19:57, Dan Wilcox <danomatika at gmail.com> escreveu:
>>>>>> I have a fork of pd-lib-builder which supports arm64 & universal builds on macOS. The PR has been sitting for some time but we have been using it successfully for a few projects for some time now:
>>>>>> 
>>>>>> https://github.com/pure-data/pd-lib-builder/pull/69
>>>>>> 
>>>>>> To build for arm64, you need a new enough Xcode (12.2 I believe) and that's it. You can cross-compile on an x86_64 machine for arm64 and vice-versa.
>>>>> 
>>>>> So, I now have a partition with Catalina (10.15.7) and Xcode 12.4, which is the last version catalina accepts. 
>>>>> 
>>>>> According to https://developer.apple.com/pt/support/xcode/ I believe 12.1 could have been possible already. 12.5 needs Big Sur. Here's a table from the link
>>>>> 
>>>>> Versão do Xcode	Sistema operacional mínimo necessário	SDK	Arquitetura	Destinos de implantação	Simulador	Swift
>>>>> 
>>>>> Xcode 12.4	macOS Catalina 10.15.4 (Mac com processador Intel)
>>>>> 
>>>>> macOS Big Sur 11
>>>>> (Mac com Apple Silicon)	iOS 14.4
>>>>> macOS 11.1
>>>>> tvOS 14.3
>>>>> watchOS 7.2
>>>>> DriverKit 20.2	x86_64
>>>>> armv7
>>>>> armv7s
>>>>> armv7k
>>>>> arm64
>>>>> arm64e
>>>>> arm64_32	iOS 9-14.4
>>>>> iPadOS 13-14.4
>>>>> macOS 10.9-11.1
>>>>> tvOS 9-14.3
>>>>> watchOS 2-7.2
>>>>> DriverKit 19-20.2
>>>>>  
>>>>> It says it can build for 'arm64' alright, but I tried creating a fat binary for both intel and M1 as I was doing in my monterey partition and didn't succeed. I'm using pd-lib-builder, verdsion 6.0, so I did:
>>>>> 
>>>>> make install objectsdir=../ arch="i386 x86_64" extension=d_fat and that works just fine
>>>>> 
>>>>> but...
>>>>> 
>>>>> make install objectsdir=../ arch="arm64 x86_64" extension=d_fat fails miserably, this is what I get
>>>>> 
>>>>> 
>>>>> /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
>>>>> #error Unsupported architecture
>>>>> 
>>>>> What should I do?
>>>>> 
>>>>> My attempt here is to be able to build a binary for fluidsynth~ that works for a wide range of OSes
>>>>> 
>>>>> thanks
>>>>> cheers
>>>>> 
>>>>>> 
>>>>>>> On Mar 10, 2022, at 11:30 PM, pd-dev-request at lists.iem.at wrote:
>>>>>>> 
>>>>>>> Message: 2
>>>>>>> Date: Thu, 10 Mar 2022 17:57:23 -0300
>>>>>>> From: Alexandre Torres Porres <porres at gmail.com>
>>>>>>> To: Sebastian Shader <sebfumaster at aol.com>
>>>>>>> Cc: "pd-dev at lists.iem.at" <pd-dev at lists.iem.at>
>>>>>>> Subject: Re: [PD-dev] [PD] how to compile externals for apple silicon?
>>>>>>> Message-ID:
>>>>>>> 	<CAEAsFmiUpgiieWwpvM11eyY6kE6bdGiWFqFa8pbvPBjtuaoc4w at mail.gmail.com>
>>>>>>> Content-Type: text/plain; charset="utf-8"
>>>>>>> 
>>>>>>> I guess I can install catalina on a partition, but I was hoping to use
>>>>>>> pdlibbuilder in an easy way, is it possible?
>>>>>> 
>>>>>> --------
>>>>>> Dan Wilcox
>>>>>> @danomatika
>>>>>> danomatika.com
>>>>>> robotcowboy.com
>>>>>> 
>>>>>> 
>>>>>> 
>> 
>> --------
>> Dan Wilcox
>> @danomatika
>> danomatika.com
>> robotcowboy.com
>> 
>> 
>> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20220501/17c046bf/attachment-0001.htm>


More information about the Pd-dev mailing list