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
In more detail:
Running setup.py bdist_wheel for cryptacular: startedRunning 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_wheelrunning buildrunning build_pycreating buildcreating build/lib.linux-x86_64-3.6creating build/lib.linux-x86_64-3.6/cryptacularcopying cryptacular/__init__.py -> build/lib.linux-x86_64-3.6/cryptacularcreating build/lib.linux-x86_64-3.6/cryptacular/cryptcopying cryptacular/crypt/test_crypt.py -> build/lib.linux-x86_64-3.6/cryptacular/cryptcopying cryptacular/crypt/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/cryptcreating build/lib.linux-x86_64-3.6/cryptacular/bcryptcopying cryptacular/bcrypt/test_bcrypt.py -> build/lib.linux-x86_64-3.6/cryptacular/bcryptcopying cryptacular/bcrypt/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/bcryptcreating build/lib.linux-x86_64-3.6/cryptacular/corecopying cryptacular/core/test_core.py -> build/lib.linux-x86_64-3.6/cryptacular/corecopying cryptacular/core/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/corecreating build/lib.linux-x86_64-3.6/cryptacular/pbkdf2copying cryptacular/pbkdf2/test_pbkdf2.py -> build/lib.linux-x86_64-3.6/cryptacular/pbkdf2copying cryptacular/pbkdf2/__init__.py -> build/lib.linux-x86_64-3.6/cryptacular/pbkdf2running egg_infowriting cryptacular.egg-info/PKG-INFOwriting dependency_links to cryptacular.egg-info/dependency_links.txtwriting namespace_packages to cryptacular.egg-info/namespace_packages.txtwriting requirements to cryptacular.egg-info/requires.txtwriting top-level names to cryptacular.egg-info/top_level.txtreading 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/bcryptrunning build_extbuilding 'cryptacular.bcrypt._bcrypt' extensioncreating build/temp.linux-x86_64-3.6creating build/temp.linux-x86_64-3.6/crypt_blowfish-1.2creating build/temp.linux-x86_64-3.6/cryptacularcreating build/temp.linux-x86_64-3.6/cryptacular/bcryptgcc -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.ogcc -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.ogcc -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.ogcc -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.oIn 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 cryptacularRunning 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.
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
where the requirements.txt
uses cryptacular==1.4.1
Edit: We are working with the python:3.6-slim
image