-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aws <command> help command fails without less installed #1957
Comments
Interesting. I think for this case we can either have a better error message or fall back to or just print it all out without a pager. |
This checks to see if the PAGER is available on POSIX systems before attempting to run it. If it is not found, then the help information will just be printed. This adds support for the rare system that does not have `less` installed. Fixes aws#1957
This checks to see if the PAGER is available on POSIX systems before attempting to run it. If it is not found, then the help information will just be printed. This adds support for the rare system that does not have `less` installed. Fixes aws#1957
This checks to see if the PAGER is available on POSIX systems before attempting to run it. If it is not found, then the help information will just be printed. This adds support for the rare system that does not have `less` installed. Fixes aws#1957
Hi, this is still reproducible even though the issue has been closed. To reproduce:
By the looks of it, it seems More info:
|
why is it trying to run a pager? surely the unix was is to pip the output to a pager (a pager of our choice) if we want one. Or even to look at $PAGER and use that? I just installed awscli and got the groff error so this issue isn't fixed:
|
note that installing groff brings a ton more packages that I can't see why awscli would need:
A headless server now installs printing libraries when it will never connect to a printer? Also ghostscript? why? |
I also have the same problem installing the aws-cli in an amazonlinux container using these commands:
Then as I run
|
Having this problem as well while running on dockerized debian arm linux on a headless raspberry pi (ssh console). Installed groff (less was already present) and gave Ok, since root@raspberrypi-bbe731b:/# nroff -man -Tascii /usr/share/man/man1/grep.1.gz
groff: can't find `DESC' file
groff:fatal error: invalid device `ascii' After reviewing the archaeological records of ancient unix mailing lists indexed by google, I discovered what groff was trying to tell me - it couldn't find the needed output "device" files (ascii and utf8 in this case) nor their descriptions ( root@raspberrypi-bbe731b:/# ls -la /usr/share/groff/
total 0
drwxr-xr-x 1 root root 0 Jan 6 18:16 .
drwxr-xr-x 1 root root 230 Jan 6 18:16 .. Why did apt-get leave this directory empty? Because the extra-slim base image of raspian I'm using asks dpkg to skip installing any of groff's shared files. After commenting-out the line root@raspberrypi-bbe731b:/usr/share/groff# apt-get install --reinstall groff-base
Reading package lists... Done
...
Setting up groff-base (1.22.2-8) ...
root@raspberrypi-bbe731b:/usr/share/groff# ls current/font/
devascii devlatin1 devps devutf8
root@raspberrypi-bbe731b:/app# man cat
CAT(1) User Commands CAT(1)
NAME
cat - concatenate files and print on the standard output
------
root@raspberrypi-bbe731b:/app# aws help
AWS() AWS()
NAME
aws -
DESCRIPTION
The AWS Command Line Interface is a unified tool to manage your AWS
services. YAY. In conclusion,
|
The end of 2018 - AWS CLI still doesn't work out of box... |
For |
My working Dockerfile - any further suggestions? FROM python:3.6.7-jessie
RUN apt-get update -y
RUN apt-get install groff -y
RUN pip install awscli |
The dependency on We also base on a python Docker (slim) version, and when we install
And a bunch of lbirary deps are missing from debian archives
All these packages seem highly unlikely to actually be required. |
So far I don't see any formal requirement to add |
This commit adds a bash script wrapper to invoke the container with in a cli-compatible way with the program itself. Also fixes the missing `less` package, which is required by the AWS CLI client. Otherwise the client complains with missing "groff" errors. REF: aws/aws-cli#1957 Signed-off-by: Christopher Collins <[email protected]>
I have this issue on cli v2:
Version:
Installing less ( Error message is a bit cryptic, should be fixed imo. |
Reproduced with the following
SolutionAdd the following to the
|
Just in case someone else runs into this. I also see this with the new SDK (on Ubuntu 16.04 docker image).
Install groff fixes it.
|
I also saw this just now when running For the people installing groff: You should probably use Without recommended packages (only
Versus with recommendations, that's where the 160 MB are coming from:
|
* feat: allow a custom builder workflow selection Why is this change necessary? * Build for provided runtimes and for existing runtimes to have thier own build process. How does it address the issue? * Alternative build mechanisms for those usecases where existing build mechanisms dont solve the usecase. What side effects does this change have? * Metadata is updated as part of function properties, for easy wiring. Have not seen side-effects in current testing yet. * design: add explicit design doc within sam cli - component design already present within `aws-lambda-builders`: https://github.com/awslabs/aws-lambda-builders/blob/develop/aws_lambda_builders/workflows/custom_make/DESIGN.md
I was unable to perform any `aws cli` command against our docker containers (both aligent/serverless:latest & aligent/serverless:offline) Any `aws` command except `aws --version` returns with `Could not find executable named "groff"` error. This commit fix this issue by adding `groff` & `less` libraries. Similar issue & solution can be found from: aws/aws-cli#1957 (comment)
Fixed this by upgrading the CLI version |
On Mac, upgrading cli with |
|
sadly that this works, you have to install groff and its dependencies |
I ran below commands and it worked for me. |
On MacOS, I didn't need to install groff after seeing this error. Here's what I did:
In my case this was pointing at an older version of python:
I did not like the Here's the commit in which this was fixed. Apparently |
I ran into a case where the awscli help commands failed without
groff
&less
installed. The error message for not havinggroff
is pretty straight forward. But the error message aboutless
being missing just says[Errno 2] No such file or directory
.awscli version:
Running help for the first time:
So I installed
groff
:Then ran help again:
On another machine I found the
--debug
flag so I ranaws help
with that and found saw that it was trying to callless
at the end of the output.So I installed
less
:Ran help again and it worked:
(yes, I know that not having
less
installed is pretty rare but I thought I should report the bug anyway)The text was updated successfully, but these errors were encountered: