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

Alexandre Torres Porres porres at gmail.com
Sun May 1 18:14:36 CEST 2022


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 XcodeSistema operacional mínimo necessárioSDKArquiteturaDestinos
>> de implantaçãoSimuladorSwift
>>
>> 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 <http://twitter.com/danomatika>
>>> danomatika.com
>>> robotcowboy.com
>>>
>>>
>>>
>>>
> --------
> Dan Wilcox
> @danomatika <http://twitter.com/danomatika>
> danomatika.com
> robotcowboy.com
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20220501/98cca18c/attachment-0001.htm>


More information about the Pd-dev mailing list