erikrose / peep

A "pip install" that is cryptographically guaranteed repeatable
MIT License
221 stars 28 forks source link

UnicodeDecodeError 0xe2 in letsencrypt-auto #127

Closed Sjoerdjanssenen closed 8 years ago

Sjoerdjanssenen commented 8 years ago

I just got this error on Laravel Forge. Thought I should paste it here.

peep: (3, 1, 1)
python: '2.7.11 (default, Dec 15 2015, 16:46:19) 
[GCC 4.8.4]'
pip: '1.5.4'
Command line:  ['/tmp/tmp.NzGgj8lhQl/peep.py', 'install', '-r', '/tmp/tmp.NzGgj8lhQl/letsencrypt-auto-requirements.txt']
Traceback (most recent call last):
  File "/tmp/tmp.NzGgj8lhQl/peep.py", line 967, in <module>
    exit(main())
  File "/tmp/tmp.NzGgj8lhQl/peep.py", line 939, in main
    return commands[argv[1]](argv[2:])
  File "/tmp/tmp.NzGgj8lhQl/peep.py", line 884, in peep_install
    req.install()
  File "/tmp/tmp.NzGgj8lhQl/peep.py", line 652, in install
    run_pip(['install'] + other_args + ['--no-deps', '-U', archive_path])
  File "/tmp/tmp.NzGgj8lhQl/peep.py", line 206, in run_pip
    status_code = pip.main(initial_args)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/__init__.py", line 185, in main
    return command.main(cmd_args)
  File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
    text = '
'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 79: ordinal not in range(128)
matthewlilley commented 8 years ago

Same here

singlow commented 8 years ago

I have this too. Related: https://github.com/pyca/cryptography/issues/2750

JC5 commented 8 years ago

Same.

DeltoidDelta commented 8 years ago

Same issue here on 3.16.0-46-generic #62~14.04.1-Ubuntu. This happened while trying to build OpenSSL (1.0.2g-1+deb.sury.org~trusty+1).

creating build/temp.linux-x86_64-2.7/build
creating build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o

build/temp.linux-x86_64-2.7/_openssl.c:710:6: error: conflicting types for ‘BIO_new_mem_buf’
 BIO *BIO_new_mem_buf(void *, int);
      ^
In file included from /usr/include/openssl/asn1.h:65:0,
                 from build/temp.linux-x86_64-2.7/_openssl.c:426:
/usr/include/openssl/bio.h:692:6: note: previous declaration of ‘BIO_new_mem_buf’ was here
 BIO *BIO_new_mem_buf(const void *buf, int len);
      ^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
DeltoidDelta commented 8 years ago

Thank you for posting your solution of downgrading, @singlow. Your solution worked for me. Those of you who are still looking for a temporary solution, check this out.

https://github.com/letsencrypt/letsencrypt/issues/2588

erikrose commented 8 years ago

Can you try upgrading to a newer version of pip and seeing if the problem goes away? I suspect 1.5.4 is causing the unicode error (and then the C build error is a separate thing).

erikrose commented 8 years ago

All of you tracking this issue might also (and more easily) try setting the env var LC_ALL=C while running letsencrypt-auto and see if that helps while we work on a better fix:

LC_ALL=C letsencrypt-auto ...

erikrose commented 8 years ago

I'm going to assume this is a pip error until somebody shows it still happens under the latest pip (in which case please reopen). We're working around it in https://github.com/letsencrypt/letsencrypt/issues/2596.