On 2020-06-05 20:35 +0300, Mohammed Alnajdi wrote: > Hey Sven, > Thanks for the fast reply. > >> I fail to see how it does that, could you please elaborate? > https://packages.debian.org/buster/libncurses5-dev has a dependency of > https://packages.debian.org/buster/libncurses-dev which has a dependency of > libncurses6 > so the tree of dependency libncurses5-dev ---- > libncurses-dev ---- > > libncurses6 which i believe is not right in terms of the version i am > wanting to install. > If i want to install the latest ncurses i would go with libncurses-dev but > i picked libncurses5-dev which is version 5 not 6 so why i am getting > ncurses6 ?
As the package description tells you, libncurses5-dev is a transitional package, and you are not really expected to install it. There are two reasons why it exists: - Upgrades from stretch, where apt would otherwise have uninstalled libncurses5-dev. It is better to pull in libncurses-dev, so that you don't have to install it manually. - Lots of packages build-depend on libncurses5-dev, and I did not want to file dozens or even hundreds of bugs to change them when a transitional package solves the problem. >> Sorry, not going to happen. In general Debian only provides -dev >> packages for the latest ABI of libraries, and ncurses is no exception, >> especially as its API has not changed. > example python3-dev, python2-dev. Those have actually incompatible APIs and need to coexist. By contrast, any software that worked with libncurses5 should continue to work with libncurses6 after recompiling. Which is what Debian did for hundreds of packages. :-) > If this is expected behavior than sorry. I am new to this i upgraded from > stretch to buster and it took me to think issue. It is expected behavior, although the libncurses5-dev package should probably be removed at some point in the future. Cheers, Sven