[tpop3d-discuss] Compilation trouble on Solaris

Chris Lightfoot chris at ex-parrot.com
Thu, 17 Jan 2002 00:05:24 +0000


On Wed, Jan 16, 2002 at 09:57:05PM +0100, Martin Schmitt wrote:
> 
> 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?
> 
> ./configure --prefix=/opt/tpop3d-1.3.5           \
>             --sysconfdir=/etc/tpop3d             \
>             --with-mailspool-directory=/var/mail \
> 	    --disable-auth-pam                   \
> 	    --enable-auth-other                  \
>             --disable-cclient-locking
> 
> Completely correct or not: ./configure succeeds and I can run "make".

That's correct. I admit that the output of ./configure
--help is not tremendously helpful; that's what the
INSTALL file is intended to fix :)

> Make then terminates with the following message:
> 
> (snip)
> 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 errprintf.o listener.o locks.o mailbox.o maildir.o mailspool.o main.o md5c.o pidfile.o pop3.o signals.o stringmap.o strtok_r.o substvars.o tokenise.o util.o vector.o  -lnsl -lsocket 
> 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.

Sorry, known bug, you need -lrt. Try pasting the above gcc
command line and appending -lrt on the end, and see if it
works. I'll fix autoconf in the next release (RSN, once I
can find a way to make TLS work properly....)

> 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.

I'm fairly sure that it's only -lrt it's missing.

OOI, what do you want to do with auth-other? If your
authenticator is likely to be of general interest, would
you be prepared to contribute it to the distribution?

-- 
 ``It's is not, it isn't ain't, and it's it's, not its, if you mean it is. If
   you don't, it's its. Then too, it's hers. It isn't her's. It isn't our's
   either. It's ours, and likewise yours and theirs.'' (From `Edpress News')