Apple Silicon Compatibility

I’m not sure if anyone else is working with Apple silicon devices… I’ve recently bought a Mac Mini and I’ve already run into some issues while trying to setup OCIM, for example.

The idea for this thread is to document the current state of compatibility for the tools we use at OpenCraft and share workarounds.

To start off, it seems like there is no support for arm64 in Python versions < 3.8.

Docker seems to be working fine but with documented known issues.

In particular, the mysql images don’t yet support arm64; the recommendation above is to use mariadb but, instead, for devstack, I manually pulled the image for the linux/amd64 platform with

docker pull --platform=linux/amd64 mysql:5.7
docker pull --platform=linux/amd64 mysql:5.6

After this all the devstack commands I’ve run so far are working…

References:

Thanks for posting this! I’m planning to upgrade later this year when the new MacBook Pro comes out, so I appreciate you forging the path :p

FWIW I managed to run OCIM on Python 3.8, but the test runners (in particular prospector) have issues and spit out many warnings when run on 3.8.

Does Virtualbox work on Apple Silicon Macs? DOH!

I assume this is in the context of Ocim / your BB-4059 review?

It’s not necessary to use VirtualBox to run Ocim. In fact, I’d welcome a PR that finally completely replaces it with Docker. Others on the team have gotten it set up with docker before; there is some code at Simple docker-compose setup by janimo · Pull Request #740 · open-craft/opencraft · GitHub and Document how to run a devstack in LXC by arbrandes · Pull Request #571 · open-craft/opencraft · GitHub and possibly other places.

Yes, I’m using those PRs as a base and added a ocim container that, for now, at least allows me to run the tests I need :slight_smile:

I was actually looking at BB-3729 but, since both would require a working OCIM, I’ll try to keep the changes separate.

I’ve also set up https://tasks.opencraft.com/browse/BB-4187 specifically for logging my time spent just getting things to work.
The current status is that I can get OCIM to start in Docker but the static assets are broken…

AFAICT I’m managing to run OCIM inside docker, at least for development purposes: I’ve taken some time to polish the setup so others can use it and opened up this PR

Comments are welcome, of course; I’m particularly interested in what @braden has to say :slight_smile:

1 Like

Hey @joao.cabrita I’m a new member and I use the m1 mac. I used your proposed docker setup and managed to get up and running locally atleast for dev work. I’m not sure it counts but I’ll leave an approving review on the PR.

1 Like

One instance of this is the openapitools/openapi-generator-cli docker image: the v4.3.1 version our OCIM frontend scripts use doesn’t seem to do anything; updating to v5.1.1 worked right away.

At least the course-authoring MFE fails to launch due to this:

on bash execute command:

    export CPPFLAGS="-DPNG_ARM_NEON_OPT=0"

and rerun instalation.