aws / aws/aws-elastic-beanstalk-cli-setup
arm64 macOS ("Apple Silicon", "M1") install friction
- Dominant language
- Python
- Stars
- 537
- Forks
- 226
- PR merge metrics
- No merged PRs in 30d
Description
**1. Please specify the following:**
- OS: [e.g. OS X, Ubuntu, Windows, etc.]: macOS Big Sur 11.0.1
- Shell (Bash, PowerShell, Zsh, etc.): Zsh
**2. Description**
This is informational, for those looking to run `eb` on their ARM Macs.
1. Python 3.7.2 doesn't build under macOS arm64. Update [this line](https://github.com/aws/aws-elastic-beanstalk-cli-setup/blob/102025cb0d1d38e949fde2ca6455764c6f8475fb/scripts/bundled_installer#L10) to refer to `3.9.1`, which _does_ build. You may have to follow pyenv's [docs](https://github.com/pyenv/pyenv/wiki/Common-build-problems) to ensure you have the prerequisite software installed.
2. With a usable Python installed, rerun the `eb` installer. It may fail while installing `cryptography` into a virtualenv; see https://github.com/pyca/cryptography/issues/5702. If so, you'll have to build it from source. To do this, follow the instructions [here](https://cryptography.io/en/latest/installation.html#building-cryptography-on-macos) to get prereqs, then finally rerun the `eb` installer script with the flags the cryptography build docs prescribe:
```sh
LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" CFLAGS="-I$(brew --prefix openssl@1.1)/include" ./scripts/bundled_installer
```
3. Follow the "Finishing up" instructions from the `eb` installer.
Contributor guide
Research direction
Inspect scripts/bundled_installer at the referenced Python version line, then rerun the installer on an arm64 macOS environment. Check the documented cryptography build prerequisites and installer flags if dependency installation fails. Done means the EB CLI installer completes successfully on Apple Silicon and the finishing instructions work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, python, zsh
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100