LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 12-23-2005, 09:56 PM   #1
zeevolking
LQ Newbie
 
Registered: Dec 2005
Posts: 5

Rep: Reputation: 0
Arrow Installation: Source vs RPM


I've been using Suse 10 everyday for about 2 weeks now. I think i'm finally comfortable with linux (it doesn't seem so weird as when I first started). I'm using it as my home desktop OS (and pretty much everything else).
Installing programs, I noticed theres basically 2 paths to choose from, either compile from source, or install from rpm. RPM to me seems to be much more organized and easier to manage, especially with YAST. I did a couple installs from source, and though the program works perfectly, I have no idea where everything installed to, or how to remove it from my system.
What do you guys think about source and/or rpm installs ? Should I compile from source, or use RPM, or a combo of both ? How do I manage source installs ? Are there any other routes ? Basically I want to be in control of my system, I want to be able to know whats installed, and be able to update/remove it if necessary. I'm not sure if its related to all my source installs that i've done, but certain parts of my gnome launcher are failing to work now (I click them, yet nothing happens [ex: I click yast2 launcher and nothing happens, so I must open up a command terminal, make myself root, and type "yast2" to launch YAST).

Whats your opinion on installing from source, rpm, or "other"?
 
Old 12-23-2005, 11:47 PM   #2
Cirdan
Member
 
Registered: Nov 2005
Distribution: Arch Linux
Posts: 84

Rep: Reputation: 15
Building packages allows you to patch them as soon as a patch or a fix releses..instead of waiting till someone makes an installer. Also...when compiling packages...they are usualy installed to /usr/bin or /usr/local/bin. It mostly depends what kind of program it is. If it is a system specific, where only root can run it, it's probably in /sbin or /usr/sbin.
 
Old 12-24-2005, 09:06 AM   #3
bigrigdriver
LQ Addict
 
Registered: Jul 2002
Location: East Centra Illinois, USA
Distribution: Debian stable
Posts: 5,908

Rep: Reputation: 356Reputation: 356Reputation: 356Reputation: 356
The problem with rpms is that you can't always find a .rpm or .src.rpm for the app you want.

The problem with source installs is that you can't update or upgrade a source installation unless you can find diffs or patches for the particular app.

Enter stow and epkg. Both work in much the same way. They create a directory in /usr/local (called stow or encap, depending on which you use). When invoked to install a source package, a folder is created under /usr/local/encap/<packagename>, and the entire contents are installed there, then symlinked to the normal installation locations.

Source packages can be upgraded by downloading the upgrade source and installing in the same way. Stow and epkg will detect the existing installation, and upgrade it to the new version. No parallel installations.

Removing the app is as easy as deleting the folder and its contents.

They also include a command to chase down and remove the symlinks.
 
Old 12-24-2005, 10:16 AM   #4
clinux_rulz
Member
 
Registered: Nov 2005
Distribution: Gentoo
Posts: 51

Rep: Reputation: 16
You can actually do a proper uninstall from the source code. You may not have noticed, but for the Windows binary uninstalls, Windows keeps the installer program and reuses it for the uninstall. The same thing is done with the linux installs from the source code.

To install:

>> su
Password:
>> cd /usr/src
>> cp ~thatsme/downloads/crazy-code.tar.gz .
>> tar -xvzf crazy-code.tar.gz
>> cd crazy-code
>> ./configure
>> make
>> make install
>> exit

To uninstall:

>> su
Password:
>> cd /usr/src/crazy-code
>> make uninstall
>> cd ..
>> rm -rf crazy-code crazy-code.tar.gz
>> exit

I'm not sure if you install the same way I do it, but I'm sure what ever your using can uninstall source code installs too.

Note: using "make uninstall" does not require you to figure out where things went.

The main trade off between source vs binary installs is that, source install take longer but are more suited to your machine and processes (MMX support and stuff), and binary installs are quicker but are more suited to a generic machine that most processes amongst other things can handle.

I recommend using source. And if you do not like compiling source, then use the source rpms (crazy-code-source.rpm). The source rpms will be source code with the simplicity of installation/uninstallation of rpms.

Last edited by clinux_rulz; 12-24-2005 at 10:21 AM.
 
Old 12-24-2005, 10:52 AM   #5
clinux_rulz
Member
 
Registered: Nov 2005
Distribution: Gentoo
Posts: 51

Rep: Reputation: 16
It is generally easier to find diffs and patches for source code distributions too, but too upgrate you must uninstall as shown in my last post, then apply the diff file to the crazy-source.tar.gz, and then install again.

If you where to look at projected on source forge you might find that the diff files are mainly for the source packages and not the binary ones.

Last edited by clinux_rulz; 12-24-2005 at 10:54 AM.
 
Old 12-24-2005, 12:38 PM   #6
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
Source is superior as far as I'm concerned. Plus something oft overlooked is checkinstall ( http://asic-linux.com.mx/~izto/checkinstall/ ) which will create a package for your system (either rpm, deb, or tgz (slackware)) which can then be uninstalled in the usual fashion for that sort of package. Once installed, you create packages using:
Code:
./configure (where applicable - not all sources have configure scripts)
make
checkinstall (as root, to create a package)
then either:
rpm -i packagename.rpm
dpkg -i packagename.deb
installpkg packagename.tgz
The single biggest advantage of compiling from source is that dependencies are easier to settle. For example, if an rpm was compiled against library foo.so version 3.1 then you will need EXACTLY foo.so version 3.1 on your computer to satisfy that dependency. If you compile from source though, it will just check that the version of foo.so on your computer is AT LEAST a particular version.
 
Old 12-24-2005, 10:30 PM   #7
GUIPenguin
Member
 
Registered: Aug 2004
Location: Maine
Distribution: Gentoo Linux
Posts: 239

Rep: Reputation: 30
I use source.. as I run gentoo on everything from my LTSP servers to web and file servers, to my laptop and desktop where I watch my dvds on. I like to think of everything this way.. If your going to be running linux on your system.. build it for YOUR system and not just some generic x86. My linux systems run a hellofa lot faster then a generic suse or fedora install, even with full media and guis. Also source is nice because you can append -- and other stuff along with build options when you configure it.. but installing program source code through a gui?...to..touchy feely..
 
  


Reply



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 On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
'rpm' problems. Devyn Linux - Software 2 01-02-2006 08:38 PM
Glib update problem in RH8. RPM rependy problems? sbassi Red Hat 1 12-23-2005 01:47 PM
libstdc++ problem, 'rpm' also doesnt work :( _UnPrEdictAbLe_ Linux - Software 3 08-15-2005 02:40 AM
Idiot's guide to installing 'linux-source.src.rpm' in SuSE 9.1 personal needed! ZephyrAnima Linux - Newbie 1 08-12-2004 11:28 AM
'make rpm' problems Flarfu Fedora 1 12-21-2003 04:43 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 12:35 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
Open Source Consulting | Domain Registration