Qpopper 4.0.16 Upgrade on a Solaris 5.7 System

For anyone who might be encountering problems building Qpopper or other software on a Solaris system and seeing a checking size of unsigned long int... configure: error: cannot compute sizeof (unsigned long int), 77 error message at the configure stage or seeing ld: fatal: Symbol referencing errors at the make stage, try running configure with CFLAGS=-gstabs+, i.e. try ./configure CFLAGS=-gstabs+. Since Solaris uses shadow passwords, you should also use the --enable-specialauth option as well, i.e. use the following configure command:

./configure --enable-specialauth CFLAGS=-gstabs+

Otherwise, Qpopper won't likely accept an account's password when you try to download email. Using those options at the configure step allowed me to resolve issues I was having installing Qpopper 4.0.16 on a Solaris 5.7 system.

I've included everything I did while working on the problem below for my own future reference and in case it might help someone else encountering the same or similar problem who is searching for webpages with information on the problem.

I was notified of a security vulnerability related to Qpopper on a Sun SPARC system running Solaris 5.7, which was detected during Foundstone security scanning of the network on which the system resided. I checked the version of qpopper currently on the system by connecting to the POP3 port, which is port 110, on the server. I saw a banner indicating the version was 4.0.5

# telnet 127.0.0.1 110 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. +OK Qpopper (version 4.0.5) at taiyou1.example.com starting. <27561.1238007666@example.com>

I wasn't sure where the executable files for qpopper were on the hard drive for qpopper or what other files associated with the software were on the system. I found popper and popauth in /usr/local/sbin.

# ls -l /usr/local/sbin/pop*
-rwsr-xr-x   1 pop      root       35968 Mar 26  2003 /usr/local/sbin/popauth
-rwxr-xr-x   1 root     other     143336 Mar 26  2003 /usr/local/sbin/popper
# /usr/local/sbin/popper -v
Qpopper version 4.0.5 (non-standalone)
# /usr/local/sbin/popauth -version
/usr/local/sbin/popauth v4.0.5

I also found a popauth file in /usr/local/lib.

# ls -l /usr/local/lib/pop*
-rwsr-xr-x   1 pop      other     195716 Apr  5  2001 /usr/local/lib/popauth

I found the man files in /usr/local/man/man8.

# ls -l /usr/local/man/man8/pop*
-rw-r--r--   1 root     other       2211 Mar 26  2003 /usr/local/man/man8/popaut
h.8
-rw-r--r--   1 root     other      21370 Mar 26  2003 /usr/local/man/man8/popper
.8

I found popauthd in /usr/local/libexec/popauthd.

# ls -l /usr/local/libexec/popauthd
-rwxr--r--   1 root     other       2411 Mar 19  2003 /usr/local/libexec/popauth
d

The popauthd daemon is being run from /etc/init.d/popauthd.

# ls -l /etc/init.d/pop*
-rwxr--r--   2 root     other        122 Aug 14  2002 /etc/init.d/popauthd

The file contains the following lines:

pauthd.sh

[ -x /usr/local/libexec/popauthd ] && { 
        /usr/local/libexec/popauthd &
        echo -n ' popauthd'
}

I had also placed the following lines in /etc/inetd.conf back in 2001 when I set up the system.

# Post Office Protocol - added 4/05/01 by JMC
# The "-s" option enables statistics logging.  After each session ends,
# a statistics record is written to the log, which contains the username,
# deleted msgs, deleted octets, msgs left on server, octets left on server,
# the name of the client machine, and the IP address of the client machine.
# The "-p 2" option specifies the clear text handling option when APOP
# is available.  The "2" indicates that clear text passwords are always
# permitted (even if an APOP entry exists).
pop3 stream tcp nowait root /usr/local/sbin/popper qpopper -s -p 2

There are also files in /etc associated with APOP authorization.

# ls -l /etc/pop*
-rw-------   1 pop      other          0 Apr  5  2001 /etc/pop.auth
-rw-------   1 pop      pop            0 Apr  5  2001 /etc/pop.auth.dir
-rw-------   1 pop      pop         1024 Jul  6  2007 /etc/pop.auth.pag
-rw-------   1 pop      other         15 Apr  5  2001 /etc/pop.noauth
To address the security vulnerability, I downloaded the latest version of Qpopper from Qualcomm's ftp site or from a mirror site.

I decompressed the downloaded file and extracted its contents.

# gunzip qpopper4.0.16.tar.gz
# tar -xvf qpopper4.0.16.tar
x qpopper4.0.16, 0 bytes, 0 tape blocks
x qpopper4.0.16/conf.h, 560 bytes, 2 tape blocks
x qpopper4.0.16/config.h.in, 16132 bytes, 32 tape blocks
x qpopper4.0.16/configure, 335346 bytes, 655 tape blocks
x qpopper4.0.16/configure.in, 49931 bytes, 98 tape blocks
x qpopper4.0.16/GUIDE.pdf, 379729 bytes, 742 tape blocks
x qpopper4.0.16/install-sh, 5603 bytes, 11 tape blocks
x qpopper4.0.16/License.txt, 8011 bytes, 16 tape blocks
x qpopper4.0.16/Makefile.in, 2611 bytes, 6 tape blocks
x qpopper4.0.16/misc.h, 360 bytes, 1 tape blocks
x qpopper4.0.16/README, 2135 bytes, 5 tape blocks
x qpopper4.0.16/update-copyright, 815 bytes, 2 tape blocks
x qpopper4.0.16/common, 0 bytes, 0 tape blocks
x qpopper4.0.16/common/check_group.c, 1638 bytes, 4 tape blocks
x qpopper4.0.16/common/flock.c, 2393 bytes, 5 tape blocks
x qpopper4.0.16/common/flock.h, 863 bytes, 2 tape blocks
x qpopper4.0.16/common/logit.c, 5877 bytes, 12 tape blocks
x qpopper4.0.16/common/logit.h, 1727 bytes, 4 tape blocks
x qpopper4.0.16/common/maillock.c, 24976 bytes, 49 tape blocks
x qpopper4.0.16/common/maillock.h, 2186 bytes, 5 tape blocks
x qpopper4.0.16/common/Makefile.in, 2961 bytes, 6 tape blocks
x qpopper4.0.16/common/sieve_lock.c, 1538 bytes, 4 tape blocks
x qpopper4.0.16/common/sieve_lock.h, 262 bytes, 1 tape blocks
x qpopper4.0.16/common/snprintf.c, 13494 bytes, 27 tape blocks
x qpopper4.0.16/common/snprintf.h, 1032 bytes, 3 tape blocks
x qpopper4.0.16/common/string_util.c, 6259 bytes, 13 tape blocks
x qpopper4.0.16/common/string_util.h, 1288 bytes, 3 tape blocks
x qpopper4.0.16/common/utils.c, 3119 bytes, 7 tape blocks
x qpopper4.0.16/common/utils.h, 1584 bytes, 4 tape blocks
x qpopper4.0.16/doc, 0 bytes, 0 tape blocks
x qpopper4.0.16/doc/Changes, 22849 bytes, 45 tape blocks
x qpopper4.0.16/doc/LMOS-FAQ.html, 6119 bytes, 12 tape blocks
x qpopper4.0.16/doc/mac, 1786 bytes, 4 tape blocks
x qpopper4.0.16/doc/README.Berkeley, 13626 bytes, 27 tape blocks
x qpopper4.0.16/doc/Release.Notes, 42848 bytes, 84 tape blocks
x qpopper4.0.16/doc/rfc1939.txt, 47018 bytes, 92 tape blocks
x qpopper4.0.16/doc/rfc2449.txt, 35516 bytes, 70 tape blocks
x qpopper4.0.16/doc/guide, 0 bytes, 0 tape blocks
x qpopper4.0.16/doc/guide/Qpopper.book, 57344 bytes, 112 tape blocks
x qpopper4.0.16/doc/guide/%Qpopper.book, 94 bytes, 1 tape blocks
x qpopper4.0.16/doc/guide/Qpopper.fm, 294224 bytes, 575 tape blocks
x qpopper4.0.16/doc/guide/Qpopper.IX.fm, 98304 bytes, 192 tape blocks
x qpopper4.0.16/doc/guide/%Qpopper.IX.fm, 94 bytes, 1 tape blocks
x qpopper4.0.16/doc/guide/Qpopper.TOC.fm, 74752 bytes, 146 tape blocks
x qpopper4.0.16/doc/guide/%Qpopper.TOC.fm, 94 bytes, 1 tape blocks
x qpopper4.0.16/doc/guide/Qpopper_cover.fm, 177258 bytes, 347 tape blocks
x qpopper4.0.16/man, 0 bytes, 0 tape blocks
x qpopper4.0.16/man/popauth.8, 2211 bytes, 5 tape blocks
x qpopper4.0.16/man/poppassd.8, 2547 bytes, 5 tape blocks
x qpopper4.0.16/man/popper.8, 21801 bytes, 43 tape blocks
x qpopper4.0.16/mmangle, 0 bytes, 0 tape blocks
x qpopper4.0.16/mmangle/charmangle.c, 15171 bytes, 30 tape blocks
x qpopper4.0.16/mmangle/charmangle.h, 769 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/enriched.c, 9741 bytes, 20 tape blocks
x qpopper4.0.16/mmangle/enriched.h, 1396 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/etags.c, 6517 bytes, 13 tape blocks
x qpopper4.0.16/mmangle/etags.gperf, 2213 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/lineend.c, 658 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/lineend.h, 1223 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/Makefile.in, 2611 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/mangle.c, 32859 bytes, 65 tape blocks
x qpopper4.0.16/mmangle/mangle.h, 1758 bytes, 4 tape blocks
x qpopper4.0.16/mmangle/mime.c, 39711 bytes, 78 tape blocks
x qpopper4.0.16/mmangle/mime.h, 14420 bytes, 29 tape blocks
x qpopper4.0.16/mmangle/mkfile, 1009 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/README, 5640 bytes, 12 tape blocks
x qpopper4.0.16/mmangle/striphtml.c, 30765 bytes, 61 tape blocks
x qpopper4.0.16/mmangle/striphtml.h, 4646 bytes, 10 tape blocks
x qpopper4.0.16/mmangle/testhtml.c, 1757 bytes, 4 tape blocks
x qpopper4.0.16/mmangle/testj.c, 2206 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/testjig.c, 2417 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test, 0 bytes, 0 tape blocks
x qpopper4.0.16/mmangle/test/1847, 1060 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/1847++, 4749 bytes, 10 tape blocks
x qpopper4.0.16/mmangle/test/1847++.out, 249 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/1847.out, 214 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/2047, 578 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/2047-real, 4461 bytes, 9 tape blocks
x qpopper4.0.16/mmangle/test/2047-real.out, 210 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/2047.out, 221 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/822, 1483 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/822.out, 501 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/822long, 2175 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/apple-single, 4009 bytes, 8 tape blocks
x qpopper4.0.16/mmangle/test/apple-single.out, 201 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/bad-mime, 2428 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/bad-mime.out, 283 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/binary, 3254 bytes, 7 tape blocks
x qpopper4.0.16/mmangle/test/binary.out, 2828 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/binhex, 3900 bytes, 8 tape blocks
x qpopper4.0.16/mmangle/test/binhex.out, 221 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/charset, 2800 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/charset.out, 2316 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/e.out.html, 1135 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/enriched, 1499 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/enriched-excerpt, 3777 bytes, 8 tape blocks
x qpopper4.0.16/mmangle/test/enriched-excerpt.out, 2813 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/enriched.out, 684 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/etags, 7480 bytes, 15 tape blocks
x qpopper4.0.16/mmangle/test/eudora1, 13549 bytes, 27 tape blocks
x qpopper4.0.16/mmangle/test/eudora1.out, 366 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/fwd-html, 165490 bytes, 324 tape blocks
x qpopper4.0.16/mmangle/test/fwd-html.out, 535 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/html, 536 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/html.out, 260 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/html2, 1210 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/html2.out, 682 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/html3, 2248 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/html3.out, 890 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/html4, 2869 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/html4.out, 1924 bytes, 4 tape blocks
x qpopper4.0.16/mmangle/test/html5, 1479 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/html5.out, 370 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/html6, 7437 bytes, 15 tape blocks
x qpopper4.0.16/mmangle/test/html6.out, 3424 bytes, 7 tape blocks
x qpopper4.0.16/mmangle/test/html7, 4625 bytes, 10 tape blocks
x qpopper4.0.16/mmangle/test/html7.out, 1486 bytes, 3 tape blocks
x qpopper4.0.16/mmangle/test/Makefile, 477 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/mult-alt, 2437 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/mult-alt-html, 2851 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/mult-alt.out, 615 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/mult-alt2, 1866 bytes, 4 tape blocks
x qpopper4.0.16/mmangle/test/mult-alt2.out, 644 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/mult-deep, 1005 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/mult-deep.out, 362 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/mult-report, 20295 bytes, 40 tape blocks
x qpopper4.0.16/mmangle/test/mult-report.out, 972 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/ns-html, 86642 bytes, 170 tape blocks
x qpopper4.0.16/mmangle/test/ns-html.out, 389 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/ns-html2, 800 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/ns-html2.out, 168 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/ns-html3, 86188 bytes, 169 tape blocks
x qpopper4.0.16/mmangle/test/ns-html3.out, 378 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/plain, 201 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/plain.out, 147 bytes, 1 tape blocks
x qpopper4.0.16/mmangle/test/qp, 2781 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/qp-enriched, 2862 bytes, 6 tape blocks
x qpopper4.0.16/mmangle/test/qp-enriched.out, 2330 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/qp.out, 2274 bytes, 5 tape blocks
x qpopper4.0.16/mmangle/test/t, 44564 bytes, 88 tape blocks
x qpopper4.0.16/mmangle/test/text-lines, 557 bytes, 2 tape blocks
x qpopper4.0.16/mmangle/test/text-lines.out, 233 bytes, 1 tape blocks
x qpopper4.0.16/password, 0 bytes, 0 tape blocks
x qpopper4.0.16/password/auth_user.c, 14605 bytes, 29 tape blocks
x qpopper4.0.16/password/Makefile.in, 2641 bytes, 6 tape blocks
x qpopper4.0.16/password/poppassd.c, 45986 bytes, 90 tape blocks
x qpopper4.0.16/password/README, 3073 bytes, 7 tape blocks
x qpopper4.0.16/popper, 0 bytes, 0 tape blocks
x qpopper4.0.16/popper/banner.h, 548 bytes, 2 tape blocks
x qpopper4.0.16/popper/base64.c, 4056 bytes, 8 tape blocks
x qpopper4.0.16/popper/drac.c, 1449 bytes, 3 tape blocks
x qpopper4.0.16/popper/genpath.c, 10256 bytes, 21 tape blocks
x qpopper4.0.16/popper/genpath.h, 1717 bytes, 4 tape blocks
x qpopper4.0.16/popper/get_sub_opt.c, 2201 bytes, 5 tape blocks
x qpopper4.0.16/popper/get_sub_opt.h, 30 bytes, 1 tape blocks
x qpopper4.0.16/popper/hmac-md5.h, 1843 bytes, 4 tape blocks
x qpopper4.0.16/popper/hmac.c, 3676 bytes, 8 tape blocks
x qpopper4.0.16/popper/main.c, 31029 bytes, 61 tape blocks
x qpopper4.0.16/popper/Makefile.in, 8207 bytes, 17 tape blocks
x qpopper4.0.16/popper/md5.c, 10485 bytes, 21 tape blocks
x qpopper4.0.16/popper/md5.h, 2348 bytes, 5 tape blocks
x qpopper4.0.16/popper/mktemp.c, 4282 bytes, 9 tape blocks
x qpopper4.0.16/popper/msg_ptr.c, 1214 bytes, 3 tape blocks
x qpopper4.0.16/popper/pop_apop.c, 12398 bytes, 25 tape blocks
x qpopper4.0.16/popper/pop_auth.c, 24373 bytes, 48 tape blocks
x qpopper4.0.16/popper/pop_bull.c, 25846 bytes, 51 tape blocks
x qpopper4.0.16/popper/pop_cache.c, 14078 bytes, 28 tape blocks
x qpopper4.0.16/popper/pop_config.c, 58310 bytes, 114 tape blocks
x qpopper4.0.16/popper/pop_dele.c, 3511 bytes, 7 tape blocks
x qpopper4.0.16/popper/pop_dropcopy.c, 71064 bytes, 139 tape blocks
x qpopper4.0.16/popper/pop_extend.c, 8317 bytes, 17 tape blocks
x qpopper4.0.16/popper/pop_get_command.c, 5138 bytes, 11 tape blocks
x qpopper4.0.16/popper/pop_get_subcommand.c, 2170 bytes, 5 tape blocks
x qpopper4.0.16/popper/pop_init.c, 40813 bytes, 80 tape blocks
x qpopper4.0.16/popper/pop_last.c, 881 bytes, 2 tape blocks
x qpopper4.0.16/popper/pop_list.c, 6820 bytes, 14 tape blocks
x qpopper4.0.16/popper/pop_log.c, 7295 bytes, 15 tape blocks
x qpopper4.0.16/popper/pop_lower.c, 683 bytes, 2 tape blocks
x qpopper4.0.16/popper/pop_msg.c, 3843 bytes, 8 tape blocks
x qpopper4.0.16/popper/pop_parse.c, 4059 bytes, 8 tape blocks
x qpopper4.0.16/popper/pop_pass.c, 41336 bytes, 81 tape blocks
x qpopper4.0.16/popper/pop_pope.c, 624 bytes, 2 tape blocks
x qpopper4.0.16/popper/pop_quit.c, 708 bytes, 2 tape blocks
x qpopper4.0.16/popper/pop_rpop.c, 4842 bytes, 10 tape blocks
x qpopper4.0.16/popper/pop_rset.c, 1209 bytes, 3 tape blocks
x qpopper4.0.16/popper/pop_send.c, 23196 bytes, 46 tape blocks
x qpopper4.0.16/popper/pop_stat.c, 1023 bytes, 2 tape blocks
x qpopper4.0.16/popper/pop_tls.c, 4805 bytes, 10 tape blocks
x qpopper4.0.16/popper/pop_tls.h, 2714 bytes, 6 tape blocks
x qpopper4.0.16/popper/pop_tls_openssl.c, 26972 bytes, 53 tape blocks
x qpopper4.0.16/popper/pop_tls_sslplus.c, 10320 bytes, 21 tape blocks
x qpopper4.0.16/popper/pop_uidl.c, 7908 bytes, 16 tape blocks
x qpopper4.0.16/popper/pop_updt.c, 36563 bytes, 72 tape blocks
x qpopper4.0.16/popper/pop_user.c, 15032 bytes, 30 tape blocks
x qpopper4.0.16/popper/pop_util.c, 3069 bytes, 6 tape blocks
x qpopper4.0.16/popper/pop_xmit.c, 7775 bytes, 16 tape blocks
x qpopper4.0.16/popper/pop_xtnd.c, 1173 bytes, 3 tape blocks
x qpopper4.0.16/popper/popauth.c, 45205 bytes, 89 tape blocks
x qpopper4.0.16/popper/popper.c, 25630 bytes, 51 tape blocks
x qpopper4.0.16/popper/popper.h, 38364 bytes, 75 tape blocks
x qpopper4.0.16/popper/scram.c, 6821 bytes, 14 tape blocks
x qpopper4.0.16/popper/scram.h, 4647 bytes, 10 tape blocks
x qpopper4.0.16/popper/sslplus_utils.c, 30034 bytes, 59 tape blocks
x qpopper4.0.16/popper/sslplus_utils.h, 2481 bytes, 5 tape blocks
x qpopper4.0.16/popper/version.h, 828 bytes, 2 tape blocks
x qpopper4.0.16/popper/xtnd_xlst.c, 2757 bytes, 6 tape blocks
x qpopper4.0.16/samples, 0 bytes, 0 tape blocks
x qpopper4.0.16/samples/qpopper.config, 21827 bytes, 43 tape blocks
x qpopper4.0.16/samples/qpopper.pam, 136 bytes, 1 tape blocks
x qpopper4.0.16/samples/qpopper.xinetd, 1318 bytes, 3 tape blocks
x qpopper4.0.16/test, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/new, 3963 bytes, 8 tape blocks
x qpopper4.0.16/test/run.pl, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/tdiff, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/tgen, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/tscript, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/out, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/out/1.i, 3364 bytes, 7 tape blocks
x qpopper4.0.16/test/out/1.r.h, 1639 bytes, 4 tape blocks
x qpopper4.0.16/test/out/1.r.p, 1250 bytes, 3 tape blocks
x qpopper4.0.16/test/out/10.i, 4979 bytes, 10 tape blocks
x qpopper4.0.16/test/out/10.r.h, 430 bytes, 1 tape blocks
x qpopper4.0.16/test/out/10.r.p, 359 bytes, 1 tape blocks
x qpopper4.0.16/test/out/11.i, 4677 bytes, 10 tape blocks
x qpopper4.0.16/test/out/11.r.h, 363 bytes, 1 tape blocks
x qpopper4.0.16/test/out/11.r.p, 316 bytes, 1 tape blocks
x qpopper4.0.16/test/out/12.i, 827 bytes, 2 tape blocks
x qpopper4.0.16/test/out/12.r.h, 414 bytes, 1 tape blocks
x qpopper4.0.16/test/out/12.r.p, 391 bytes, 1 tape blocks
x qpopper4.0.16/test/out/13.i, 1776 bytes, 4 tape blocks
x qpopper4.0.16/test/out/13.r.h, 852 bytes, 2 tape blocks
x qpopper4.0.16/test/out/13.r.p, 685 bytes, 2 tape blocks
x qpopper4.0.16/test/out/14.i, 2468 bytes, 5 tape blocks
x qpopper4.0.16/test/out/14.r.h, 852 bytes, 2 tape blocks
x qpopper4.0.16/test/out/14.r.p, 685 bytes, 2 tape blocks
x qpopper4.0.16/test/out/15.i, 4214 bytes, 9 tape blocks
x qpopper4.0.16/test/out/15.r.h, 355 bytes, 1 tape blocks
x qpopper4.0.16/test/out/15.r.p, 308 bytes, 1 tape blocks
x qpopper4.0.16/test/out/16.i, 2776 bytes, 6 tape blocks
x qpopper4.0.16/test/out/16.r.h, 519 bytes, 2 tape blocks
x qpopper4.0.16/test/out/16.r.p, 448 bytes, 1 tape blocks
x qpopper4.0.16/test/out/17.i, 3453 bytes, 7 tape blocks
x qpopper4.0.16/test/out/17.r.h, 3004 bytes, 6 tape blocks
x qpopper4.0.16/test/out/17.r.p, 2933 bytes, 6 tape blocks
x qpopper4.0.16/test/out/18.i, 4106 bytes, 9 tape blocks
x qpopper4.0.16/test/out/18.r.h, 375 bytes, 1 tape blocks
x qpopper4.0.16/test/out/18.r.p, 328 bytes, 1 tape blocks
x qpopper4.0.16/test/out/19.i, 3062 bytes, 6 tape blocks
x qpopper4.0.16/test/out/19.r.h, 2637 bytes, 6 tape blocks
x qpopper4.0.16/test/out/19.r.p, 2500 bytes, 5 tape blocks
x qpopper4.0.16/test/out/2.i, 6087 bytes, 12 tape blocks
x qpopper4.0.16/test/out/2.r.h, 899 bytes, 2 tape blocks
x qpopper4.0.16/test/out/2.r.p, 460 bytes, 1 tape blocks
x qpopper4.0.16/test/out/20.i, 1778 bytes, 4 tape blocks
x qpopper4.0.16/test/out/20.r.h, 1524 bytes, 3 tape blocks
x qpopper4.0.16/test/out/20.r.p, 1036 bytes, 3 tape blocks
x qpopper4.0.16/test/out/21.i, 14041 bytes, 28 tape blocks
x qpopper4.0.16/test/out/21.r.h, 700 bytes, 2 tape blocks
x qpopper4.0.16/test/out/21.r.p, 483 bytes, 1 tape blocks
x qpopper4.0.16/test/out/22.i, 167984 bytes, 329 tape blocks
x qpopper4.0.16/test/out/22.r.h, 1526 bytes, 3 tape blocks
x qpopper4.0.16/test/out/22.r.p, 784 bytes, 2 tape blocks
x qpopper4.0.16/test/out/23.i, 801 bytes, 2 tape blocks
x qpopper4.0.16/test/out/23.r.h, 541 bytes, 2 tape blocks
x qpopper4.0.16/test/out/23.r.p, 427 bytes, 1 tape blocks
x qpopper4.0.16/test/out/24.i, 1485 bytes, 3 tape blocks
x qpopper4.0.16/test/out/24.r.h, 1315 bytes, 3 tape blocks
x qpopper4.0.16/test/out/24.r.p, 803 bytes, 2 tape blocks
x qpopper4.0.16/test/out/25.i, 2454 bytes, 5 tape blocks
x qpopper4.0.16/test/out/25.r.h, 1505 bytes, 3 tape blocks
x qpopper4.0.16/test/out/25.r.p, 1031 bytes, 3 tape blocks
x qpopper4.0.16/test/out/26.i, 3087 bytes, 7 tape blocks
x qpopper4.0.16/test/out/26.r.h, 2218 bytes, 5 tape blocks
x qpopper4.0.16/test/out/26.r.p, 2095 bytes, 5 tape blocks
x qpopper4.0.16/test/out/27.i, 1681 bytes, 4 tape blocks
x qpopper4.0.16/test/out/27.r.h, 842 bytes, 2 tape blocks
x qpopper4.0.16/test/out/27.r.p, 491 bytes, 1 tape blocks
x qpopper4.0.16/test/out/28.i, 7767 bytes, 16 tape blocks
x qpopper4.0.16/test/out/28.r.h, 5584 bytes, 11 tape blocks
x qpopper4.0.16/test/out/28.r.p, 3768 bytes, 8 tape blocks
x qpopper4.0.16/test/out/29.i, 4886 bytes, 10 tape blocks
x qpopper4.0.16/test/out/29.r.h, 3654 bytes, 8 tape blocks
x qpopper4.0.16/test/out/29.r.p, 1623 bytes, 4 tape blocks
x qpopper4.0.16/test/out/3.i, 5909 bytes, 12 tape blocks
x qpopper4.0.16/test/out/3.r.h, 930 bytes, 2 tape blocks
x qpopper4.0.16/test/out/3.r.p, 421 bytes, 1 tape blocks
x qpopper4.0.16/test/out/30.i, 2784 bytes, 6 tape blocks
x qpopper4.0.16/test/out/30.r.h, 932 bytes, 2 tape blocks
x qpopper4.0.16/test/out/30.r.p, 785 bytes, 2 tape blocks
x qpopper4.0.16/test/out/31.i, 3113 bytes, 7 tape blocks
x qpopper4.0.16/test/out/31.r.h, 1452 bytes, 3 tape blocks
x qpopper4.0.16/test/out/31.r.p, 785 bytes, 2 tape blocks
x qpopper4.0.16/test/out/32.i, 2176 bytes, 5 tape blocks
x qpopper4.0.16/test/out/32.r.h, 962 bytes, 2 tape blocks
x qpopper4.0.16/test/out/32.r.p, 815 bytes, 2 tape blocks
x qpopper4.0.16/test/out/33.i, 1301 bytes, 3 tape blocks
x qpopper4.0.16/test/out/33.r.h, 719 bytes, 2 tape blocks
x qpopper4.0.16/test/out/33.r.p, 528 bytes, 2 tape blocks
x qpopper4.0.16/test/out/34.i, 20973 bytes, 41 tape blocks
x qpopper4.0.16/test/out/34.r.h, 1397 bytes, 3 tape blocks
x qpopper4.0.16/test/out/34.r.p, 1172 bytes, 3 tape blocks
x qpopper4.0.16/test/out/35.i, 88009 bytes, 172 tape blocks
x qpopper4.0.16/test/out/35.r.h, 1101 bytes, 3 tape blocks
x qpopper4.0.16/test/out/35.r.p, 532 bytes, 2 tape blocks
x qpopper4.0.16/test/out/36.i, 948 bytes, 2 tape blocks
x qpopper4.0.16/test/out/36.r.h, 328 bytes, 1 tape blocks
x qpopper4.0.16/test/out/36.r.p, 294 bytes, 1 tape blocks
x qpopper4.0.16/test/out/37.i, 87529 bytes, 171 tape blocks
x qpopper4.0.16/test/out/37.r.h, 1114 bytes, 3 tape blocks
x qpopper4.0.16/test/out/37.r.p, 521 bytes, 2 tape blocks
x qpopper4.0.16/test/out/38.i, 398 bytes, 1 tape blocks
x qpopper4.0.16/test/out/38.r.h, 278 bytes, 1 tape blocks
x qpopper4.0.16/test/out/38.r.p, 255 bytes, 1 tape blocks
x qpopper4.0.16/test/out/39.i, 3042 bytes, 6 tape blocks
x qpopper4.0.16/test/out/39.r.h, 2568 bytes, 6 tape blocks
x qpopper4.0.16/test/out/39.r.p, 2455 bytes, 5 tape blocks
x qpopper4.0.16/test/out/4.i, 2978 bytes, 6 tape blocks
x qpopper4.0.16/test/out/4.r.h, 871 bytes, 2 tape blocks
x qpopper4.0.16/test/out/4.r.p, 383 bytes, 1 tape blocks
x qpopper4.0.16/test/out/40.i, 3150 bytes, 7 tape blocks
x qpopper4.0.16/test/out/40.r.h, 2629 bytes, 6 tape blocks
x qpopper4.0.16/test/out/40.r.p, 2513 bytes, 5 tape blocks
x qpopper4.0.16/test/out/41.i, 749 bytes, 2 tape blocks
x qpopper4.0.16/test/out/41.r.h, 406 bytes, 1 tape blocks
x qpopper4.0.16/test/out/41.r.p, 335 bytes, 1 tape blocks
x qpopper4.0.16/test/out/42.i, 1214 bytes, 3 tape blocks
x qpopper4.0.16/test/out/42.r.h, 1147 bytes, 3 tape blocks
x qpopper4.0.16/test/out/42.r.p, 786 bytes, 2 tape blocks
x qpopper4.0.16/test/out/43.i, 4217 bytes, 9 tape blocks
x qpopper4.0.16/test/out/43.r.h, 1807 bytes, 4 tape blocks
x qpopper4.0.16/test/out/43.r.p, 1441 bytes, 3 tape blocks
x qpopper4.0.16/test/out/44.i, 3781 bytes, 8 tape blocks
x qpopper4.0.16/test/out/44.r.h, 2946 bytes, 6 tape blocks
x qpopper4.0.16/test/out/44.r.p, 2201 bytes, 5 tape blocks
x qpopper4.0.16/test/out/5.i, 2963 bytes, 6 tape blocks
x qpopper4.0.16/test/out/5.r.h, 418 bytes, 1 tape blocks
x qpopper4.0.16/test/out/5.r.p, 383 bytes, 1 tape blocks
x qpopper4.0.16/test/out/6.i, 2896 bytes, 6 tape blocks
x qpopper4.0.16/test/out/6.r.h, 871 bytes, 2 tape blocks
x qpopper4.0.16/test/out/6.r.p, 383 bytes, 1 tape blocks
x qpopper4.0.16/test/out/7.i, 6121 bytes, 12 tape blocks
x qpopper4.0.16/test/out/7.r.h, 1157 bytes, 3 tape blocks
x qpopper4.0.16/test/out/7.r.p, 433 bytes, 1 tape blocks
x qpopper4.0.16/test/out/8.i, 77278 bytes, 151 tape blocks
x qpopper4.0.16/test/out/8.r.h, 3933 bytes, 8 tape blocks
x qpopper4.0.16/test/out/8.r.p, 2242 bytes, 5 tape blocks
x qpopper4.0.16/test/out/9.i, 1226 bytes, 3 tape blocks
x qpopper4.0.16/test/out/9.r.h, 368 bytes, 1 tape blocks
x qpopper4.0.16/test/out/9.r.p, 321 bytes, 1 tape blocks
x qpopper4.0.16/test/out/qpop.42, 555107 bytes, 1085 tape blocks
x qpopper4.0.16/test/out/qpop.8, 106206 bytes, 208 tape blocks
x qpopper4.0.16/test/out/run.pl, 1705 bytes, 4 tape blocks
x qpopper4.0.16/test/out/test, 0 bytes, 0 tape blocks
x qpopper4.0.16/test/out/test/1847, 1060 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/1847++, 4749 bytes, 10 tape blocks
x qpopper4.0.16/test/out/test/1847++.out, 249 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/1847.out, 214 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/2047, 578 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/2047-real, 4461 bytes, 9 tape blocks
x qpopper4.0.16/test/out/test/2047-real.out, 210 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/2047.out, 221 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/822, 1483 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/822.out, 501 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/822long, 2175 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/apple-single, 4009 bytes, 8 tape blocks
x qpopper4.0.16/test/out/test/apple-single.out, 201 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/b64, 1025 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/b64.out, 663 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/bad-mime, 2428 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/bad-mime.out, 283 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/binary, 3254 bytes, 7 tape blocks
x qpopper4.0.16/test/out/test/binary.out, 2828 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/binhex, 3900 bytes, 8 tape blocks
x qpopper4.0.16/test/out/test/binhex.out, 221 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/charset, 2800 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/charset.out, 2316 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/e.out.html, 1135 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/enriched, 1499 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/enriched-excerpt, 3777 bytes, 8 tape blocks
x qpopper4.0.16/test/out/test/enriched-excerpt.out, 2813 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/enriched.o, 12944 bytes, 26 tape blocks
x qpopper4.0.16/test/out/test/enriched.out, 684 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/etags, 7480 bytes, 15 tape blocks
x qpopper4.0.16/test/out/test/etags.o, 13096 bytes, 26 tape blocks
x qpopper4.0.16/test/out/test/eudora1, 13549 bytes, 27 tape blocks
x qpopper4.0.16/test/out/test/eudora1.out, 366 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/fwd-html, 165490 bytes, 324 tape blocks
x qpopper4.0.16/test/out/test/fwd-html.out, 535 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/html, 536 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/html.out, 260 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/html2, 1210 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/html2.out, 682 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/html3, 2248 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/html3.out, 890 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/html4, 2869 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/html4.out, 1924 bytes, 4 tape blocks
x qpopper4.0.16/test/out/test/html5, 1479 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/html5.out, 370 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/html6, 7437 bytes, 15 tape blocks
x qpopper4.0.16/test/out/test/html6.out, 3424 bytes, 7 tape blocks
x qpopper4.0.16/test/out/test/html7, 4625 bytes, 10 tape blocks
x qpopper4.0.16/test/out/test/html7.out, 1486 bytes, 3 tape blocks
x qpopper4.0.16/test/out/test/lineend.o, 2092 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/Makefile, 477 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/mangle.o, 20448 bytes, 40 tape blocks
x qpopper4.0.16/test/out/test/mime.o, 24944 bytes, 49 tape blocks
x qpopper4.0.16/test/out/test/mult-alt, 2437 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/mult-alt-html, 2851 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/mult-alt.out, 615 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/mult-alt2, 1866 bytes, 4 tape blocks
x qpopper4.0.16/test/out/test/mult-alt2.out, 644 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/mult-deep, 1005 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/mult-deep.out, 362 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/mult-report, 20295 bytes, 40 tape blocks
x qpopper4.0.16/test/out/test/mult-report.out, 972 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/ns-html, 86642 bytes, 170 tape blocks
x qpopper4.0.16/test/out/test/ns-html.out, 389 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/ns-html2, 800 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/ns-html2.out, 168 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/ns-html3, 86188 bytes, 169 tape blocks
x qpopper4.0.16/test/out/test/ns-html3.out, 378 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/plain, 201 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/plain.out, 147 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/qp, 2781 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/qp-enriched, 2862 bytes, 6 tape blocks
x qpopper4.0.16/test/out/test/qp-enriched.out, 2330 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/qp.out, 2274 bytes, 5 tape blocks
x qpopper4.0.16/test/out/test/striphtml.o, 23300 bytes, 46 tape blocks
x qpopper4.0.16/test/out/test/t, 44564 bytes, 88 tape blocks
x qpopper4.0.16/test/out/test/testhtml, 112316 bytes, 220 tape blocks
x qpopper4.0.16/test/out/test/testhtml.o, 7164 bytes, 14 tape blocks
x qpopper4.0.16/test/out/test/testj, 118756 bytes, 232 tape blocks
x qpopper4.0.16/test/out/test/testj.o, 8032 bytes, 16 tape blocks
x qpopper4.0.16/test/out/test/testjig, 113640 bytes, 222 tape blocks
x qpopper4.0.16/test/out/test/testjig.o, 8596 bytes, 17 tape blocks
x qpopper4.0.16/test/out/test/text-lines, 557 bytes, 2 tape blocks
x qpopper4.0.16/test/out/test/text-lines.out, 233 bytes, 1 tape blocks
x qpopper4.0.16/test/out/test/utils.o, 6712 bytes, 14 tape blocks
x qpopper4.0.16/test/out/tscript, 231 bytes, 1 tape blocks

At first, before I encountered problems installing the software, I was going to create a Solaris package to use for the installation, so I created a temporary installation directory, in this case /usr/local/pkg.

# mkdir /usr/local/pkg

I specified the temporary installation directory when I ran configure.

# ./configure --prefix=/usr/local/pkg
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... no
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
<text snipped>
checking for setproctitle... no
checking for mkstemp... no
checking for setresuid... no
checking for library containing gethostbyname... no
checking size of unsigned long int... 0
checking for /dev/urandom ... no 
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating common/Makefile
config.status: creating popper/Makefile
config.status: creating mmangle/Makefile
config.status: creating password/Makefile
config.status: creating config.h

When I ran make install, I received an error message regarding a missing directory. I then created that directory.

# make install
mkdir: Failed to make directory "/usr/local/pkg/share/man"; No such file or dire
ctory
chown: /usr/local/pkg/share/man: No such file or directory
make: *** [install] Error 1
# mkdir /usr/local/pkg/share
# mkdir /usr/local/pkg/share/man

I then reran make install.

# make install
Installed man/popper.8 as /usr/local/pkg/share/man/man8/popper.8
Installed man/popauth.8 as /usr/local/pkg/share/man/man8/popauth.8
cd ./popper && make install
make[1]: Entering directory `/tmp/qpopper4.0.16/popper'
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_dele.c -o pop_dele.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_dropcopy.c -o pop_dropcopy.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_get_command.c -o pop_get_command.o
pop_get_command.c:41: warning: initialization from incompatible pointer type
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_get_subcommand.c -o pop_get_subcommand.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_init.c -o pop_init.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_last.c -o pop_last.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_list.c -o pop_list.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_log.c -o pop_log.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_lower.c -o pop_lower.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_msg.c -o pop_msg.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_parse.c -o pop_parse.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_pass.c -o pop_pass.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_quit.c -o pop_quit.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_rset.c -o pop_rset.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_send.c -o pop_send.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_stat.c -o pop_stat.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_updt.c -o pop_updt.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_user.c -o pop_user.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_xtnd.c -o pop_xtnd.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_xmit.c -o pop_xmit.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX popper.c -o popper.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_bull.c -o pop_bull.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX xtnd_xlst.c -o xtnd_xlst.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_uidl.c -o pop_uidl.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX mktemp.c -o mktemp.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_rpop.c -o pop_rpop.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_apop.c -o pop_apop.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX md5.c -o md5.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_auth.c -o pop_auth.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_pope.c -o pop_pope.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_extend.c -o pop_extend.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX scram.c -o scram.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX hmac.c -o hmac.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX base64.c -o base64.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_util.c -o pop_util.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX get_sub_opt.c -o get_sub_opt.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX msg_ptr.c -o msg_ptr.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX drac.c -o drac.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_config.c -o pop_config.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_tls.c -o pop_tls.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_tls_openssl.c -o pop_tls_openssl.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_tls_sslplus.c -o pop_tls_sslplus.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX sslplus_utils.c -o sslplus_utils.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX main.c -o main.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_cache.c -o pop_cache.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX genpath.c -o genpath.o
cd ../mmangle && make all
make[2]: Entering directory `/tmp/qpopper4.0.16/mmangle'
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX mime.c -o mime.o
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX mangle.c -o mangle.o
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX enriched.c -o enriched.o
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX striphtml.c -o striphtml.o
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX lineend.c -o lineend.o
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX etags.c -o etags.o
gcc -c -I.. -I. -I.. -I../popper \
    -I../common -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PA
SS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX charmangle.c -o charmangle.o
ar -r  libmangle.a mime.o mangle.o enriched.o striphtml.o lineend.o etags.o char
mangle.o 
ar: creating libmangle.a
make[2]: Leaving directory `/tmp/qpopper4.0.16/mmangle'
cd ../common && make all
make[2]: Entering directory `/tmp/qpopper4.0.16/common'
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX flock.c -o flock.o
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX maillock.c -o maillock.o
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX logit.c -o logit.o
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX snprintf.c -o snprintf.o
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX string_util.c -o string_util.o
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX check_group.c -o check_group.o
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX utils.c -o utils.o
ar -r  libcommon.a flock.o maillock.o logit.o snprintf.o string_util.o check_gro
up.o utils.o 
ar: creating libcommon.a
make[2]: Leaving directory `/tmp/qpopper4.0.16/common'
gcc   pop_dele.o pop_dropcopy.o pop_get_command.o pop_get_subcommand.o pop_init.
o pop_last.o pop_list.o pop_log.o pop_lower.o pop_msg.o pop_parse.o pop_pass.o p
op_quit.o pop_rset.o pop_send.o pop_stat.o pop_updt.o pop_user.o pop_xtnd.o pop_
xmit.o popper.o pop_bull.o xtnd_xlst.o pop_uidl.o mktemp.o pop_rpop.o pop_apop.o
 md5.o pop_auth.o pop_pope.o pop_extend.o scram.o hmac.o base64.o pop_util.o get
_sub_opt.o msg_ptr.o drac.o pop_config.o pop_tls.o pop_tls_openssl.o pop_tls_ssl
plus.o sslplus_utils.o main.o pop_cache.o genpath.o  -o popper ../mmangle/libman
gle.a \
        -I../common ../common/libcommon.a \
         
Undefined                       first referenced
 symbol                             in file
h_errno                             pop_init.o
gethostbyname                       pop_init.o
gethostbyaddr                       pop_init.o
ruserok                             pop_rpop.o
inet_ntoa                           pop_init.o
getpeername                         pop_init.o
ld: fatal: Symbol referencing errors. No output written to popper
collect2: ld returned 1 exit status
make[1]: *** [popper] Error 1
make[1]: Leaving directory `/tmp/qpopper4.0.16/popper'
make: *** [install] Error 2

