Extempore on aarch64 update

65 views
Skip to first unread message

Ben Swift

unread,
Dec 23, 2025, 6:44:14 PM12/23/25
to extemp...@googlegroups.com
Hey everyone

An update: I've made significant progress on the [aarch64 branch](https://github.com/digego/extempore/tree/aarch64). The full audio libs (core + external) aot-compile and a few spot-checked examples work on macOS and Linux.
I've also taken the opportunity to simplify/refactor a few things (e.g. the CMake stuff) which were in need of it as well. Thanks Christian (blaze) for kicking this off.

However, I'm having problems on Windows. It compiles, but the Scheme interpreter crashes when running "normal" scheme code (which is bad). And I'm partucuarly hamstrung by the fact that I don't currently have a Windows box to dev on, and the "push to GitHub CI and wait several minutes, then check the logs" isn't a super nice workflow.

The most recent work on Windows is [here](https://github.com/digego/extempore/tree/windows-orcjit-debug). It's further complicated by the fact that the `master` branch CI has bitrotted to the point that it hasn't build successfully there for ages either, so getting that back up and runing and doing a compare-and-contrast on the Scheme interpreter bug (vs the aarch64 branch) is on my to-do list, but hasn't been done yet.

Anyway, the good news is:

- if you're on Apple Silicon and you want to try it out, clone the aarch64 branch and build it yourself. If it works (or even if it doesn't) then let me know
- if you're on Linux x86_64, you can try the aarch64 branch as well - I think you'll get somewhere at least (although there will inevitably be some issues)
- if you're on Windows you're no worse than you were before... and hopefully things will get better in the new year when I get access to a Windows machine (I can do that, just need to do a bit of legwork)
- if you're using Extempore for graphics stuff then I'm much less certain that any of the new things will work for you... but would still be interested in hearing about things

I'm about to go on leave (offline!) for a month or so, so I won't be taking this up again until after I'm back. And I don't expect anyone else to make sense of it - the branches are very much in a messy "hack it til it works" state, and I'll do the clean-up later.

So Merry Christmas all, and I'll see you in the new year.

Cheers
Ben
neomutt-msg.txt
neomutt-msg.html

Anton Davydov

unread,
Dec 24, 2025, 3:08:40 PM12/24/25
to extemp...@googlegroups.com
I did compile your branch on linux asahi aarch64 a couple days ago. Merry Christmas and thank you for your work.

--
You received this message because you are subscribed to the Google Groups "Extempore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to extemporelan...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/extemporelang/aUsmiZfYDKsjENIB%40daysy.tail2b9b56.ts.net.

Ben Swift

unread,
Dec 24, 2025, 3:56:33 PM12/24/25
to extemp...@googlegroups.com
hooray - it’s a Christmas miracle :)

Cheers
Ben

On 25 Dec 2025, at 7:08 am, Anton Davydov <fet...@gmail.com> wrote:



Toby Gifford

unread,
Jan 20, 2026, 12:00:53 AMJan 20
to extemp...@googlegroups.com
Happy new year everyone!  And congrats on getting this arm branch going.

I've had a quick crack at running it on a mac silicon M4 sequoia.  Compiled fine, runs fine.  When I try example audio_101.xtm, it makes sound fine, but when I redefine dsp to something else, it claims to have recompiled it but keeps playing the same sound as before.  Anyone else encounter something like this?

Toby



Ben Swift

unread,
Feb 22, 2026, 9:54:33 PMFeb 22
to extemp...@googlegroups.com
Hey Toblerone

