密码术坏了 [英] Cryptacular is broken

查看:105
本文介绍了密码术坏了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个周末,我们的docker映像损坏了,因为它无法再构建了.在查看统计信息时,我看到了这一行:

this weekend our docker image broke because it cannot be build anymore. While looking into the stats, I saw this line:

crypt_blowfish-1.2/crypt.h:17:23: fatal error: gnu-crypt.h: No such file or directory

详细信息:

  Running setup.py bdist_wheel for cryptacular: started
  Running setup.py bdist_wheel for cryptacular: finished with status 'error'
  Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-sayd65k0/cryptacular/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmp5734bf55pip-wheel- --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/cryptacular
  copying cryptacular/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular
  creating build/lib.linux-x86_64-3.6/cryptacular/crypt
  copying cryptacular/crypt/test_crypt.py -> build/lib.linux-x86_64-3.6/cryptacular/crypt
  copying cryptacular/crypt/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/crypt
  creating build/lib.linux-x86_64-3.6/cryptacular/bcrypt
  copying cryptacular/bcrypt/test_bcrypt.py -> build/lib.linux-x86_64-3.6/cryptacular/bcrypt
  copying cryptacular/bcrypt/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/bcrypt
  creating build/lib.linux-x86_64-3.6/cryptacular/core
  copying cryptacular/core/test_core.py -> build/lib.linux-x86_64-3.6/cryptacular/core
  copying cryptacular/core/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/core
  creating build/lib.linux-x86_64-3.6/cryptacular/pbkdf2
  copying cryptacular/pbkdf2/test_pbkdf2.py -> build/lib.linux-x86_64-3.6/cryptacular/pbkdf2
  copying cryptacular/pbkdf2/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/pbkdf2
  running egg_info
  writing cryptacular.egg-info/PKG-INFO
  writing dependency_links to cryptacular.egg-info/dependency_links.txt
  writing namespace_packages to cryptacular.egg-info/namespace_packages.txt
  writing requirements to cryptacular.egg-info/requires.txt
  writing top-level names to cryptacular.egg-info/top_level.txt
  reading manifest file 'cryptacular.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'cryptacular.egg-info/SOURCES.txt'
  copying cryptacular/bcrypt/_bcrypt.c -> build/lib.linux-x86_64-3.6/cryptacular/bcrypt
  running build_ext
  building 'cryptacular.bcrypt._bcrypt' extension
  creating build/temp.linux-x86_64-3.6
  creating build/temp.linux-x86_64-3.6/crypt_blowfish-1.2
  creating build/temp.linux-x86_64-3.6/cryptacular
  creating build/temp.linux-x86_64-3.6/cryptacular/bcrypt
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DNO_BF_ASM -Icrypt_blowfish-1.2/ -I/usr/local/include/python3.6m -c crypt_blowfish-1.2/crypt_blowfish.c -o build/temp.linux-x86_64-3.6/crypt_blowfish-1.2/crypt_blowfish.o
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DNO_BF_ASM -Icrypt_blowfish-1.2/ -I/usr/local/include/python3.6m -c crypt_blowfish-1.2/crypt_gensalt.c -o build/temp.linux-x86_64-3.6/crypt_blowfish-1.2/crypt_gensalt.o
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DNO_BF_ASM -Icrypt_blowfish-1.2/ -I/usr/local/include/python3.6m -c crypt_blowfish-1.2/wrapper.c -o build/temp.linux-x86_64-3.6/crypt_blowfish-1.2/wrapper.o
  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DNO_BF_ASM -Icrypt_blowfish-1.2/ -I/usr/local/include/python3.6m -c cryptacular/bcrypt/_bcrypt.c -o build/temp.linux-x86_64-3.6/cryptacular/bcrypt/_bcrypt.o
  In file included from /usr/local/include/python3.6m/Python.h:39:0,
                   from cryptacular/bcrypt/_bcrypt.c:26:
  crypt_blowfish-1.2/crypt.h:17:23: fatal error: gnu-crypt.h: No such file or directory
   #include <gnu-crypt.h>
                         ^
  compilation terminated.
  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for cryptacular
  Running setup.py clean for cryptacular

我们的实现与使用

Our implementation works with the package cryptacular which uses bcrypt. None of the packages were updated last week and I dont know where to start.

作为附加信息,该错误发生在我们的Dockerfile

As additional information, the error occurs in this block of our Dockerfile

RUN apt-get install -y build-essential libfontconfig && \
    pip install -q -U pip && \
    pip install -q -r requirements.txt && \
    apt-get remove -y --purge build-essential && \
    apt-get autoremove -y && \
    apt-get clean -y

其中requirements.txt使用cryptacular==1.4.1

我们正在处理python:3.6-slim图片

推荐答案

我们无法确切知道错误,但是上周末基本映像中进行了安全更新.因此,我们将python图像固定到3.6.4.

We don't know the error exactly, but last weekend there was an security update in the base image. Therefore we pinned our python image to 3.6.4.

这篇关于密码术坏了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