Yelp / dumb-init

A minimal init system for Linux containers
https://engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html
MIT License
6.83k stars 344 forks source link

Latest PIP package (1.2.5.post1) appears to be broken #276

Closed rootd00d closed 2 years ago

rootd00d commented 2 years ago

All of our build pipelines are offline as of the release of the latest PIP version (1.2.5.post1) of the dumb-init package --

pip install --user --no-cache-dir  dumb-init
Collecting dumb-init
  Downloading https://files.pythonhosted.org/packages/3d/a6/73c6e478115f98f5778e8b7808dc59d0985eae178b4c38da72968887a13e/dumb-init-1.2.5.post1.tar.gz
Installing collected packages: dumb-init
  Running setup.py install for dumb-init ... error
    Complete output from command /usr/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-v2_28qnt/dumb-init/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-nau7ku8x-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    running install
    running build
    running build_cexe
    error: [Errno 20] Not a directory: 'cc'
    supports -static...

    ----------------------------------------
Command "/usr/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-v2_28qnt/dumb-init/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-nau7ku8x-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-v2_28qnt/dumb-init/

Using the previous package works fine --

pip install --user --no-cache-dir  dumb-init==1.2.5
Collecting dumb-init==1.2.5
  Downloading https://files.pythonhosted.org/packages/ab/99/dec6c0a852fa28df5026356bf776c1b1abd32d59030ccd6ebc7feed245f0/dumb_init-1.2.5-py2.py3-none-manylinux1_x86_64.whl (288kB)
    100% |████████████████████████████████| 296kB 744kB/s 
Installing collected packages: dumb-init
Successfully installed dumb-init-1.2.5

I'm reaching out in case this package is anomalous -- https://pypi.org/project/dumb-init/#history

Thanks!

asottile commented 2 years ago
  1. your machine lacks a sufficiently new version of pip to select manylinux2010 wheels
  2. your machine is also missing a C compiler so the fall back full build is unsuccessful

neither of these are a problem with dumb-init

asottile commented 2 years ago

note also that python 3.6 is end-of-lifed so it is not supported either

rootd00d commented 2 years ago

@asottile Thank you for this excellent feedback!

We're building using container images built upstream, which are all RedHat Enterprise Linux 8.4 and they have explicitly installed Python 3.6. The OS packages are all updated as per our build process, but naturally the python36 package won't magically jump to python38, etc.

While true that these issues are not those of dumb-init -- it's still an issue. Hopefully, we'll be able to get our upstream container images updated to Python(38|39) without breaking literally hundreds of data science projects, but that's seeming like a potentially necessary process.

Cheers!