DavidSmith at byu.net
Mon Feb 14 12:00:35 MST 2005
<quote who="Kenneth Burgener">
> How compatible are RPMs? Will an RPM listed for Suse 9.1 work with Suse
> 9.2? Or how about for 7.2?
> Will an RPM made for Mandrake work for Suse? Will an RPM work on any
> system that has the same kernel version?
It mostly depends on the program inside the RPM. The RPM format is well
defined and will often interoperate between Linux distributions without a
problem. The program contained within the RPM, however, may have strict
linking requirements that may not be satisfiable on different systems.
Binary compatibility between most Linux systems is poor enough that a
program compiled for RedHat 7.2 will often not run on RedHat 7.3, though
this behavior varies with each program. I have had Debian-compiled
programs run on RH7.3 and vice versa, but it's rare for complex software
to be binary compatible like that.
Additionally, some RPMs define the version of the actual rpm program that
they require. In this case, you'll need that exact version (or newer,
usually) or the actual program /usr/bin/rpm.
Now, not to open a can of flames, but this is a point that I think the
Linux community needs to work on. I can run a game on Windows XP that was
initially written for Windows 3.1. We're talking complete with sound and
video. Now that's pretty good backwards compatibility. If I took a Linux
program from the same era and tried to run it on, say, Fedora Core 3, it
would probably segfault immediately.
More information about the PLUG