Linked by Adam S on Wed 30th Apr 2003 07:26 UTC
Linux Lately, we've all read a lot of articles about desktop Linux - so many that it's getting hard to tell them apart. One says "Why Linux Sucks," the next "My Success With Linux." Even Michael Robertson of joined the fun with his "Why Desktop Linux Sucks, Today." But very few people have proposed anything radical, and I believe that's what's needed to take GNU/Linux to the next level.
Permalink for comment
To read all comments associated with this story, please click here.
Response to jbolden1517 in re library dependencies
by Hawkstone on Wed 30th Apr 2003 06:13 UTC

So your setup would require the distribution maker to release a particular build and then recompile an app a 1/2 dozen times for each environment and then distribute those binaries.

I think you must have missed part of my point, as that is exactly what I was trying to propose a solution to. Let me attempt to clarify: I'll continue to use Qt as an example.

The "normal" approach for developers is to use whatever the hell version they want of Qt, and just redistribute the library as part of their package. No app will expect any one version (or any version at all) to be installed system-wide, and thus there is no reason for the developer to create multiple binary distributions.

If it turns out that Qt support is going to be widely required of most apps and binary compatibility is supported by the library developer (and Trolltech has actually been somewhat good about that), only then can it be promoted to OS-level library status and made available system-wide.

Compare this to the Win32 system libraries, and even DirectX. DirectX is in general *completely* backwards compatible, so upgrading to a new version still allows old software to function.

So to summarize again: anything guaranteed to maintain binary compatibility and that will be widely used by apps can be made system-wide and in general safely assumed to already be installed as "part of" the OS. Any other library that an application needs should be bundeled with the binary distribution of the app.

The problem you describe is what exists out there now, simply because the libraries are not distributed with the apps. The app I work on has *one* linux binary distribution, in a .tar.gz (no install script or package), and to my knowledge it works out of the box on every linux distro it has been tested on in the past couple years (incl. RH, Mandrake, SUSE).