Cannot install on ARM Macs
- Dominant language
- Python
- Stars
- 7k
- Forks
- 2.3k
- PR merge metrics
- No merged PRs in 30d
Description
I recently got an ARM based Mac. In trying to install DeepChem from source, I discovered that the install_deepchem_conda.sh script fails. The first problem is that DGL is only available for x86 Macs, not ARM ones. (See the list of packages for [pip](https://pypi.org/project/dgl/) and [conda](https://anaconda.org/dglteam/dgl)). That's a serious problem, since we use DGL for a lot of models. We should contact the developers to find out whether they plan to add support.
The second problem is that pip doesn't have TensorFlow for ARM Macs either. Conda does, though. The `tensorflow` and `tensorflow-probability` packages are both available from conda-forge, but `tensorflow-addons` isn't. The `esri` channel has it, but only for Linux and Windows. The `isuruf` channel has it for Mac, but it's an older version: 11.2 rather than 13.0.
The final error comes from jax:
> ERROR: Could not find a version that satisfies the requirement jaxlib>=0.1.37 (from optax==0.0.8->-r /Users/peastman/workspace/deepchem/condaenv.cpr7qbjx.requirements.txt (line 13)) (from versions: none)
> ERROR: No matching distribution found for jaxlib>=0.1.37 (from optax==0.0.8->-r /Users/peastman/workspace/deepchem/condaenv.cpr7qbjx.requirements.txt (line 13))
I don't understand that error, because jaxlib 0.3.0 is available, which should satisfy the requirement.
Contributor guide
Research direction
Start by reproducing the failure on an ARM-based Mac with install_deepchem_conda.sh, then inspect the generated condaenv.cpr7qbjx.requirements.txt, especially the jaxlib entry. Check the reported DGL, TensorFlow, TensorFlow Probability, TensorFlow Addons, and JAX package availability; done would require a clearly supported installation path or documented ARM limitations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, tensorflow
- Domain
- build-system, machine-learning
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100