Again, an error occurred. I tried running ./configure without specifying the installation directory. I then ran make, but got the same results as before.

ld: fatal: Symbol referencing errors. No output written to popper
collect2: ld returned 1 exit status
make[1]: *** [popper] Error 1
make[1]: Leaving directory `/tmp/qpopper4.0.16/popper'
make: *** [popper_server] Error 2

I downloaded an older version, 4.0.13, to see if I would have the same problem installing it.

# wget -q ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.13.tar.gz
# gunzip qpopper4.0.13.tar.gz
# tar -xvf qpopper4.0.13.tar
# cd qpopper4.0.13

I then ran configure for that version.

# ./configure
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
<text snipped>
checking for library containing gethostbyname... no
checking for unsigned long int... yes
checking size of unsigned long int... configure: error: cannot compute sizeof (u
nsigned long int), 77
See `config.log' for more details.

Since I got an error message when attempting to run configure for that version, I downloaded an even older version.

# wget -q ftp://ftp.qualcomm.com/eudora/servers/unix/popper/old/qpopper4.0.7.tar
.gz
# gunzip qpopper4.0.7.tar.gz
# tar -xvf qpopper4.0.7.tar
# cd qpopper4.0.7

I then ran configure for that version. But, I received an error message for that version as well, though it was a different error message.

# ./configure
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for library containing strerror... no
checking for bison... bison -y
checking for flex... flex
<text snipped>
checking for dbm.h... no
checking for t_accept in -lnsl... no
checking for socket in -lsocket... no
checking for res_init in -lresolv... no
checking for maillock in -lmail... no
checking for krb_recvauth in -lkrb... no
checking for clock_gettime in -lposix4... no
checking for crypt in -lcrypt... no
checking for set_auth_parameters in -lsecurity... no
checking for dlopen in -ldl... no
checking for pam_authenticate in -lpam... no
Can't use PAM: can't find libpam

In the configure.in file, I found the following:

if test "$use_pam" != "no"; then
    AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl")
    AC_CHECK_LIB(pam, pam_authenticate, LIBS="$LIBS -lpam",
                 AC_MSG_RESULT([Can't use PAM: can't find libpam]);exit 1)
fi

I found someone else complaining at qpopper won't compile without PAM that "qpopper won't compile on systems without PAM anymore."

I tried recompiling with the --without-pam option, but that only got me to the same checking size of unsigned long int... configure: error: cannot compute sizeof (unsigned long int), 77 error message I had with version 4.0.13.

# ./configure --without-pam
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
<text snipped>
checking for library containing gethostbyname... no
checking for unsigned long int... yes
checking size of unsigned long int... configure: error: cannot compute sizeof (u
nsigned long int), 77
See `config.log' for more details.

I also tried version 4.0.14.

# wget -q ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.14.tar.gz
# gunzip qpopper4.0.14.tar.gz
# tar -xvf qpopper4.0.14.tar
# cd qpopper4.0.14

I ran ./configure. Again, I received the checking size of unsigned long int... configure: error: cannot compute sizeof (unsigned long int), 77 error.

I tried compiling the 4.0.16 version again. I ran make realclean first.

# cd qpopper4.0.16
# make realclean
I saw a warning, but no error messages when I ran ./configure

# ./configure
# ./configure
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... no
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... none needed
checking whether yytext is a pointer... no
checking for ar... ar
checking for ranlib... ranlib
checking for a BSD-compatible install... ./install-sh -c
checking for gperf... no
checking for cperf... no
./configure[3550]: WARNING::  not found
checking for gcc version 2.7.2.3... no
checking if gcc supports __attribute__ (format) ... yes
checking if ar chokes on -r... no
checking for getspnam... no
checking for getprpwnam... no
checking for getspnam in -lshadow... no
Will NOT compile in debugging code
System name: SunOS; System version: 5.7
Set OS_DEFS =  -DSOLARIS2 -DGNU_PASS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX
Logging to facility: LOG_LOCAL0
Set AR_FLAG =  -r ; RANLIB_CMD =
checking for sendmail program... found at /usr/lib/sendmail
checking for mail spool directory... "found at /var/mail"
checking for dirent.h that defines DIR... yes
checking for library containing opendir... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
checking for egrep... /usr/xpg4/bin/grep -E
checking for ANSI C header files... no
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether sys_siglist is declared... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking prot.h usability... no
checking prot.h presence... no
checking for prot.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for strings.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/security.h usability... no
checking sys/security.h presence... no
checking for sys/security.h... no
checking sys/syslog.h usability... yes
checking sys/syslog.h presence... yes
checking for sys/syslog.h... yes
checking for sys/types.h... (cached) yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/stat.h... (cached) yes
checking sys/unistd.h usability... yes
checking sys/unistd.h presence... yes
checking for sys/unistd.h... yes
checking sys/netinet/in.h usability... no
checking sys/netinet/in.h presence... no
checking for sys/netinet/in.h... no
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking net/errno.h usability... no
checking net/errno.h presence... no
checking for net/errno.h... no
checking for unistd.h... (cached) yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking maillock.h usability... yes
checking maillock.h presence... yes
checking for maillock.h... yes
checking select.h usability... no
checking select.h presence... no
checking for select.h... no
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking security/pam_appl.h usability... yes
checking security/pam_appl.h presence... yes
checking for security/pam_appl.h... yes
checking pam/pam_appl.h usability... no
checking pam/pam_appl.h presence... no
checking for pam/pam_appl.h... no
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking ndbm.h usability... yes
checking ndbm.h presence... yes
checking for ndbm.h... yes
checking gdbm.h usability... no
checking gdbm.h presence... no
checking for gdbm.h... no
checking dbm.h usability... no
checking dbm.h presence... no
checking for dbm.h... no
checking for t_accept in -lnsl... no
checking for socket in -lsocket... no
checking for res_init in -lresolv... no
checking for maillock in -lmail... no
checking for krb_recvauth in -lkrb... no
checking for clock_gettime in -lposix4... no
checking for crypt in -lcrypt... no
checking for set_auth_parameters in -lsecurity... no
"(use_pam is _default_)"
checking for an ANSI C-conforming const... yes
checking for uid_t in sys/types.h... yes
checking for mode_t... yes
checking for off_t... yes
checking for size_t... yes
checking whether sys_siglist is declared... (cached) no
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working memcmp... no
checking return type of signal handlers... void
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking whether utime accepts a null argument... no
checking for vprintf... no
checking for wait3 that fills in rusage... no
checking for gethostname... no
checking for gethostbyname... no
checking for gettimeofday... no
checking for getusershell... no
checking for mkdir... no
checking for socket... no
checking for strdup... no
checking for strerror... no
checking for strstr... no
checking for strlcat... no
checking for strlcpy... no
checking for bcopy... no
checking for index... no
checking for flock... no
checking for set_auth_parameters... no
checking for pw_encrypt... no
checking for hstrerror... no
checking for snprintf... no
checking for vsnprintf... no
checking for srandom... no
checking for srand... no
checking for usleep... no
checking for crypt... no
checking for crypt16... no
checking for bigcrypt... no
checking for setproctitle... no
checking for mkstemp... no
checking for setresuid... no
checking for library containing gethostbyname... no
checking size of unsigned long int... 0
checking for /dev/urandom ... no
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating common/Makefile
config.status: creating popper/Makefile
config.status: creating mmangle/Makefile
config.status: creating password/Makefile
config.status: creating config.h

But when I run make, I received an error message.

# make
cd ./popper  && make all
make[1]: Entering directory `/tmp/qpopper4.0.16/popper'
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_dele.c -o pop_dele.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_dropcopy.c -o pop_dropcopy.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_get_command.c -o pop_get_command.o
pop_get_command.c:41: warning: initialization from incompatible pointer type
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_get_subcommand.c -o pop_get_subcommand.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
	-g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_
GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_init.c -o pop_init.o
<text snipped>
gcc -c -I.. -I. -I.. -I../popper \
    -g -O2 -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DNO_GETL
INE -DCONTENT_LENGTH=1 -DUNIX utils.c -o utils.o
ar -r  libcommon.a flock.o maillock.o logit.o snprintf.o string_util.o check_group.o utils.o
ar: creating libcommon.a
make[2]: Leaving directory `/tmp/qpopper4.0.16/common'
gcc   pop_dele.o pop_dropcopy.o pop_get_command.o pop_get_subcommand.o pop_init.
o pop_last.o pop_list.o pop_log.o pop_lower.o pop_msg.o pop_parse.o pop_pass.o p
op_quit.o pop_rset.o pop_send.o pop_stat.o pop_updt.o pop_user.o pop_xtnd.o pop_
xmit.o popper.o pop_bull.o xtnd_xlst.o pop_uidl.o mktemp.o pop_rpop.o pop_apop.o
 md5.o pop_auth.o pop_pope.o pop_extend.o scram.o hmac.o base64.o pop_util.o get
_sub_opt.o msg_ptr.o drac.o pop_config.o pop_tls.o pop_tls_openssl.o pop_tls_ssl
plus.o sslplus_utils.o main.o pop_cache.o genpath.o  -o popper ../mmangle/libman
gle.a \
        -I../common ../common/libcommon.a \

Undefined                       first referenced
 symbol                             in file
h_errno                             pop_init.o
gethostbyname                       pop_init.o
gethostbyaddr                       pop_init.o
ruserok                             pop_rpop.o
inet_ntoa                           pop_init.o
getpeername                         pop_init.o
ld: fatal: Symbol referencing errors. No output written to popper
collect2: ld returned 1 exit status
make[1]: *** [popper] Error 1
make[1]: Leaving directory `/tmp/qpopper4.0.16/popper'
make: *** [popper_server] Error 2

I thought the problem might be related to some library file needed by popper not being present or just being out-of-date, so I checked on the dependencies of the current version of popper on the system with ldd

# ldd /usr/local/sbin/popper
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libkrb.so.1 =>   /usr/lib/libkrb.so.1
        librt.so.1 =>    /usr/lib/librt.so.1
        libcrypt_i.so.1 =>       /usr/lib/libcrypt_i.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libgen.so.1 =>   /usr/lib/libgen.so.1
	/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1

I checked on where the linker might expect the libraries to be found with truss.

# truss -f -t stat,open /usr/local/sbin/popper
24240:  open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
24240:  stat("/usr/lib/libnsl.so.1", 0xFFBEF4D4)        = 0
24240:  open("/usr/lib/libnsl.so.1", O_RDONLY)          = 3
24240:  open("/dev/zero", O_RDONLY)                     = 4
24240:  stat("/usr/lib/libsocket.so.1", 0xFFBEF4D4)     = 0
24240:  open("/usr/lib/libsocket.so.1", O_RDONLY)       = 3
24240:  stat("/usr/lib/libresolv.so.2", 0xFFBEF4D4)     = 0
24240:  open("/usr/lib/libresolv.so.2", O_RDONLY)       = 3
24240:  stat("/usr/lib/libkrb.so.1", 0xFFBEF4D4)        = 0
24240:  open("/usr/lib/libkrb.so.1", O_RDONLY)          = 3
24240:  stat("/usr/lib/librt.so.1", 0xFFBEF4D4)         = 0
24240:  open("/usr/lib/librt.so.1", O_RDONLY)           = 3
24240:  stat("/usr/lib/libcrypt_i.so.1", 0xFFBEF4D4)    = 0
24240:  open("/usr/lib/libcrypt_i.so.1", O_RDONLY)      = 3
24240:  stat("/usr/lib/libc.so.1", 0xFFBEF4D4)          = 0
24240:  open("/usr/lib/libc.so.1", O_RDONLY)            = 3
24240:  stat("/usr/lib/libdl.so.1", 0xFFBEF4D4)         = 0
24240:  open("/usr/lib/libdl.so.1", O_RDONLY)           = 3
24240:  stat("/usr/lib/libmp.so.2", 0xFFBEF4D4)         = 0
24240:  open("/usr/lib/libmp.so.2", O_RDONLY)           = 3
24240:  stat("/usr/lib/libaio.so.1", 0xFFBEF4D4)        = 0
24240:  open("/usr/lib/libaio.so.1", O_RDONLY)          = 3
24240:  stat("/usr/lib/libgen.so.1", 0xFFBEF4D4)        = 0
24240:  open("/usr/lib/libgen.so.1", O_RDONLY)          = 3
24240:  stat("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", 0xFFBEF2AC) = 0
24240:  open("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", O_RDONLY) = 3
24240:  open("/etc/netconfig", O_RDONLY)                = 3
24240:  open64("/etc/.name_service_door", O_RDONLY)     = 3
24240:  open("/dev/conslog", O_WRONLY)                  = 4
24240:  open("/usr/share/lib/zoneinfo/US/Eastern", O_RDONLY) = 5
24240:  open("/etc/.syslog_door", O_RDONLY)             = 5

I checked on the current value for LD_LIBRARY_PATH, also.

# echo $LD_LIBRARY_PATH
/usr/lib:/usr/local/lib:/usr/local/ssl/lib

I also checked on the package to which /usr/lib/libnsl.so.1 belonged.

# /usr/sbin/pkgchk -l -p /usr/lib/libnsl.so.1
Pathname: /usr/lib/libnsl.so.1
Type: regular file
Expected mode: 0755
Expected owner: bin
Expected group: bin
Expected file size (bytes): 813824
Expected sum(1) of contents: 60320
Expected last modification: Sep 01 06:38:37 1998
Referenced by the following packages:
        SUNWcsl
Current status: installed

I didn't understand why I saw the following lines output when I ran configure.

checking for gethostname... no
checking for gethostbyname... no
checking for gettimeofday... no
checking for getusershell... no
<text snipped>
checking for library containing gethostbyname... no

Nor did I understand why I saw the following lines when I afterwards ran make.

Undefined                       first referenced
 symbol                             in file
h_errno                             pop_init.o
gethostbyname                       pop_init.o
gethostbyaddr                       pop_init.o
ruserok                             pop_rpop.o
inet_ntoa                           pop_init.o
getpeername                         pop_init.o
ld: fatal: Symbol referencing errors. No output written to popper
collect2: ld returned 1 exit status

The gethostbyname and gethostbyaddr functions seemed to be in /usr/lib/libnsl.so.1.

# nm /usr/lib/libnsl.so.1 | grep gethostbyname
[419]   |    215884|     376|FUNC |LOCL |0    |12     |_door_gethostbyname_r
[3176]  |    121852|     152|FUNC |GLOB |0    |12     |_switch_gethostbyname_r
[3689]  |    214424|      12|FUNC |GLOB |0    |12     |_uncached_gethostbyname_r
[3324]  |    214804|      96|FUNC |GLOB |0    |12     |gethostbyname
[3369]  |    214484|     160|FUNC |GLOB |0    |12     |gethostbyname_r
[1012]  |         0|       0|FILE |LOCL |0    |ABS    |gethostbyname_r.c
# nm /usr/lib/libnsl.so.1 | grep gethostbyaddr
[253]   |    216260|     296|FUNC |LOCL |0    |12     |_door_gethostbyaddr_r
[3424]  |    220200|     164|FUNC |GLOB |0    |12     |_switch_gethostbyaddr_r
[3308]  |    214436|      48|FUNC |GLOB |0    |12     |_uncached_gethostbyaddr_r
[3583]  |    214900|     120|FUNC |GLOB |0    |12     |gethostbyaddr
[3868]  |    214644|     160|FUNC |GLOB |0    |12     |gethostbyaddr_r

I checked the config.log file produce when I ran configure. The first sign of a problem I found in it was on the following lines:

configure:2905: checking for library containing strerror
configure:2946: gcc -o conftest -g -O2 conftest.c >&5
ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccatA7Kv.o: symbol <unknown>: offset 0xff0a131f is non-aligned
collect2: ld returned 1 exit status
configure:2953: $? = 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */

Later in the log, I saw the following:

configure:10382: checking for gethostname
configure:10438: gcc -o conftest -g -O2 -fpcc-struct-return conftest.c >&5
ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccS99rIb.o: symbol : offset 0xff0a12fe is non-aligned
ld: fatal: relocation error: R_SPARC_32: file /var/tmp//ccS99rIb.o: symbol : offset 0xff0a1377 is non-aligned
collect2: ld returned 1 exit status

At Getting around smartmontools linker errors, I found someone reporting on ld: fatal: relocation error: R_SPARC_32 errors when trying to build smartmontools on a Solaris system. Someone reported there that using CFLAGS=-gstabs+ resolved the problem.

At Debugging Options - Using the GNU Compiler Collection (GCC), I found the following information for the -g option:

On most systems that use stabs format, -g enables use of extra debugging information that only GDB can use; this extra information makes debugging work better in GDB but will probably make other debuggers crash or refuse to read the program. If you want to control for certain whether to generate the extra information, use -gstabs+, -gstabs, -gxcoff+, -gxcoff, or -gvms (see below).

The information for the -gstabs+ option is as follows:

-gstabs+

Produce debugging information in stabs format (if that is supported), using GNU extensions understood only by the GNU debugger (GDB). The use of these extensions is likely to make other debuggers crash or refuse to read the program.

So I ran make realclean then configure with CFLAGS=-gstabs+.

# ./configure CFLAGS=-gstabs+
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for library containing strerror... none required
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for ar... ar
checking for ranlib... ranlib
checking for a BSD-compatible install... ./install-sh -c
checking for gperf... no
checking for cperf... no
./configure[3550]: WARNING::  not found
checking for gcc version 2.7.2.3... no
checking if gcc supports __attribute__ (format) ... yes
checking if ar chokes on -r... no
checking for getspnam... yes
checking for getprpwnam... no
Found getspnam(); using shadow passwords by default
Will NOT compile in debugging code
System name: SunOS; System version: 5.7
Set OS_DEFS =  -DSOLARIS2 -DGNU_PASS -DNO_GETLINE -DCONTENT_LENGTH=1 -DUNIX
Logging to facility: LOG_LOCAL0
Set AR_FLAG =  -r ; RANLIB_CMD =
checking for sendmail program... found at /usr/lib/sendmail
checking for mail spool directory... "found at /var/mail"
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
checking for egrep... /usr/xpg4/bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether sys_siglist is declared... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking prot.h usability... no
checking prot.h presence... no
checking for prot.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for strings.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/security.h usability... no
checking sys/security.h presence... no
checking for sys/security.h... no
checking sys/syslog.h usability... yes
checking sys/syslog.h presence... yes
checking for sys/syslog.h... yes
checking for sys/types.h... (cached) yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/stat.h... (cached) yes
checking sys/unistd.h usability... yes
checking sys/unistd.h presence... yes
checking for sys/unistd.h... yes
checking sys/netinet/in.h usability... no
checking sys/netinet/in.h presence... no
checking for sys/netinet/in.h... no
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking net/errno.h usability... no
checking net/errno.h presence... no
checking for net/errno.h... no
checking for unistd.h... (cached) yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking maillock.h usability... yes
checking maillock.h presence... yes
checking for maillock.h... yes
checking select.h usability... no
checking select.h presence... no
checking for select.h... no
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking security/pam_appl.h usability... yes
checking security/pam_appl.h presence... yes
checking for security/pam_appl.h... yes
checking pam/pam_appl.h usability... no
checking pam/pam_appl.h presence... no
checking for pam/pam_appl.h... no
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking ndbm.h usability... yes
checking ndbm.h presence... yes
checking for ndbm.h... yes
checking gdbm.h usability... no
checking gdbm.h presence... no
checking for gdbm.h... no
checking dbm.h usability... no
checking dbm.h presence... no
checking for dbm.h... no
checking for t_accept in -lnsl... yes
checking for socket in -lsocket... yes
checking for res_init in -lresolv... yes
checking for maillock in -lmail... yes
checking for krb_recvauth in -lkrb... yes
checking for clock_gettime in -lposix4... yes
checking for crypt in -lcrypt... yes
checking for set_auth_parameters in -lsecurity... no
"(use_pam is _default_)"
checking for an ANSI C-conforming const... yes
checking for uid_t in sys/types.h... yes
checking for mode_t... yes
checking for off_t... yes
checking for size_t... yes
checking whether sys_siglist is declared... (cached) no
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working memcmp... yes
checking return type of signal handlers... void
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking whether utime accepts a null argument... yes
checking for vprintf... yes
checking for _doprnt... yes
checking for wait3 that fills in rusage... no
checking for gethostname... yes
checking for gethostbyname... no
checking for gettimeofday... yes
checking for getusershell... yes
checking for mkdir... yes
checking for socket... no
checking for strdup... yes
checking for strerror... yes
checking for strstr... yes
checking for strlcat... no
checking for strlcpy... no
checking for bcopy... yes
checking for index... yes
checking for flock... no
checking for set_auth_parameters... no
checking for pw_encrypt... no
checking for hstrerror... no
checking for snprintf... yes
checking for vsnprintf... yes
checking for srandom... yes
checking for srand... yes
checking for usleep... yes
checking for crypt... yes
checking for crypt16... no
checking for bigcrypt... no
checking for setproctitle... no
checking for mkstemp... yes
checking for setresuid... no
checking for library containing gethostbyname... -lnsl
checking size of unsigned long int... 4
checking for /dev/urandom ... no
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating common/Makefile
config.status: creating popper/Makefile
config.status: creating mmangle/Makefile
config.status: creating password/Makefile
config.status: creating config.h

