﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
7222	Make universal Intel/ARM Mac distribution	Tom Goddard	Tom Goddard	"We'd like to distribute Mac ChimeraX as a single Intel / ARM64 universal distribution.  Most Mac apps are distributed as universal packages so the user does not need to know if they have an Intel or M1/M2 processor.  It requires making ""fat binaries"" for each shared library and executable that contain both Intel and ARM versions.

We may be able to combine our current Mac Intel ChimeraX and Mac ARM64 ChimeraX using the ""lipo"" command-line tool that merges Intel and Arm64 binaries to make universal binaries.

To make this work we need the Intel and ARM64 ChimeraX to use identical versions and packaging for all the dependent libraries.  Currently there are some different versions and packaging because of Python libraries we use that are distributed Intel but not for ARM64 via PyPi where we use Conda to provide ARM64 versions.  In some cases (e.g. PyTables) the conda versions are not putting the shared libraries with package as PyPi does it.  Other difficulties are occur where Intel and ARM versions of the PyPi packages are not identical. An example of this is numpy where the Intel version uses an older gfortran library than the Arm64 version.  Numpy does not provide a universal wheel.

We'll need to assess whether we can make universal versions of all the libraries we use, and how much work it will be."	enhancement	closed	moderate		Platform		fixed		chimerax-programmers				all	ChimeraX
