|
| 1 | + |
| 2 | +# 🛠 Microtask 2: Installation Issues Encountered on macOS 14.4 (M1) |
| 3 | + |
| 4 | +This document outlines the issues I encountered while installing [CHAOSS Augur](https://github.com/chaoss/augur) on a **macOS 14.4 M1** machine using **Python 3.9.18** and **Augur v0.86.0**, along with the solutions I applied to resolve them. |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +### ❗️Issue 1: pyenv under Rosetta 2 |
| 9 | +**Problem:** |
| 10 | +Using `pyenv` to install Python 3.8.x failed due to Rosetta architecture issues: |
| 11 | +``` |
| 12 | +Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! |
| 13 | +``` |
| 14 | + |
| 15 | +**Solution:** |
| 16 | +Force Homebrew and pyenv to run natively on ARM: |
| 17 | +```bash |
| 18 | +arch -arm64 pyenv install 3.8.17 |
| 19 | +``` |
| 20 | +Or with full flags: |
| 21 | +```bash |
| 22 | +CFLAGS="-I$(brew --prefix zlib)/include -I$(brew --prefix bzip2)/include" \ |
| 23 | +LDFLAGS="-L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" \ |
| 24 | +PYTHON_CONFIGURE_OPTS="--enable-framework" \ |
| 25 | +arch -arm64 pyenv install 3.8.17 |
| 26 | +``` |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +### ❗️Issue 2: Python 3.8 not compatible with macOS 14 |
| 31 | +**Problem:** |
| 32 | +Even after installing Python 3.8, some packages like `numpy==1.26.0` and `tensorflow` failed to compile or install properly. |
| 33 | + |
| 34 | +**Solution:** |
| 35 | +Upgrade to Python 3.9: |
| 36 | +```bash |
| 37 | +arch -arm64 pyenv install 3.9.18 |
| 38 | +pyenv global 3.9.18 |
| 39 | +``` |
| 40 | + |
| 41 | +--- |
| 42 | + |
| 43 | +### ❗️Issue 3: `make install-dev` does not exist |
| 44 | +**Problem:** |
| 45 | +The official documentation suggests: |
| 46 | +```bash |
| 47 | +make install-dev |
| 48 | +``` |
| 49 | +But the Makefile doesn’t have this target. |
| 50 | + |
| 51 | +**Solution:** |
| 52 | +Run the regular install command: |
| 53 | +```bash |
| 54 | +make install |
| 55 | +``` |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +### ❗️Issue 4: `.git-credentials` permission error |
| 60 | +**Problem:** |
| 61 | +During configuration, Augur attempts to create `.git-credentials` in `/`, which fails: |
| 62 | +``` |
| 63 | +touch: /.git-credentials: Read-only file system |
| 64 | +``` |
| 65 | + |
| 66 | +**Solution:** |
| 67 | +Create a Facade repo directory manually before running the install: |
| 68 | +```bash |
| 69 | +mkdir -p ~/augur/repos |
| 70 | +``` |
| 71 | +Then use the full path when prompted: |
| 72 | +``` |
| 73 | +Facade worker directory: /Users/<yourname>/augur/repos |
| 74 | +``` |
| 75 | + |
| 76 | +--- |
| 77 | + |
| 78 | +### ❗️Issue 5: `h5py` version conflict with TensorFlow |
| 79 | +**Problem:** |
| 80 | +`augur` installs `h5py==3.10.0` but `tensorflow>=2.19.0` requires `h5py>=3.11.0`: |
| 81 | +``` |
| 82 | +tensorflow 2.19.0 requires h5py>=3.11.0, but you have h5py 3.10.0 |
| 83 | +``` |
| 84 | + |
| 85 | +**Solution:** |
| 86 | +Manually install the required version: |
| 87 | +```bash |
| 88 | +pip install 'h5py>=3.11.0' |
| 89 | +``` |
| 90 | +⚠️ Warning: This conflicts with Augur’s `setup.py`. It may be necessary to fork and patch `requirements.txt`. |
| 91 | + |
| 92 | +--- |
| 93 | + |
| 94 | +### ❗️Issue 6: Invalid CLI commands in docs (`augur db init`) |
| 95 | +**Problem:** |
| 96 | +Documentation suggests running: |
| 97 | +```bash |
| 98 | +augur db init |
| 99 | +``` |
| 100 | +But this returns: |
| 101 | +``` |
| 102 | +Error: No such command 'init' |
| 103 | +``` |
| 104 | + |
| 105 | +**Solution:** |
| 106 | +Use the actual CLI options: |
| 107 | +```bash |
| 108 | +augur db init-database # if database doesn't exist |
| 109 | +augur db create-schema # to create schema |
| 110 | +augur db upgrade-db-version # to apply migrations |
| 111 | +``` |
| 112 | + |
| 113 | +--- |
| 114 | + |
| 115 | +### ❗️Issue 7: NLTK download prompt |
| 116 | +**Problem:** |
| 117 | +During installation, Augur prompts: |
| 118 | +``` |
| 119 | +Would you like to install required NLTK word lists for machine learning workers? |
| 120 | +``` |
| 121 | + |
| 122 | +**Solution:** |
| 123 | +Accept prompt by typing `y`, or manually install later with: |
| 124 | +```python |
| 125 | +import nltk |
| 126 | +nltk.download('all') |
| 127 | +``` |
| 128 | + |
| 129 | +--- |
| 130 | + |
| 131 | +## ✅ Summary |
| 132 | + |
| 133 | +These issues are frequently encountered during Augur installation on Apple Silicon Macs. Resolving and documenting them helps improve onboarding and reduces developer friction. |
| 134 | + |
| 135 | +--- |
| 136 | + |
| 137 | +**System Info:** |
| 138 | +- macOS 14.4 (M1) |
| 139 | +- Python 3.9.18 (via pyenv) |
| 140 | +- Augur v0.86.0 |
| 141 | +- RabbitMQ, PostgreSQL, Redis installed via Homebrew |
| 142 | +- Virtualenv: `augur39` |
| 143 | + |
| 144 | +--- |
| 145 | + |
| 146 | +Maintained by [Xiaoha ](mailto:[email protected]) |
| 147 | +``` |
0 commit comments