LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 05-25-2005, 11:17 AM   #1
stefandwebb
LQ Newbie
 
Registered: May 2005
Posts: 4

Rep: Reputation: 0
Why are RPM's for different distros incompatible?


Hi,
After switching over to Linux I've discovered that whenever I want to get a piece of software, I need to get an RPM made for my distribution. Why is that? Is it because they install the files in different places, or expect files to be in a certain place (which changes from distribution to distribution)?

Is it possible that an installer could detect your distro and make some changes to the installation so that one program needed only one installation file to install correctly on all distros of Linux?
 
Old 05-25-2005, 11:31 AM   #2
rose_bud4201
Member
 
Registered: Aug 2002
Location: St Louis, MO
Distribution: Xubuntu, RHEL, Solaris 10
Posts: 929

Rep: Reputation: 30
Yes, it is possible - that ever-changing package is what installing from source is. The 'configure' script allows the installer to read the particular options for your system and customizes its make script on the spot, so when you run make && make install, everything works nicely

The problem with RPM's is they're precompiled binaries - so yes, unless your system is exactly alike to the system it was compiled on, the RPM is going to have problems. That's also the reason RPM's have more dependancy problems than source installs usually give you - unless your system is exactly alike, and unless each dependancy has been installed exactly the same, sometimes right down to the version that was installed the installer will fail (and probably messily).

HTH!

Last edited by rose_bud4201; 05-25-2005 at 11:32 AM.
 
Old 05-25-2005, 11:34 AM   #3
camorri
LQ Veteran
 
Registered: Nov 2002
Location: Somewhere inside 9.9 million sq. km. Canada
Distribution: Slackware 14.1, 14.2
Posts: 5,301

Rep: Reputation: 573Reputation: 573Reputation: 573Reputation: 573Reputation: 573Reputation: 573
I believe the answer has much more to do with pre-req's of other components not included in the RPM.

Say for example you want to install application ABC.rpm. It may need a lib file at a level to work properly , or at all. When the builder of the RPM package builds it for your distro, that person resolves all those issues. A RPM for another distro has different levels of various libs.

BTW, you may find some RPMS for other distros will install and work. I have done this for some allocations, but there is no way of knowing if it will work until you try it.

This is why most distros have some method of installing their packages, like get-apt or urpmi.
 
Old 05-25-2005, 12:32 PM   #4
stefandwebb
LQ Newbie
 
Registered: May 2005
Posts: 4

Original Poster
Rep: Reputation: 0
so do you think it's possible to make a non-rpm binary installer format that would work on all distributions?
 
Old 05-25-2005, 12:43 PM   #5
gerrit_daniels
Member
 
Registered: Oct 2003
Location: Belgium
Distribution: Kubuntu
Posts: 34

Rep: Reputation: 15
The autopackage project does this. But there aren't many programs that use it.

Hope this helps
 
Old 05-25-2005, 01:08 PM   #6
rose_bud4201
Member
 
Registered: Aug 2002
Location: St Louis, MO
Distribution: Xubuntu, RHEL, Solaris 10
Posts: 929

Rep: Reputation: 30
Quote:
so do you think it's possible to make a non-rpm binary installer format that would work on all distributions?
...Perhaps. autopackage is good, statically linked binaries are better, various distros's methods of installation is better yet although it sacrifices the 'universal' aspect of things. Installation from souce is (IMNSHO) best, although if the makefile doesn't come with an uninstall command uninstalling the application is a major pain.

Unless linux as an OS becomes a heck of a lot more standardized, which I think would sort of suck, universal binaries are going to be hard to come by.

Last edited by rose_bud4201; 05-25-2005 at 01:10 PM.
 
Old 05-25-2005, 01:46 PM   #7
Mega Man X
LQ Guru
 
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,339

Rep: Reputation: 64
It can work fine using one RPM from one distribution into another. I've done that thousands of times with emulators and never had one problem whatsoever. Most "purists" would say otherwise, but I found it to work just fine, as long as the distro package you are trying to install is "older" then the distro you are running. For example, one package made for Redhat 8.0, most likely will work with Redhat 9.0. The other way around most likely won't work. So, one package made for Redhat 8.0, most likely will work also with Mandrake 9.0 or SuSE 8.2.

If you just "have to" install that .rpm and it's made for another distribution, I'd give a shot if I was you. It's not that anything will explode (I guess), so if it goes wrong, simply uninstall the rpm
 
Old 05-25-2005, 02:27 PM   #8
jtshaw
Senior Member
 
Registered: Nov 2000
Location: Seattle, WA USA
Distribution: Ubuntu @ Home, RHEL @ Work
Posts: 3,892
Blog Entries: 1

Rep: Reputation: 67
It is a dependency issue more so then anything else.

If you have an rpm made for Fedora Core 3 for instance, it might depend on the glibc-2.3.406.rpm file included in FC3 (version number was picked at random for the example). If I install it on Suse which has glibc-2.3.408 installed it is possible it will still work, it is also possible that it won't because Suse doesn't include the RedHat modifications to glibc that FC3 does. It may also simply refuse to install because it doesn't find the version of glibc that it was looking for.

The reason why this problem isn't an issue for Windows is you can be sure of the state of the system libraries, since only one entity distributes Windows.

Static linking causes significant disk space wastage since instead of just having one copy of the binary code for a particular library on your system you'd have a copy of that binary code embedded into every single binary that utilizes it.
 
Old 05-25-2005, 02:50 PM   #9
gerrit_daniels
Member
 
Registered: Oct 2003
Location: Belgium
Distribution: Kubuntu
Posts: 34