This time I saw the following output by the configure process:

checking for gethostname... yes
checking for gethostbyname... no
checking for gettimeofday... yes
checking for getusershell... yes
<text snipped>
checking for library containing gethostbyname... -lnsl

During previous executions of configure for qpopper 4.0.16, I had seen the following for those same lines:

checking for gethostname... no
checking for gethostbyname... no
checking for gettimeofday... no
checking for getusershell... no
<text snipped>
checking for library containing gethostbyname... no

I then ran make again, without errors this time.

# make
cd ./popper  && make all
make[1]: Entering directory `/tmp/qpopper4.0.16/popper'
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -gstabs+ -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DN
O_GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_dele.c -o pop_dele.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -gstabs+ -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DN
O_GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_dropcopy.c -o pop_dropcopy.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -gstabs+ -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DN
O_GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_get_command.c -o pop_get_command.o
pop_get_command.c:41: warning: initialization from incompatible pointer type
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -gstabs+ -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DN
O_GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_get_subcommand.c -o pop_get_subcommand.o
gcc -c -I.. -I.. -I. \
        -I../mmangle -I../common  \
        -gstabs+ -fpcc-struct-return  -DHAVE_CONFIG_H  -DSOLARIS2 -DGNU_PASS -DN
O_GETLINE -DCONTENT_LENGTH=1 -DUNIX pop_init.c -o pop_init.o
<text snipped>
make[2]: Leaving directory `/tmp/qpopper4.0.16/common'
gcc   pop_dele.o pop_dropcopy.o pop_get_command.o pop_get_subcommand.o pop_init.
o pop_last.o pop_list.o pop_log.o pop_lower.o pop_msg.o pop_parse.o pop_pass.o p
op_quit.o pop_rset.o pop_send.o pop_stat.o pop_updt.o pop_user.o pop_xtnd.o pop_
xmit.o popper.o pop_bull.o xtnd_xlst.o pop_uidl.o mktemp.o pop_rpop.o pop_apop.o
 md5.o pop_auth.o pop_pope.o pop_extend.o scram.o hmac.o base64.o pop_util.o get
_sub_opt.o msg_ptr.o drac.o pop_config.o pop_tls.o pop_tls_openssl.o pop_tls_ssl
plus.o sslplus_utils.o main.o pop_cache.o genpath.o  -o popper ../mmangle/libman
gle.a \
        -I../common ../common/libcommon.a \
        -lnsl -lsocket -lresolv -lmail  -lkrb  -lnsl  -lposix4 -lcrypt
make[1]: Leaving directory `/tmp/qpopper4.0.16/popper'

I was then able to run make install successfully.

# make install
Installed man/popper.8 as /usr/local/share/man/man8/popper.8
Installed man/popauth.8 as /usr/local/share/man/man8/popauth.8
cd ./popper && make install
make[1]: Entering directory `/tmp/qpopper4.0.16/popper'
cd ../mmangle && make all
make[2]: Entering directory `/tmp/qpopper4.0.16/mmangle'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/qpopper4.0.16/mmangle'
cd ../common && make all
make[2]: Entering directory `/tmp/qpopper4.0.16/common'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/qpopper4.0.16/common'
gcc   pop_dele.o pop_dropcopy.o pop_get_command.o pop_get_subcommand.o pop_init.
o pop_last.o pop_list.o pop_log.o pop_lower.o pop_msg.o pop_parse.o pop_pass.o p
op_quit.o pop_rset.o pop_send.o pop_stat.o pop_updt.o pop_user.o pop_xtnd.o pop_
xmit.o popper.o pop_bull.o xtnd_xlst.o pop_uidl.o mktemp.o pop_rpop.o pop_apop.o
 md5.o pop_auth.o pop_pope.o pop_extend.o scram.o hmac.o base64.o pop_util.o get
_sub_opt.o msg_ptr.o drac.o pop_config.o pop_tls.o pop_tls_openssl.o pop_tls_ssl
plus.o sslplus_utils.o main.o pop_cache.o genpath.o  -o popper ../mmangle/libman
gle.a \
        -I../common ../common/libcommon.a \
        -lnsl -lsocket -lresolv -lmail  -lkrb  -lnsl  -lposix4 -lcrypt
Installed popper as /usr/local/sbin/popper
make[1]: Leaving directory `/tmp/qpopper4.0.16/popper'

I then connected to the POP3 port, i.e. port 110, to check the Qpopper banner.

# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
+OK Qpopper (version 4.0.16) at taiyou1.example.com starting.
quit
+OK Pop server at taiyou1.example.com signing off.
Connection closed by foreign host.

I also checked the version with popper -v.

# /usr/local/sbin/popper -v
Qpopper version 4.0.16 (non-standalone)

So, at last, the upgrade was successful. But, when I then tried checking email for my account with Outlook, I kept getting prompted for my password, though I knew I was entering the correct password. I tried connecting to the POP3 port by telnet and checking that way as well to see what error messages I might see that way. But there was no error message displayed other than one indicating the password was incorrect, which was not the case.

# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
+OK Qpopper (version 4.0.16) at taiyou1.example.com starting.
user jsmith
+OK Password required for jsmith.
pass 22aa22aa
-ERR [AUTH] Password supplied for "jsmith" is incorrect.
+OK Pop server at taiyou1.example.com signing off.
Connection closed by foreign host.

Since qpopper was being started through /etc/inetd.conf, I killed the inetd.conf process, just to see if there would be any change in results, and tried again. I got the same -ERR [AUTH] Password supplied for "jsmith" is incorrect message. I wasn't really expecting that stop to make a difference, since I hadn't changed /etc/inetd.conf.

I checked /var/log/poplog to see if there might be any clue regarding the problem there. There was nothing of use to me there, either.

Mar 27 14:43:08 taiyou1 qpopper[12877]: jsmith at localhost (127.0.0.1): -ERR [AUTH] Password supplied for "jsmith" is incorrect. Mar 27 14:43:08 taiyou1 qpopper[12877]: [AUTH] Failed attempted login to jsmith from host (localhost) 127.0.0.1

After checking postings I found online regarding login problems, I decided to rebuild the software and use the following option with configure, since Solaris is using shadow passwords.

 --enable-specialauth     Enable secure crypt or shadow passwords

I then issued the commands below:

# make realclean
# ./configure --enable-specialauth CFLAGS=-gstabs+
# make
# make install

That resolved the problem.

# telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
+OK Qpopper (version 4.0.16) at taiyou1.example.com starting.
user jsmith
+OK Password required for jsmith.
pass 22aa22aa
+OK jsmith has 1 visible message (0 hidden) in 40008 octets.
quit
+OK Pop server at taiyou1.example.com signing off.
Connection closed by foreign host.
References:
  1. Qpopper - The most widely-used POP3 server for UNIX, Linux, etc.
    Eudora®
  2. Post Office Protocol
    Wikipedia, the free encyclopedia
  3. qpopper won't compile without PAM
    Date: June 5, 2005
    foo-projects
  4. HOW-TO: using truss, ldd and nm to observe binary files
    By: Gleb Reys
    Date: March 3, 2006
    SysAdmin - Solaris 10
  5. Determine Which Package a Particular File Belongs To - (Sun Solaris)
    By: Jeff Hunter, Sr. Database Administrator
    Jeff Hunter's Oracle/Software Engineering Site
  6. Getting around smartmontools linker errors
    March 27, 2006
    Prefetch Technologies
  7. Re: "Password supplied is incorrect" error with Solaris 9...: msg#00006 mail.qpopper
    Date: September 26, 2005
    osdir - Help, Mailing LIsts & Script Assistance