Description
Hi 👋, I've been playing around with the new Debian Stretch variants, and I've come across an issue. In these images, the Python curses
module is built with libncurses-dev
package, which includes ncurses
but without wide-character support. libncursesw5-dev
is the package that includes wide-character support (note the w
). The Python packages in the Debian repos (on both Jessie and Stretch, across Python versions) are built against the latter package. Additionally, both Jessie and Stretch base images include libncursesw5
(several things are built against the lib), and not libncurses5
.
This also results in a weird apt issue on Stretch (but for whatever reason, not Jessie), since the libncurses5
package is never explicitly installed:
❯ docker run --rm -it python:3.6.3-slim-stretch bash
root@05a9ad87176e:/# apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@05a9ad87176e:/# apt-get update
Get:1 http://security.debian.org stretch/updates InRelease [62.9 kB]
Ign:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease
Get:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://cdn-fastly.deb.debian.org/debian stretch Release [118 kB]
Get:5 http://security.debian.org stretch/updates/main amd64 Packages [227 kB]
Get:6 http://cdn-fastly.deb.debian.org/debian stretch Release.gpg [2479 B]
Get:7 http://cdn-fastly.deb.debian.org/debian stretch-updates/main amd64 Packages [5841 B]
Get:8 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 Packages [9500 kB]
Fetched 10.0 MB in 4s (2306 kB/s)
Reading package lists...
root@05a9ad87176e:/# apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
libncurses5
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 294 kB disk space will be freed.
Do you want to continue? [Y/n]
I would normally make a PR to swap libncurses-dev
for libncursesw5-dev
(this seems to work fine), but that wouldn't solve things for the images based on the buildpack-deps
images. Perhaps the library also needs to be changed in buildpack-deps
?
Also note: I'm really not an expert on ncurses.