Skip to content

Apple Silicon support #322

@crwood

Description

@crwood

Thanks to Apple's "Rosetta" translation environment, the current release and subsequent pre-release binaries of Gridsync appear to run without issue on Apple Silicon (arm64) machines. Successfully building the application from source (along with freezing Tahoe-LAFS, adding packaging, etc.), however, appears to be considerably more involved, as the Python ecosystem has not yet evolved to support "fully native" macOS arm64 deployments (particularly when it comes to publishing binary wheels, for example). Nevertheless, it would be useful -- if not necessary -- to enable users of Apple Silicon to independently "build" the application from source, even if the resultant binaries are not fully native (i.e., arm64) applications.

As a step towards this goal, macOS's built-in arch command seemingly allows for applications to be coerced to run under a particular architecture, for example:

user@mac-mini ~ % arch -arm64 python3 -c 'import platform;print(platform.platform())'
macOS-11.2-arm64-arm-64bit
user@mac-mini ~ % arch -x86_64 python3 -c 'import platform;print(platform.platform())'     
macOS-11.2-x86_64-i386-64bit

Accordingly, updating the project's Makefile and associated build scripts to explicitly utilize the x86_64 flag might be sufficient to enable a user of an Apple Silicon machine to successfully "build" the application from source (while still depending on Rosetta at runtime to execute the resultant application). Further investigation is required...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions