Linked by Thom Holwerda on Mon 23rd Jun 2008 16:51 UTC, submitted by sjvn
Linux Installing software on Linux. In the world of online minefields, this is the big one. Back in the day, you installed software on Linux by compiling it manually. Time-consuming, but assuming you had a decent knowledge of gcc, make, and maintaining library files, this could actually work. Later one came the package management systems that were supposed to make installing software on Linux a breeze: rpm, dpkg, and so on, and so forth. Since human beings have the innate tendency to assume that everyone else is wrong and only they are right, we are now stuck with 3453495 different Linux package managers. Denis Washington, a Fedora developer, is taking steps to resolve this issue.
Thread beginning with comment 319637
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: ...
by IkeKrull on Tue 24th Jun 2008 01:51 UTC in reply to "RE: ..."
IkeKrull
Member since:
2006-01-24

Since... forever?

Try compiling a C++ app on one linux distro and running it on another. Doesn't work, unless the distros in question track the same core debian release or something.

Try running an old linux app - say an old commercial game from Loki like Simcity 3000 or Civ CTP.

Doesn't work.

Binary compatibility just doesn't exist in the Linux world.

For all the blather about open standards, the Linux community doesn't give a crap about them when it comes to it's own core systems. e.g kernel and binary APIs

Reply Parent Bookmark Score: 4

RE[3]: ...
by leos on Tue 24th Jun 2008 03:37 in reply to "RE[2]: ..."
leos Member since:
2005-09-21

Try compiling a C++ app on one linux distro and running it on another. Doesn't work, unless the distros in question track the same core debian release or something.


Ha. Try compiling a C++ app on Windows and deploying it to another machine. Doesn't work. Unless of course you bundle all the runtime libraries for the compiler you're using into your installer. Guess what, the same thing works on Linux. Include all your dependencies with the app and binary compatibility is no problem.

The reason binary compatibility is harder on Linux is because Linux apps actually try to share libraries, instead of each app bundling everything they need and then loading X copies of it in memory. Bundling everything is easier, but not very efficient.

Reply Parent Bookmark Score: 7

RE[4]: ...
by Almindor on Tue 24th Jun 2008 07:18 in reply to "RE[3]: ..."
Almindor Member since:
2006-01-16

No, no it doesn't.

If you compile on newer distro and put it on older distro, even with all libraries, it won't work because of [gay]libc.

The problem is that you can't distribute libc itself (because the kernel API and ABI changes), but your apps/libs depend on a specific libc abi too (GLIBC_2_XX required errors).

So.. no, you don't really know what you're talking about. If you need a nice eyesore for compatibility, have a look at statfs.h file in linux. See that OFFSET define? Know what that can cause? I do.

Reply Parent Bookmark Score: 2

RE[3]: ...
by Michael on Tue 24th Jun 2008 10:43 in reply to "RE[2]: ..."
Michael Member since:
2005-07-01

Well, Mozilla Firefox, Adobe Acrobat, Macromedia Flash, Unreal Tournament 2004, Doom 3, Matlab and many more manage to be distributed as single binaries that runs anywhere.

I don't know what you're doing but as long as you're developing for at least the 2.4 kernel and a reasonably recent glibc (older versions should be available in your distro's repository) you shouldn't be having trouble.

Reply Parent Bookmark Score: 3

RE[3]: ...
by anda_skoa on Tue 24th Jun 2008 12:05 in reply to "RE[2]: ..."
anda_skoa Member since:
2005-07-07

Binary compatibility just doesn't exist in the Linux world.


Well, it does, however vendors seem to prefer using distribution and version specific ABIs over the standard one.

Unfortunate but it's their decision. If they prefer rebuilding and repackaging, e.g. for very tight integration into the system, then that's what they are going to do

Reply Parent Bookmark Score: 2