First Apple M1 Pharo Version

This post is now out-dated. The current version is available in Pharo Zero-Conf, and in the future in the Pharo Launcher.

After receiving the new Apple Mini with the M1 processor, we are producing the first version of the Pharo VM. This version, is a base version that lacks JIT optimizations and requires external libraries (it is not build as a bundle). However, it is a good step forward to have a working version in this new combination of architecture and OS. Also, this VM, even without JIT, has better performance than the VM with JIT using Rosetta 2.

We are going to start soon the final stroke in the development of the new version including the JIT, as mostly of it reuses the one already done for Linux ARM64 and Windows ARM64. The required changes are linked with changes done by Apple in the Operating System API, and some “Security improvements” of the new OS.


In this first version, it is required to have installed some libraries with Brew ( These requirements will be removed in next versions.

The packages to install are:

  • cairo
  • freetype
  • sdl2
  • libgit2

Linking LibGit2

Pharo 9 is expecting to use LibGit2 1.0.1 or 0.25, but Brew includes the version 1.1.0. To fix this problem we can link the version 1.1.0 as 1.01. This is a temporal hack as the correct version will be shipped in a release of the VM.

For doing so, we need to execute:

cd /opt/homebrew/lib
ln -s libgit2.1.1.0.dylib libgit2.1.0.0.dylib

Downloading the VM

The VM is available in Pharo file server at:

You can download and execute it. Watch out, this VM is for Pharo 9 images.

To correctly find the libraries provided by Brew, we need to execute the VM from the terminal with (is a single command):

LD_LIBRARY_PATH=/opt/homebrew/lib ./

In case the VM is not open because it has been put in quarantine (as it is not signed), you can allow execution of it doing:

xattr -d


In the following weeks, we are going to provide a complete version of the Pharo VM integrated in the system and running as the one for Intel X64.

Published by Pablo Tesone

I am one of the Pharo Consortium Engineers. I am an enthusiast object-oriented programming and environment!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: