Dependencies: What you need
Wednesday, June 14, 2006
Perhaps the once thing I don't like about Linux is the myriads of dependencies you need to install programs from source. While most distros have these dependencies pre-installed, you may still need to get a few more to properly install a program. In this post, I will go over some of the most common files, programs, and libraries any Linux user should have installed. First though, lets go over what a dependency is. Basically, a dependency is a file or program that is required to install/ run another program, so the program (the one to be installed or run) is dependent upon it. "Dependencies are a package's links to other software resources that must either already be present on the host computer or be installed previously from the same package in order for the program to work correctly." (I quote a Linux Beginners Guide from PCSTATS.com)You will often find that you are missing a dependency when running the ./configure command in the processes of installing a program from source. An ERROR message will appear, explaining what you are missing or what updated version you need. Sometimes, you will even receive a link to where you can get the file(s) or program, but usually you need to find it on your own (not hard at all using Google). So, let us now go over just a few of the most commonly called upon programs and libraries (a library is a set of files that go along with a program, usually mandatory for development) when installing and running new programs.
Well, that should get you started on installing packages. If I left out any major dependencies, please leave a comment and I will update immediately! I hope this helps!
glibc
The GNU C Library provides the most important standard libraries used by nearly all programs: the standard C library, the standard math library, and the POSIX thread library. A system is not functional without these libraries. If you don't have glibc, you can't do much really. So if you don't have it installed already (very unlikely) get it from the glibc website. (direct link to download: here).Qt
Qt is a program library for developing applications with graphical user interfaces. You need to have Qt installed for almost all programs, therefore it is most always installed by default. But, if you need a new or different version of Qt, you can get it here, from Trolltech, the makers and distributors of Qt. Upgrading or installing Qt may be difficult for the inexperienced user, so make sure to read any READ-MEs, install guides, or other documentation present. Currently, a good version to have is Qt 3.3.x or greater (I use 3.3.4-28).GCC
GCC, the GNU C Compiler, is called upon by basically all programs when compiling from source. Without GCC, you would hardly be able to install any programs from source. It is also a very useful tool, being the most popular compiler for C and C++ code. Get GCC here. When installing, be sure to install binutils and glibc-devel as well, seeing as without them, GCC will not compile.GTK
This fast and versatile library is used all over the world for all GNOME applications, the GIMP, and several others. It is used to create graphical user interfaces. Most programs require GTK. Get it here.Kernel-source
Kernel-source, are, well, the Linux Kernel sources. These often contain essential Kernel headers that are very often required in installing drivers for hardware and some programs. Be sure to kernel-source installed, it is overall a very good thing to have. Installing kernel-source is different for all distros, check with your local community or documentation.Python and Python-devel
Python is a very popular programming language. The package or program "Python" is the Python interpreter, used to understand Python code and programs. Many programs are written in Python so having Python and Python-devel (the files and libraries mandatory for building python modules) is a good idea. You can download Python from the Python homepage.Make
Make is the GNU make command. Without this installed, you can't install ANY programs from source. You can visit the GNU Make homepage for more information. You can easily install make through your distro's package manager.Well, that should get you started on installing packages. If I left out any major dependencies, please leave a comment and I will update immediately! I hope this helps!