aws / aws-cli

Universal Command Line Interface for Amazon Web Services
Other
15.55k stars 4.13k forks source link

Feature Request awscli 2: ARM builds #4943

Closed tfolbrecht closed 4 years ago

tfolbrecht commented 4 years ago

The new docs don't mention ARM. I used the previous cli in some bash scripts on arm devices. it would be cool if there were official arm builds. Thanks for your hard work!

https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html

joguSD commented 4 years ago

This is a reasonable request. There's definitely some details we'll need to workout as I'm not entirely sure what the state of ARM compatibility is across different distros/hardware. It looks like there's a manylinux2014 docker image for aarch64 that we might be able to use for the builds.

Marking as a feature request.

quiver commented 4 years ago

Don't forget A1 instance family 😉 https://aws.amazon.com/ec2/instance-types/a1/

tfolbrecht commented 4 years ago

Just a heads up, I had to touch a little bit of everything to get V2 building on arm6l which is the ISA on a few popular ARM devices like the Raspberry Pi Zero.

thimslugga commented 4 years ago

Here's the steps I used to install on a a1 instance running Amazon Linux 2.

sudo su -
yum check-update && yum install -y python3 python3-devel git gcc libffi-devel openssl-devel

python3 -m venv /opt/aws-cliv2/env --prompt aws-cliv2
source /opt/aws-cliv2/env/bin/activate

pip install git+https://github.com/boto/botocore.git@v2 --upgrade
pip install git+https://github.com/aws/aws-cli.git@v2 --upgrade

deactivate

test ! -f /usr/local/bin/aws && ln -s /opt/aws-cliv2/env/bin/aws /usr/local/bin/aws
test ! -f /usr/local/bin/aws_bash_completer && ln -s /opt/aws-cliv2/env/bin/aws_bash_completer /usr/local/bin/aws_bash_completer

aws --version
 aws-cli/2.0.0 Python/3.7.4 Linux/4.14.165-131.185.amzn2.aarch64 botocore/2.0.0dev4
tfolbrecht commented 4 years ago

@thimslugga Thank you so much, turns out I've been playing whack-a-mole with my distros package manager and environment. I got it building on arm6l without any trouble.

joguSD commented 4 years ago

AWS CLI v2 builds for aarch64 are now being published. This supports the ARM EC2 instances and any other platforms running a 64-bit OS on an ARM v8 or higher processor.

Here's the blog post announcing this: https://aws.amazon.com/blogs/developer/aws-cli-v2-now-available-for-linux-arm

I'll leave the feature request open as it seems there's still some interest in 32bit builds for older ARM platforms.

VigibotDev commented 4 years ago

Please support 32-bits raspbian !

headmelted commented 4 years ago

Raspbian is the big missing piece here which is unfortunately a blocker for a project I'm working on currently. It should be (relatively) trivial to add 32-bit ARMHF builds if ARM64 is building already.

VigibotDev commented 4 years ago

IoT IS Raspberry and Raspberry IS IoT AWS-CLI is mandatory to use AWS headless on any small IOT, mainly, IoT is headless! Raspberry PI IS the WORLD #1 IoT swiss knife. 32-bit is not a limitation for IoT for many years to come (4GB !!!!!!) Even if fhe PI 4 with 8Go is here and Raspbian 64-bits beta also. Headless IoT software that does not support ALL Raspberry PI from ZERO to 4 is a nonsense, closing this also !!!

masterchop commented 3 years ago

how to build for older architectures ? I need it for armhf? I am also having this problem with session manager plugin.