Dependencies
To use LIRC's setup.sh script you need the dialog package. It already should be installed on most systems. The setup.sh script makes configuration of LIRC much easier but using it is not obligatory.
If you want to compile and use all tools, you also need an installed svgalib (used by smode2) and the X Windows header files (needed by irxevent and xmode2). You can get svgalib from ftp://sunsite.unc.edu/pub/Linux/libs/graphics/. The configure script will notify you if some necessary files are missing and the according tools won't be compiled.
Irman (=UIR) : To use your Irman with LIRC you need the latest libirman library. At the time this has been written the current libirman version was 0.4.3. Former versions won't work. Please also read Updating from lirc-0.5.4.
Kernel modules: All devices that require a kernel module will need the properly configured kernel sources being available somewhere in /usr/src/. During the build process of this package the kernel Makefile and the current kernel configuration will be used to work around some other problems that would arise if we used our own Makefile. That means that you might have to build your own kernel which is a good idea anyway. Make sure you use the standard kernel which you can download at www.kernel.org. Don't use any kernel sources that have been modified for your distribution. For example you won't be able to compile some modules for kernels that come with S.u.S.E. 7.0. Please refer to the documentation of your distribution or read the README file in the kernel source directory to get more information on how to compile and set up an own kernel. More documentation is available at the Linux Documentation Project.
If you are still running a stock kernel that came with your distribution and don't want to compile a new kernel you can try the following. Install the kernel sources package of the currently running kernel. Most distributions provide rpm/deb packages of their stock kernels. Double-check that you selected the correct kernel sources. Now make sure that there is a file called .config in the root directory of the kernel source tree. This file holds the configuration used to compile this kernel. If it is not available and you can't get it from a different source (/boot/config-version (Debian), /proc/config.gz (SuSE) or /usr/src/linux-version/configs/ (Red Hat) are good places to look into) you are out of luck and will have to configure and compile your own kernel. Otherwise call make oldconfig && make dep inside the root directory of the kernel source tree. After that you should be able to compile the LIRC modules without problems. Just make sure that the configure script for the LIRC package picked the correct kernel source directory. But be aware that there might still be some problems due to incompatible extensions of the distribution kernels as mentioned in the last paragraph. There are even more pitfalls. The modules should be compiled with the same compiler version. Otherwise you might see strange lockups and kernel oopses. Another problem might be that some distribution vendors also modify the kernel version variables inside the Makefile of the kernel and e.g. add something like custom to the EXTRAVERSION variable. This will result in the modules being installed in the wrong directory. In such cases it is common practice to remove the custom string before proceeding with kernel compilation. This has been only a list of known problems. If you run into such problems I won't be able to help you, so don't even ask.
If you want to use a home-brew receiver, an Anir Multimedia Magic, a Packard Bell receiver, the IRdeo or if you want to use the SIR IrDA driver, I suggest that you compile the Linux kernel serial port driver as a module (however, you can choose not to do so if you use setserial properly, see below). The according kernel option that should be set to M is Standard/generic (dumb) serial support (resp. Standard/generic (8250/16550 and compatible UARTs) serial support for 2.4 kernels) in the Character devices section of the kernel configuration dialogue. Usually the serial port driver grabs all ports it auto-detects as soon as it is loaded and the LIRC modules won't be able to use any of them.
There are two solutions for this problem. Either you load the LIRC module before the kernel serial port driver is loaded (that's why you have to compile it as a module) or you call setserial /dev/ttySx uart none to release the according port. setserial usually is already called during boot-up in some init script whose location depends on the distribution you use. Be aware that setserial might also be the cause of trouble. The reason for this is a kernel bug (known to be true for 2.2.20, patches are on the way). If you tell setserial to configure a port that is already claimed by a LIRC module, the kernel serial driver will steal the port from the LIRC module and LIRC will stop working. So check your setserial configuration to only configure available ports. Debian users should adjust their /etc/serial.conf.
TV cards: To use any remote control receivers connected directly to a bttv based TV card you will need a working bttv setup in your kernel. For most TV cards we rely on bttv autodetection. That way you don't have to give any parameters to the module as they are selected internally depending on the information the bttv module gives us. This means that you should pay attention that your TV card is detected correctly by bttv.
Technisat MediaFocus I: You will have to install the driver for this card.