This one took me a bit to sort out:

postfix/qmgr: warning: premature end-of-input on private/smtp socket while reading input attribute name
postfix/qmgr: warning: private/smtp socket: malformed response
postfix/qmgr: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description

The first error message, "premature end-of-input on private/smtp socket", was happening simply because the Postfix SMTP client, smtp(8), wasn't running:

# pstree

init-+[...]
     |-master-+-pickup
              `-qmgr

A properly functioning Postfix master process should, instead, look something like:

init-+[...]
     |-master-+-cleanup
              |-local
              |-pickup
              |-qmgr
              |-smtp
              `-trivial-rewrite

The problem, at least in my case, turned out to be with glibc.  Specifically, with libnss_*.so.  Since I was using Slackware, I compared the glibc-2.2.5 and glibc-solibs-2.2.5 packages and found slightly different results:

$ tar xzvf glibc-solibs-2.2.5-i386-4.tgz -C /tmp
$ ls -Fla /tmp/lib/incoming/libnss*

-rwxr-xr-x    1 root     root        44728 May 21  2003 libnss_compat-2.2.5.so*
-rwxr-xr-x    1 root     root       501660 May 21  2003 libnss_db-2.2.so*
-rwxr-xr-x    1 root     root        12812 May 21  2003 libnss_dns-2.2.5.so*
-rwxr-xr-x    1 root     root        35472 May 21  2003 libnss_files-2.2.5.so*
-rwxr-xr-x    1 root     root        14580 May 21  2003 libnss_hesiod-2.2.5.so*
-rwxr-xr-x    1 root     root        36848 May 21  2003 libnss_nis-2.2.5.so*
-rwxr-xr-x    1 root     root        41480 May 21  2003 libnss_nisplus-2.2.5.so*

...versus:

$ tar xzvf glibc-2.2.5-i386-4.tgz -C /tmp
$ ls -Fla /tmp/lib/incoming/libnss*

-rwxr-xr-x    1 root     root       246622 May 21  2003 libnss_compat-2.2.5.so*
-rwxr-xr-x    1 root     root       501660 May 21  2003 libnss_db-2.2.so*
-rwxr-xr-x    1 root     root        65352 May 21  2003 libnss_dns-2.2.5.so*
-rwxr-xr-x    1 root     root       233089 May 21  2003 libnss_files-2.2.5.so*
-rwxr-xr-x    1 root     root        93366 May 21  2003 libnss_hesiod-2.2.5.so*
-rwxr-xr-x    1 root     root       288962 May 21  2003 libnss_nis-2.2.5.so*
-rwxr-xr-x    1 root     root       296515 May 21  2003 libnss_nisplus-2.2.5.so*

Quite a difference!  As I suspected, when applying the updated patches for Slackware, I ran an "upgradepkg *.tgz" to the list of downloaded files.  In a directory sort (with LC_COLLATE=C), this means that glibc-solibs-2.2.5-i386-4.tgz will install after the glibc-2.2.5-i386-4.tgz upgrade is applied.  I'm not sure what the difference in the files was due to (stripping, perhaps?), however replacing the libnss_* files with their larger counterparts resolved the issue.

Without a functioning libnss_*, you can't correctly utilize /etc/nsswitch.conf, which tells you how to parse /etc/services, /etc/protocols, etc.  Why the system worked fine with the suspect libnss_* files, I'm not certain.  But now, it works like a charm.

This was done with both Postfix 2.2.6, 2.2.8 and Glibc 2.2.5 on Slackware 8.0.