[tpop3d-discuss] Compilation trouble on Solaris

Martin Schmitt martin at schmitt.li
Wed, 16 Jan 2002 21:57:05 +0100

Hi Everyone!

I'm currently trying to compile tpop3d on a Solaris 2.8 box. The box has a
fresh Solaris "core cluster" (minimum) install, manually extended with the=
following packages, which - as far as I can tell - are required to compile=
anything. =20

-  SUNWarc
-  SUNWbtool
-  SUNWhea
-  SUNWlibm
-  SUNWlibms
-  SUNWtoo
-  SUNWsprot

I'm using binary-distribution GCC 2.95.3 and GNU make 3.79.1, which I both
got from sunfreeware.com. No autoconf or automake.

First of all, I don't quite think I grok the output of ./configure --help
correctly. I trying to compile with sole support for "other" authentication=
no PAM, no passwd, no mysql, no perl, only "other".

Is the following command line correct for what I'm trying to do?

=2E/configure --prefix=3D/opt/tpop3d-1.3.5           \
            --sysconfdir=3D/etc/tpop3d             \
            --with-mailspool-directory=3D/var/mail \
	    --disable-auth-pam                   \
	    --enable-auth-other                  \

Completely correct or not: ./configure succeeds and I can run "make".

Make then terminates with the following message:

gcc  -Wall -g -lm -o tpop3d  auth_mysql.o auth_other.o auth_perl.o auth_pam=
.o auth_passwd.o authswitch.o cfgdirectives.o config.o connection.o errprin=
tf.o listener.o locks.o mailbox.o maildir.o mailspool.o main.o md5c.o pidfi=
le.o pop3.o signals.o stringmap.o strtok_r.o substvars.o tokenise.o util.o =
vector.o  -lnsl -lsocket=20
Undefined                       first referenced
 symbol                             in file
nanosleep                           auth_other.o
ld: fatal: Symbol referencing errors. No output written to tpop3d
collect2: ld returned 1 exit status
make[2]: *** [tpop3d] Error 1
make[2]: Leaving directory `/usr/local/src/tpop3d-1.3.5'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/tpop3d-1.3.5'
make: *** [all-recursive-am] Error 2

I'm absolutely not a C guy, but as far as I can guess, what's missing is the
nanosleep()-call from some POSIX threads library.

Since this is my first attempt at a "lean" Solaris setup, as opposed to the
"all the way with everything" flavour, it may well be possible that the
system only lacks a required packet. I've already googled the net for hints
on which packet this might be, but unfortunately to no avail yet.

Any ideas on how to get this to work are greatly appreciated. :-)

Thanks in advance,


HASH, x.=20
     There is no definition for this word -- nobody knows what hash is.=20
(Ambrose Bierce, The devil's dictionary)