David McPaul <dlmcpaul@xxxxxxxxx> wrote: ... > Unfortunately,developers are unable to > create shared libraries that maintain > backward compatability and it is too easy > to replace a newer version with an older > version and so break apps. > > Having 1 directory for all libraries leads to dll hell and without a > good installer, dependency hell > Having a library folder per application wastes some disk space but > the > user and developer knows that the application will just work out of > the box. > > If the library needs updating then the developer is likely to release > a new version with the new library after appropriate testing. > > The end user is also welcome to run a query to find all locations of > the library, replace them with whatever they found on a russian web > site and cross their fingers. :-) How can a user (or a package manager) know, before- hand, without trying, which later/earlier versions of a library will work for a certain application? This ever-shifting landscape is why I think out-of-band metadata and dependency updates are a necessity. Could a package manager alter a package, switching between using private and shared libraries? (Depending on what's best for the software collection as a whole, maybe.) Can't shared libraries be versioned and applications semi-firmly tied to a version, for as long as that version is the recommended version? /Jonas.