This document is probably only of historical value, because Ultrix version 4 dates from the early 1990s. However, as long as Wietse keeps Postfix alive for SunOS 4, it is likely to run on Ultrix 4 with very little change. Feedback is welcome if anyone actually still uses Postfix on any version of Ultrix.
The source of this document is an email message by Christian von Roques that was sent on Jun 2, 1999.
I've upgraded the MTA of our DECstation-3100 running Ultrix4.3a to postfix-19990317-pl05 and am sending you the patches I needed to get it running under Ultrix.
. . .
One of the bugs of Ultrix's /bin/sh is that shell-variables set in arguments of `:' expand to garbage if expanded in here-documents. Using a different shell helps. I needed to replace all calls of ``sh .../makedefs'' by ``$(SHELL) .../makedefs'' in all the Makefile.in and am now able to use ``make SHELL=/bin/sh5'' or zsh.
. . .
Ultrix's FD_SET_SIZE is 4096, but getdtablesize() returns 64 by default, if not increased when building a new kernel. getrlimit() doesn't know RLIMIT_NOFILE. This makes event_init() always log the warning: `could allocate space for only 64 open files'.
I just reduced the threshold from 256 to 64, but this is not good. The initial problem still remains: How to disable this warning on Ultrix without making the source ugly?
To work around the first problem, all the Makefile.in files have been updated to use `$(SHELL)' instead of `sh'. So you only need to supply a non-default shell in order to eliminate Ultrix shell trouble.
To work around the latter, util/sys_defs.h was updated for Ultrix, with a default FD_SETSIZE of 100. This should be sufficient for a workstation. Even in 1999, no-one would run a major mail hub on Ultrix 4.