Great post
colnago. Colnago just pointed the "easy" installing and updating for linux. The truth is although you might get a lot of stuff like that, you'll eventually come along a
tar file.
Tar files are compressed files (tar stands for
tape
archive in the Unix universe) and they usually contain the
source of the program or library you want to install. BTW, the sources are the actual files containing the code in C/C++/Perl/Python/etc etc.
Enough history
... once you get the tarfile you need to uncompress it! If you're using a graphical environment, you should then have a program called "Ark" or "File Roller" (I have those in Mandrake 9.2), so right click the file and select
Actions -> Extract Here or
Ark. Both will show then a program similar to
Winzip and there you can extract the files to a directory (
~/tmp for example). Using the console, type
tar xvzf <file.tar>.
Assuming you now have the file uncompressed in the
tmp directory, the
FIRST thing you should do is
READ, not just browse the
README,
INSTALL,
BUILD,
COMPILE, etc file in there. Usually there is pretty useful info such as ./configure flags, system specific compilation flags, variables, definitions, etc... trust me, it'll save you headaches
Usually you're required 3 commands which you probably have seen in linux forums or elsewhere related:
./configure checks that you have the required libraries and sets compilation options
make actually builds the binary files (executables) from the sources
make install installs the recently compiled binaries
So
theoretically you just:
1) open a konsole
2) go to the folder if you're not there hehe
*)Tip if using konqueror file manager: once you're in the folder press
ctrl+t and you'll get a konsole right in the folder you currently are
3) log in as
superuser aka
root by typing
su and then the root password
4) type
./configure
5) type
make
6) type
make install
Troubleshooting: Of course sometimes you'll run into troubles, especially at the
./configure part because of
dependencies. Dependency problems occur when a program was built using previously written libraries that the system doesn't have installed so obviously they aren't available. If this case the
./configure command will print out something like:
libexample >= 0.2.0 required or something similar (but you get the idea).
In this case you'll have to install those libraries prior to installing the software that needs them. You should look first at the resources you have available at hand (installations cd's for example), urpmi or search the web for them.
I find it very important to note in this part that you need the libraries that read
devel, not just the "normal" ones. For example: you know you have libA installed but when you tried the
./configure it tells you it can't find libA. This is caused because the libraries installed are available to use at runtime but not for compiling which is what we need in this case. So get the package (usually an RPM) that is the same version as the one you have installed but reads
devel inside it's name and that should solve that kind of problem.
Here's the way to check which versions you have (and install new ones) using Mandrake 9.2. BTW, I'll try to stick to the graphical interface so it's more "user friendly" although a bit longer.
1) You got the error that you need libA in the
./configure
2) Go to
Kde menu/configuration/packages/remove software, in the search box type the name of the library you need. In this case
Search: libA
3a) You got a name: libA-0.2.0mdk
This means that you have the regular version of the library installed but still need the
devel version.
3b) You didn't get any search results!
Well, you need to install the normal and the
devel versions of the library.
4) Go to
Kde menu/configuration/packages/install software. In the search box type the name of the library you need. In this case
Search: libA
5a) You got some search results. Check the libA-0.2.0mdk and libA-devel-0.2.0mdk and click Install. You're set!
5b) You didn't get any results!
That means that the sources you're looking into don't have the library you need. I suggest you go to
www.rpmseek.com or browse the web for the libraries you need and remember the
devel requirement.
Wow, the post grew a bit longer that I thought it would hahaha, anyway post again if you need some more help or didn't understand something. Hope it helps