Rep: Reputation: 15
Quote:
Static linking causes significant disk space wastage since instead of just having one copy of the binary code for a particular library on your system you'd have a copy of that binary code embedded into every single binary that utilizes it.
It's even worse. If multiple programs that use the same library run at the same time, then that library is loaded into memory more then once. So on top of wasting disk space it also wastes memory.
 
Old 05-25-2005, 02:51 PM   #10
jtshaw
Senior Member
 
Registered: Nov 2000
Location: Seattle, WA USA
Distribution: Ubuntu @ Home, RHEL @ Work
Posts: 3,892
Blog Entries: 1

Rep: Reputation: 67
Quote:
Originally posted by gerrit_daniels
It's even worse. If multiple programs that use the same library run at the same time, then that library is loaded into memory more then once. So on top of wasting disk space it also wastes memory.
Yep yep, that is very true as well.
 
Old 05-25-2005, 06:05 PM   #11
Jimbo99
Member
 
Registered: Nov 2003
Distribution: Ubuntu 7.04
Posts: 241

Rep: Reputation: 31
Megaman X is more right than any of the others although they are all right to some degree.

No rpm will install without hickups unless the dependencies are met, unless you force the install. There are other contributing factors such as the location of the files, not just the files, in some cases. In others it won't matter.

This is precisely why RPMs are so inferior to other ways such as those on Windows. Keep in mind that back 15 years ago Windows had a significant DLL hell issue but those have mostly been worked out so it is a rare thing to encounter a system that has problems due to those types of problems.

Under linux those exist in spades. It is my opinion that the dependency issue and installation problems surrounding them are one of the sole things that have kept linux from gaining the ground on the desktop that it should own (given any product that is 10 years old). This is not to say that 10 years old makes it a bad product, but to say that after 10 years these issues should have been worked out. The customer suffers.

Under windows today a person can install a program with a few clicks of a mouse and uninstall them as well. It is rarely ever the case they are told they can't continue unless X or Y product are installed first. No matter which verions of Windows you have you can install virtually any product within reason. For instance, with the eleven year old Win95 you can still install products that were designed in the age of WinXP and vice-versa.

This is due to the fact that the installers simplify the issue significantly. They take care of alot of the dependency checks. What's nice is that Windows is very standardized in where files are put so anyone trying to install knows where to look and what to do, whereas in linux things can be in many different locations depending on which distro and which revision of the distro.

If linux were to adopt a universal distro installer that accounted for all these variations and were capable of adjusting to new distros by searching the system, the developers could write to it and create installers that eliminated the stress and unhappiness that currently exists in the linux world. This is not to say that the develpers and gurus are not happy. I'm sure they are. But I'm also sure that they don't think about the concerns of the newbie user to 1) computers or 2) linux.

Things have come a long way and having on-line repositories have helped except it demands that anyone wanting to take advantage of them must have a high speed connection, which just isn't realistic. As well, it depends on the party maintaining the repository to have the stuff you are looking for which is highly unlikely except for the most generic of stuff.

The whole concept of ./configure, make and make install are so antiquated and dated that it is an insult to any computer user with even a modicum of intellect. This is a dated concept and it needs to be completely removed from the whole of the linux world with the exception of the use by developers. NO product should be distributed with this in mind and there should always be 100% self installable versions of the pre-compiled binaries available with each source package for every distro and every revision of every distro.

Developers believe this is unrealistic but it is, in fact, their view that is unrealistic and that needs to change. It is my opinion that the concept of ./configure, make and make install has caused the world of linux to grow at a miserable pace on the desktop.

BTW, I use linux for everything and I can still remember what it means to be a new user of linux as I don't forget easily. Being someone that has worked in the windows world for nearly 20 years I can also tell you that we had the same problems way back only to a much lesser degree even though windows and dos had a significantly larger userbase than linux has today.
 
Old 05-26-2005, 12:37 AM   #12
DJOtaku
Member
 
Registered: Oct 2004
Location: USA
Distribution: Fedora 25;CentOS 7; Kubuntu; Debian
Posts: 847

Rep: Reputation: 35
I agree with you. Especially since compiling can take forever vs a binary install. However, I feel there is room for both. With compiling you can set flags and customize your install more than you can in windows. With binaries you can have a working program in a few minutes.

As far as a single standard. I believe a lot of the major companies are working towards that. They have joined a consortium to work out their differences and should have a more standard Linux within a few product generations. Of course those who wish to have a totally customized experience can still use gentoo or one of the other do-it-yourself distros
 
Old 05-29-2005, 04:07 PM   #13
mhearn
LQ Guru
 
Registered: Nov 2002
Location: Durham, England
Distribution: Fedora Core 4
Posts: 1,565

Rep: Reputation: 47
The autopackage FAQ talks about this subject (why RPMs aren't multi-distro).

Basically, making them multi-distro is really hard, and so nobody does it. Autopackage was written to solve this problem.
 
Old 05-30-2005, 11:50 AM   #14
stefandwebb
LQ Newbie
 
Registered: May 2005
Posts: 4

Original Poster
Rep: Reputation: 0
Yeah, I've checked out the Autopackage project and it looks really promising. I hope they get some more support to make it work with KDE apps... Once they've fixed up these basic problems I think it could really take off!
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Can I use rpm's from other distros? yekrahs SUSE / openSUSE 9 11-14-2005 03:42 AM
BIOS incompatible with linux ???? JosMuysers Linux - Hardware 2 08-22-2005 01:58 PM
Are source RPM's and binary RPM's installed the same way? Simon Adebisi Linux - Software 3 06-28-2005 04:45 AM
On KDE-centric distros and 686 distros, what you think? mebrelith Linux - Distributions 4 03-23-2005 02:09 PM
yahoo incompatible? Brain Drop General 3 09-02-2003 09:05 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 01:27 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration