when trying to install elastic beans on MacBook Air M1, using the following:
% ./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer
as guidelines shown here: https://github.com/aws/aws-elastic-beanstalk-cli-setup
I get the following error:
5. Installing Python 3.7.2. This step may take a few minutes
************************************************************
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.2.tar.xz...
-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
Installing Python-3.7.2...
python-build: use readline from homebrew
BUILD FAILED (OS X 11.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/2v/7tdwpjsd3jzdw75jmp2n5trh0000gn/T/python-build.20201225141032.70517
Results logged to /var/folders/2v/7tdwpjsd3jzdw75jmp2n5trh0000gn/T/python-build.20201225141032.70517.log
Last 10 log lines:
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... no
checking size of time_t... 8
checking for pthread_t... yes
checking size of pthread_t... 8
checking size of pthread_key_t... 8
checking whether pthread_key_t is compatible with int... no
configure: error: Unexpected output of 'arch' on OSX
make: *** No targets specified and no makefile found. Stop.
Exiting due to failure
Thank you for helping!!!
Run the terminal using Rosetta - a translation process that allows users to run apps that contain x86_64 instructions on Apple silicon.
To do so -
The arch command can be used to run specific commands via Rosetta:
arch -x86_64 ./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer
None of the above worked for me. I installed both brew for Apple Silicon and Intel:
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
And then installed pyenv from:
/usr/local/Homebrew/bin/brew install pyenv
/usr/local/Homebrew/bin/brew link pyenv
arch -x86_64 pyenv install 3.8.9
And that worked
As Cheesus points in the comments, seem the only thing to do is the last line:
arch -x86_64 pyenv install 3.8.9
I also just switched to an M1, and I also got the same error. (coming from pyenv install 3.8.9.)
Installing 3.8.10 worked for me. They mention the M1 specifically on the 3.8.10 releases page, so maybe something had to be sorted out:
Python 3.8.10 ships two installers: the default 64-bit-only that works on macOS 10.9 (Mavericks) and later systems, and an experimental "universal2" installer for macOS 11 (Big Sur) and later
(This is if you need 3.8x for whatever reason. They're on 3.9.x right now.)
easiest solution is just use brew to install ebcli.
brew install awsebcli.
it will handle all the weird mac related variations for you
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-osx.html
If you're here not because of elastic beans, but because of pyenv and you're also getting the error Unexpected output of 'arch' on OSX then try installing a later/different version of python. I experienced this when installing 3.7.0, but installing 3.7.12 worked for me.