On Thu, Nov 24, 2022 at 3:07 PM Jeff Davis <pg...@j-davis.com> wrote: > I'm sure this has been discussed, but which distros even support > multiple major versions of ICU?
For Debian and friends, you can install any number of libicuNN packages (if you can find them eg from previous release repos), but there's only one libicu-dev. That means that one specific major version is blessed by each Debian release and has its headers and static libraries for you to use as a developer, but you can still install the dynamic libraries from older releases at the same time to satisfy the dependencies of packages or programs that were built on an earlier OS release. They don't declare conflicts on each other and they contain non-conflicting filenames. That's similar to the way standard libraries and various other things are treated, for backward compatibility. For RHEL and friends, I'm pretty sure it's the same concept, but I don't use those and haven't seen it with my own eyes. I don't know for other Linux distros/families, but I expect the above two cover a huge percentage of our users and I expect others to have made similar choices. For the BSDs, which tend to have a single binary package with both headers and libraries owing to their origins as source-based distributions (ports), the above way of thinking doesn't work; I couldn't develop this on my usual FreeBSD battlestation without building ICU myself (problem being that there's only one "pkg install icu") and I hope to talk to someone who knows what to do about that eventually. I want this to work there easily for end users. macOS and Windows have so many different ways of installing things that there isn't a single answer there; supposedly open source is like a bazaar and closed source like a cathedral, but as far as package management goes, it looks more like rubble to me.