machawk1/wail

Porting to Apple Silicon

machawk1 opened this issue · 2 comments

Mac support currently relies on aspects of the Intel computational architecture. Despite the compatibility layer of Rosetta, WAIL does not work correctly on Apple Silicon, so needs to be adapted.

In preliminary testing, a few issues I encountered are:

  • wxPython does not appear to support the arm64 architecture
  • The Mac version of WAIL bundles x86_64 tools like MemGator (segfault on arm64). arm64 version of MemGator added in 777f4cf (see below)

This ticket will document the investigation further to hopefully eventually supporting the new architecture.

The pyinstaller bootloader is currently x86_64 though there is current work in porting it. When I build on amd64 using f264262, an Intel binary is generated...but the correct MemGator binary is executed.

Pulling the Pyinstaller source and building the bootloader (macOS 11.4) produces an Apple Silicon binary.

git clone https://github.com/pyinstaller/pyinstaller.git
cd pyinstaller/bootloader
python3 ./waf all  
cd ..
python3 -m pip install .

...then run the WAIL makefile as usual (per the README).

Screen Shot 2021-06-21 at 2 38 22 PM