I pushed up a (possible) fix (https://github.com/digego/extempore/commit/ba474ea76b9361e3df6a2fdd148fea0ed144b4e3), can you see if that works for you?

Cheers
Ben
>> https://groups.google.com/d/msgid/extemporelang/CAPkboPh_oeDTpw0Lfyx9HSDy%2B8mfw6M1Bk5-MXF2d7vchrf%3DOg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/extemporelang/CAPkboPh_oeDTpw0Lfyx9HSDy%2B8mfw6M1Bk5-MXF2d7vchrf%3DOg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Extempore" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to extemporelan...@googlegroups.com.
>> To view this discussion visit
>> https://groups.google.com/d/msgid/extemporelang/86D7F8E7-98D1-46CD-8BD9-78A54B26C094%40benswift.me
>> <https://groups.google.com/d/msgid/extemporelang/86D7F8E7-98D1-46CD-8BD9-78A54B26C094%40benswift.me?utm_medium=email&utm_source=footer>
>> .
>>
>
>--
>You received this message because you are subscribed to the Google Groups "Extempore" group.
>To unsubscribe from this group and stop receiving emails from it, send an email to extemporelan...@googlegroups.com.
>To view this discussion visit https://groups.google.com/d/msgid/extemporelang/CABb7KGcofodE5Vy2p81Fhmr8-f89SkM39p4xc%3D7S7N8Jrukzhg%40mail.gmail.com.

--

Cheers,
Ben

Toby Gifford

unread,
Feb 23, 2026, 1:28:37 AMFeb 23
to extemp...@googlegroups.com
Hi Ben, yep that works!  Nice one!

Ben Swift

unread,
Feb 23, 2026, 2:25:06 AMFeb 23
to extemp...@googlegroups.com
Awesome. Do let me know if you run into any more troubles. I have finally got the CI green now too so it’s easier to know if I break stuff across all platforms. 

Cheers
Ben

On 23 Feb 2026, at 5:28 pm, Toby Gifford <toby.g...@gmail.com> wrote:



Toby Gifford

unread,
Feb 23, 2026, 3:08:11 AMFeb 23
to extemp...@googlegroups.com
I'm not sure if this has anything to do with the aarch branch, but the xtm temporal recursion doesn't seem to work like it used to. If I try
(bind-func test_loop:[i64,i64]*
(lambda (t:i64)
(println t)
(callback (+ t 44100) test_loop (+ t 44100))
t))
I get 
Compiler Error  bad arity in call ast: (llvm_callback (+ t 44100) test_loop_adhoc_13 znew (zcopy##18 (+ t 44100) zold znew))

Is that not the right syntax for xtm callbacks?


Ben Swift

unread,
Feb 23, 2026, 3:11:50 AMFeb 23
to extemp...@googlegroups.com, extemp...@googlegroups.com
Could well be a similar issue. Will look into it tomorrow.

Cheers
Ben

On 23 Feb 2026, at 7:08 pm, Toby Gifford <toby.g...@gmail.com> wrote:



Ben Swift

unread,
Feb 25, 2026, 6:13:24 PMFeb 25
to extemp...@googlegroups.com
Hi everyone

Small update on extempore-on-aarch64 status up here:

https://benswift.me/blog/2026/02/26/extempore-is-alive-on-aarch64-part-deux

Cheers
Ben
--

Cheers,
Ben

George

unread,
May 16, 2026, 7:35:41 PM (3 days ago) May 16
to Extempore
Hi Ben & others
Brand New MacBook Air. Trying to get extempore  v0.9.0 started.
Got past the "Open Anyway" block,
Now the message is
 "ERROR: could not locate file init.xtm, exiting.
libc++abi: terminating
zsh: abort      ./extempore
georgejwright@Georges-Air-2 extempore %"

I know the initial.xtm is there in the runtime folder .... But ?

Any help appreciated
Regards George

George

unread,
May 17, 2026, 7:18:01 PM (2 days ago) May 17
to Extempore

Ben
Tried some changes to security without success.
Maybe something to do with permissions?
georgejwright@Georges-MacBook-Air-2 extempore % ls -la
total 117168
drwxr-xr-x@ 12 georgejwright  staff       384 May 18 08:44 .
drwxr-x---+ 24 georgejwright  staff       768 May 18 09:04 ..
-rw-r--r--@  1 georgejwright  staff      6148 May 18 09:11 .DS_Store
-rw-r--r--@  1 georgejwright  staff      4428 May  7 00:51 BUILDING.md
-rw-r--r--@  1 georgejwright  staff      6999 May  7 00:51 CHANGELOG.md
-rw-r--r--@  1 georgejwright  staff      7296 May  7 00:51 README.md
drwxr-xr-x@  5 georgejwright  staff       160 May  7 00:51 assets
drwxr-xr-x@  5 georgejwright  staff       160 May  7 00:51 examples
-rwxr-xr-x@  1 georgejwright  staff  59954712 May  7 00:51 extempore
drwxr-xr-x@  7 georgejwright  staff       224 May  7 00:51 libs
drwxr-xr-x@ 15 georgejwright  staff       480 May  7 00:51 runtime
drwxr-xr-x@ 62 georgejwright  staff      1984 May 11 08:18 tmp
georgejwright@Georges-MacBook-Air-2 extempore % cd runtime
georgejwright@Georges-MacBook-Air-2 runtime % ls -la    
total 2072
drwxr-xr-x@ 15 georgejwright  staff     480 May  7 00:51 .
drwxr-xr-x@ 12 georgejwright  staff     384 May 18 08:44 ..
-rw-r--r--@  1 georgejwright  staff   21784 May  7 00:51 bitcode.ll
-rw-r--r--@  1 georgejwright  staff    4899 May  7 00:51 init.ll
-rw-rw-rw-@  1 georgejwright  staff    9681 May  7 00:51 init.xtm
-rw-r--r--@  1 georgejwright  staff  249478 May  7 00:51 llvmir.xtm
-rw-r--r--@  1 georgejwright  staff   34948 May  7 00:51 llvmti-aot.xtm
-rw-r--r--@  1 georgejwright  staff    4102 May  7 00:51 llvmti-ast.xtm
-rw-r--r--@  1 georgejwright  staff  171627 May  7 00:51 llvmti-bind.xtm
-rw-r--r--@  1 georgejwright  staff   93990 May  7 00:51 llvmti-caches.xtm
-rw-r--r--@  1 georgejwright  staff   29108 May  7 00:51 llvmti-globals.xtm
-rw-r--r--@  1 georgejwright  staff  102424 May  7 00:51 llvmti-transforms.xtm
-rw-r--r--@  1 georgejwright  staff  233908 May  7 00:51 llvmti-typecheck.xtm
-rw-r--r--@  1 georgejwright  staff    2156 May  7 00:51 llvmti.xtm
-rw-r--r--@  1 georgejwright  staff   70207 May  7 00:51 scheme.xtm
georgejwright@Georges-MacBook-Air-2 runtime % 


I'm stumped!!
George

Ben Swift

unread,
May 17, 2026, 9:20:11 PM (2 days ago) May 17
to 'George' via Extempore
Hey George

Can you give v0.9.1 a try: https://github.com/digego/extempore/releases/download/v0.9.1/extempore-macos-aarch64-v0.9.1.zip. Unzip, clear the quarantine flag (xattr -dr ▎ com.apple.quarantine ~/Downloads/extempore or similar), and ./extempore from inside the folder should just work --- no --sharedir needed this time

Cheers
Ben

On Sun, 17 May 2026 at 04:18 PM +1000, 'George' via Extempore wrote:
>
>Ben
>Tried some changes to security without success.
>Maybe something to do with permissions?
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>*georgejwright@Georges-MacBook-Air-2 extempore % ls -latotal
>117168drwxr-xr-x@ 12 georgejwright staff 384 May 18 08:44
>.drwxr-x---+ 24 georgejwright staff 768 May 18 09:04 ..-rw-r--r--@
> 1 georgejwright staff 6148 May 18 09:11 .DS_Store-rw-r--r--@ 1
>georgejwright staff 4428 May 7 00:51 BUILDING.md-rw-r--r--@ 1
>georgejwright staff 6999 May 7 00:51 CHANGELOG.md-rw-r--r--@ 1
>georgejwright staff 7296 May 7 00:51 README.mddrwxr-xr-x@ 5
>georgejwright staff 160 May 7 00:51 assetsdrwxr-xr-x@ 5
>georgejwright staff 160 May 7 00:51 examples-rwxr-xr-x@ 1
>georgejwright staff 59954712 May 7 00:51 extemporedrwxr-xr-x@ 7
>georgejwright staff 224 May 7 00:51 libsdrwxr-xr-x@ 15
>georgejwright staff 480 May 7 00:51 runtimedrwxr-xr-x@ 62
>georgejwright staff 1984 May 11 08:18
>tmpgeorgejwright@Georges-MacBook-Air-2 extempore % cd
>runtimegeorgejwright@Georges-MacBook-Air-2 runtime % ls -la total
>2072drwxr-xr-x@ 15 georgejwright staff 480 May 7 00:51 .drwxr-xr-x@
>12 georgejwright staff 384 May 18 08:44 ..-rw-r--r--@ 1 georgejwright
> staff 21784 May 7 00:51 bitcode.ll-rw-r--r--@ 1 georgejwright staff
> 4899 May 7 00:51 init.ll-rw-rw-rw-@ 1 georgejwright staff 9681 May
> 7 00:51 init.xtm-rw-r--r--@ 1 georgejwright staff 249478 May 7 00:51
>llvmir.xtm-rw-r--r--@ 1 georgejwright staff 34948 May 7 00:51
>llvmti-aot.xtm-rw-r--r--@ 1 georgejwright staff 4102 May 7 00:51
>llvmti-ast.xtm-rw-r--r--@ 1 georgejwright staff 171627 May 7 00:51
>llvmti-bind.xtm-rw-r--r--@ 1 georgejwright staff 93990 May 7 00:51
>llvmti-caches.xtm-rw-r--r--@ 1 georgejwright staff 29108 May 7 00:51
>llvmti-globals.xtm-rw-r--r--@ 1 georgejwright staff 102424 May 7 00:51
>llvmti-transforms.xtm-rw-r--r--@ 1 georgejwright staff 233908 May 7
>00:51 llvmti-typecheck.xtm-rw-r--r--@ 1 georgejwright staff 2156 May
> 7 00:51 llvmti.xtm-rw-r--r--@ 1 georgejwright staff 70207 May 7 00:51
>scheme.xtmgeorgejwright@Georges-MacBook-Air-2 runtime % *
>
>I'm stumped!!
>George
>On Sunday, May 17, 2026 at 9:35:41 AM UTC+10 George wrote:
>
>> Hi Ben & others
>> Brand New MacBook Air. Trying to get extempore v0.9.0 started.
>> Got past the "Open Anyway" block,
>> Now the message is
>> * "ERROR: could not locate file init.xtm, exiting.*
>>
>>
>> *libc++abi: terminatingzsh: abort ./extempore*
>> *georgejwright@Georges-Air-2 extempore %"*
>To view this discussion visit https://groups.google.com/d/msgid/extemporelang/0a2eb287-aa5f-4f46-adba-9b938e007447n%40googlegroups.com.


--

Cheers,
Ben

George J Wright

unread,
May 17, 2026, 10:03:47 PM (2 days ago) May 17
to extemp...@googlegroups.com
Thanks Ben
Will give that a go later in the day. 
🥸
George J Wright



You received this message because you are subscribed to a topic in the Google Groups "Extempore" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/extemporelang/A7hrvQkDfUs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to extemporelan...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/extemporelang/agppF5rAtnzuT4Ee%40daysy.tail2b9b56.ts.net.

George

unread,
May 18, 2026, 1:56:22 AM (yesterday) May 18
to Extempore
That worked a treat - Thanks Ben
I ran: 
xattr -dr com.apple.quarantine extempore 

both from the home folder where extempore folder resides and
from within the extempore folder where the extempore executable resides.
Don't know which did the trick but all operating now.

Regards
George

Reply all
Reply to author
Forward
0 new messages