Linked by Thom Holwerda on Thu 5th Nov 2009 23:05 UTC
Linux As we all know, Mac OS X has support for what is called 'fat binaries'. These are binaries that can carry code for for instance multiple architectures - in the case of the Mac, PowerPC and x86. Ryan Gordon was working on an implementation of fat binaries for Linux - but due to the conduct of the Linux maintainers, Gordon has halted the effort.
Thread beginning with comment 393357
To view parent comment, click here.
To read all comments associated with this story, please click here.
vivainio
Member since:
2008-12-26

So what is left? What is the big advantage of the shared library system?


- Reduces memory use

- Bugfixes. If a security vulnerability is fixed in a library, every app benefits without having to be updated.

- Yes, drive space. Many mobile devices still have root filesystem on small fast flash drive.

If you want to defend 70's tech then go ahead, but I'm sick of this attitude by Linux advocates who believe that people who criticize Unix/Linux are stupid.


Not really stupid - rather, it's about a knee jerk reaction when leaving their comfort zone. They mostly have experience with click-and-run installers, and want the same on Linux too. And these days, we have many click-and-run installers for Linux available. There is nothing in Linux that prevents you from making them (or makes it exceedingly hard, either).

Reply Parent Score: 2

nt_jerkface Member since:
2009-08-26

Reduces memory use -


Insignificant when the typical laptop comes with 2gb of ram.


Bugfixes. If a security vulnerability is fixed in a library, every app benefits without having to be updated.


And if the update breaks another app? Shared library systems have their own risk in that they sometimes can't patch a file without breaking another app. This can result in a much longer delay for a patch then you would have with a program that updates directly from the developer.


- Yes, drive space. Many mobile devices still have root filesystem on small fast flash drive.


As I said before small devices take small files. The shared library system isn't needed for embedded development. There are plenty of cell phone operating systems that don't use shared libraries.

And these days, we have many click-and-run installers for Linux available. There is nothing in Linux that prevents you from making them (or makes it exceedingly hard, either).


There is no click-n-run installer that works across all distros and makes adjustments for all version differences. There isn't even a standard "program files" directory among distros. It's a big mess and there is no installer that reconciles it.

The burden of making such an installer shouldn't be on ISVs. They shouldn't have to mess with scripts to determine which distro you are using, which version, which window manager, etc. They should be able to dump the program files and libraries into an isolated directory and not have to worry about dependency issues. Users should be able to install or uninstall proprietary applications with a control menu.

Distros simply aren't designed to do that. They are designed around shared library repositories. ISVs run into endless problems when working outside the repository system. Many end up just treating all the distros like individual operating systems.

This is what the end result looks like:
http://www.opera.com/download/index.dml?platform=linux

Most ISVs don't have the resources to support a dozen operating systems that only make up 1% of the market. Even those that do probably decide that porting isn't worth the effort.

Reply Parent Score: 2

MysterMask Member since:
2005-07-12


- Reduces memory use


Is this supposed to be a joke?


- Bugfixes. If a security vulnerability is fixed in a library, every app benefits without having to be updated.


Meanwhile, every app using that lib is vulnerable. Congrats!


- Yes, drive space. Many mobile devices still have root filesystem on small fast flash drive.


What a killer feature! Meanwhile, other systems like MacOSX can exist on small mobile devices quite well despite universal binaries. Of course, you can strip unwanted architectures from universal binaries.




"If you want to defend 70's tech then go ahead, but I'm sick of this
attitude by Linux advocates who believe that people who criticize Unix/Linux are stupid.


Not really stupid - rather, it's about a knee jerk reaction when leaving their comfort zone. They mostly have experience with click-and-run installers, and want the same on Linux too. And these days, we have many click-and-run installers for Linux available. There is nothing in Linux that prevents you from making them (or makes it exceedingly hard, either).
"

Fully agree with the first poster. Somehow Linux people always come up with good reasons for server or mobile devices that makes it impossible to adopt something that would be user friendly for a desktop situation - and then, they wonder why "the year of Linux on the desktop" still has not arrived ..

Reply Parent Score: 2

vivainio Member since:
2008-12-26


"
- Bugfixes. If a security vulnerability is fixed in a library, every app benefits without having to be updated.


Meanwhile, every app using that lib is vulnerable. Congrats!
"

I don't see the logic here. If there is a bug in frobbo-1.1.0 that is fixed by frobbo-1.1-1, your apps will be vulnerable until the shared library gets updated. If all your apps bundle their own copy of frobbo-1.1-0, all the apps will remain vulnerable until they ship a patch of their own.

What a killer feature! Meanwhile, other systems like MacOSX can exist on small mobile devices quite well despite universal binaries. Of course, you can strip unwanted architectures from universal binaries.


We're not talking about universal binaries here, but bundling shared libs with the apps vs. providing them centrally. Bloat caused by universal binaries is miniscule in comparison.

Fully agree with the first poster. Somehow Linux people always come up with good reasons for server or mobile devices that makes it impossible to adopt something that would be user friendly for a desktop situation - and then, they wonder why "the year of Linux on the desktop" still has not arrived ..


Universal binaries don't really make things better for desktop users - just supporting i386 is enough for that segment.

Reply Parent Score: 3