If you have glibc-2.3.1 then none of the software written by djb will compile because of an incompatible declaration of errno. Here you can find patches correcting this problem, and source rpms which use these patches. To use the patches ================== From the top distribution directory, apply the appropriate errno patch with -p1. So, for example, for djbdns, you would do tar zxvf djbdns-1.05.tar.gz cd djbdns-1.05 patch -p1 < /path/to/djbdns-1.05.errno.patch In case of daemontools, you need the following adjustment: tar zxvf daemontools-0.76.tar.gz cd admin/daemontools-0.76 patch -p1 /path/to/daemontools-0.76.errno.patch In case of ezmlm, the errno patch is incorporated into ezmlm-idx-0.53.400.unified_41.patch. You apply this patch after you applied the idx.patch as follows: mv ezmlm-idx-0.40/* ezmlm-0.53 cd ezmlm-0.53 patch < idx.patch patch -p1 < /path/to/ezmlm-idx-0.53.400.unified_41.patch Notes ----- ucspi-tcp: in addition to the errno patch, there are two additional patches, nobase patch and a_record patch. The nobase patch is needed because if no -r is specified to rblsmtpd, it is trying to use the "original" MAPS domain, which is not available freely anymore. qmail: In addition to the errno patch, the so called qmail_local patch is also available which corrects a small typo in the qmail-local.c file. To use the (src)rpms ==================== Just type rpmbuild --rebuild `package'.src.rpm to build the binary rpm. So for example for daemontools, you would do rpmbuild --rebuild daemontools-0.76-3patch.src.rpm The main exception is qmail. In this case, you do these steps 1) rpmbuild --rebuild var-qmail-create-1.03-110patch_14_15.src.rpm This compiles qmail, and packages the resulting binaries into the binary rpm, var-qmail-create-1.03-110patch_14_15.i386.rpm The important thing is that the qmail users are not yet added---so for example, you do not even have to do the above rebuild as a superuser. 2) Now do rpm -Uvh var-qmail-create-1.03-110patch_14_15.i386.rpm This installs the qmail binary tarball (which contains the qmail binaries) and a spec file (in the rpm SOURCE and SPEC directories, respectively). You will be told about the name of the spec file; it is var-qmail_14_15.spec 3) rpmbuild -ba var-qmail_14_15.spec This edits the qmail binaries for the qmail uids/gids in your system (or adds the qmail users/groups if they do not yet exist), and creates the binary rpm you want to install on your system. This binary rpm is called qmail-1.03-110patch_14_15.i386.rpm 4) rpm -Uvh qmail-1.03-110patch_14_15.i386.rpm qmail is now installed on your system. This binary rpm is usually not suitable to install on other machines since the qmail uids might be different. On the other hand, you can use the created src rpm; on a new machine (same system though), you can issue rpmbuild --rebuild qmail-1.03-110patch_14_15.src.rpm and then install the binary rpm. So if you have a bunch of, say, RH 8.1 Linux boxes, then build qmail-1.03-110patch_14_15.src.rpm as described above, and use this rpm to install qmail on each of the boxes. If the qmail users are the same on each box as on the build box, then you can install qmail-1.03-110patch_14_15.i386.rpm directly. Note ---- The reason for these weird _14_15 extensions is that this patched qmail rpm is created by a var-qmail spec kit which allows to choose from 15 patches to patch qmail---the patches we need here are #14 nad #15. See more about this spec kit in /pub/qmail/qmail-patches.