qpsmtpd Wiki


You are here: start » deploy » tcpserver


You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.


You don't have an account yet? Just get one: Register

Forgotten your password? Get a new one: Set new password



tcpserver is one of several deployment options for qpsmtpd though it is not used often now that forkserver and Apache::Qpsmtpd are available.

It turns sockets into file descriptors.

The qpsmtpd run script uses tcpserver and softlimit. Tcpserver and softlimit (included in the daemontools package) are part of a typical qmail install.

Install Notes

When installing from source on Linux, you should include errno.h if make fails with the following error:

undefined reference to `errno'

This is described at http://cr.yp.to/docs/unixport.html#errno and can be fixed with any of the following:

$ perl -pi.bak -e 's/extern int errno;/#include <errno.h>/' error.h
$ perl -pi.bak -e 's|^(gcc)|\1 --include /usr/include/errno.h|' conf-cc
$ echo gcc -O1 --include /usr/include/errno.h > conf-cc

The default conf-cc file sets the gcc optimization level to -O2 which can result in the following error when the run script is executed. This can be solved by either removing the optimization flag or setting it to -O1 in conf-cc.

$ ./run &
$ tcpserver: fatal: temporarily unable to figure out IP address for \ file does not exist


If you wish to distribute daemontools, be sure to read http://cr.yp.to/distributors.html. Be aware that the distributors.html page has been said to be incorrect and the latest conditions may not be published.