Libcrypt.so.1 removal in Fedora 30 impacting manylinux* builds

We’ve observed that some manylinux1 builds have a runtime dependency on libcrypt.so.1 from glibc (I saw this in a Python 3.7 wheel, but not a Python 3.6). Fedora 30 removed this, so the manylinux1 wheels cannot be imported there

Has anyone else run into this, and is there a possible solution (or are Fedora 30 users SOL for the moment)?

1 Like

There’s analysis and a plan here:

But AFAIK no-one is currently working on implementing that plan.

1 Like

@wesm Which wheels did you observe to have this runtime dependency? People are working on fixing auditwheel and the official manylinux* build environments now, but not very many extensions use libcrypt so we’re having a little trouble coming up with a test plan. (We know psycopg2 is affected, but that’s a large, complicated module with a lot of C build dependencies; it would be nice to have something simpler to test with.)

We saw this in the Apache Arrow wheels (“pyarrow”) which I believe are much more complicated than psycopg2

@wesm Thanks. I wound up having to write a test package from scratch, but things are moving forward now.

The manylinux images have been rebuilt with the libcrypt.so.2 library added. Rebuilding wheels in the new images and running auditwheel repair should vendor this into the wheel and make it usable on Fedora 30 and other distros.

3 Likes

Hurrah! Thanks everyone who’s worked on this! :slight_smile:

1 Like