3 ms·
Windows addresses this by maintaining a "side-by-side" set of library versions, so applications can have several versions of a library available to them. This i
by stephengillie 9y ago
Windows addresses this by maintaining a "side-by-side" set of library versions, so applications can have several versions of a library available to them. This is what the \Windows\WinSxS\ folder stores.
- digi_owl 9y agoAt first glance WinSxS strikes me as a centralized variant of what Windows have done since the early days, search the local sub-folders near a binary first before looking elsewhere for a relevant dll. Basically this is not much different from what is being suggested with Flatpak, Snap, Docker, etc etc etc. Never mind that unix already offer something similar with SONAME. This is a naming scheme for lib files that put a interface version of sorts into the name. Then symlinks are used to point general names to more specific version names. This on paper allows the binary to get the right lib version for the job. But all too often either the lib maintainer do not update the soname properly, or the maintainer of whatever program that use the library is not specific enough regarding the soname. Frankly the problem is not so much technical is it is managerial. Of the two major UI libs on Linux, Qt keeps surprising me with its backwards-compatibility. I can apparently get Qt5 compiled againt Xorg versions that sends GTK3 screaming about missing dependencies. This, i suspect, is because Qt is a for profit project that is dual licensed. Thus there is an incentive to be as broad as possible with support.