Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting to Apple Silicon #494

Closed
2 tasks done
machawk1 opened this issue Apr 2, 2021 · 2 comments · Fixed by #514
Closed
2 tasks done

Porting to Apple Silicon #494

machawk1 opened this issue Apr 2, 2021 · 2 comments · Fixed by #514

Comments

@machawk1
Copy link
Owner

machawk1 commented Apr 2, 2021

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.

@machawk1
Copy link
Owner Author

machawk1 commented Apr 19, 2021

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.

@machawk1
Copy link
Owner Author

machawk1 commented Jun 21, 2021

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

machawk1 added a commit that referenced this issue Jun 21, 2021
In #494 we detailed that the current main branch (>=5.0dev0) of
Pyinstaller should be used to support Apple Silicon but even
then, the bootloader for the platform needs to be recompiled.

In this commit I added commands to the WAIL makefile to check if
on the target platform and if so, build pyinstaller from source
beyond what is currently provided by Pypi and installed via pip.

Closes #494
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant