Crypt errors

Posted by Atrox on Wed 14 Jan 2004 08:48 PM — 5 posts, 17,853 views.

USA #0
I'm trying to compile a smaug base in CygWin and I'm having some trouble fixing a few errors:

Crypt Error:
o/act_info.o(.text+0xb44e): In function `do_password':
/cygdrive/c/atrox/appz/cygwin/home/dbz/src/act_info.c:3564: undefined reference
to `_crypt'


Bigregex Error:
o/act_comm.o(.text+0x7122): In function `add_profane_word':
/cygdrive/c/atrox/appz/cygwin/home/dbz/src/act_comm.c:3300: undefined reference
to `_bigregex'


If anyone has any clue how to fix these, I'd be very happy.
USA #1
You probably don't have the crypt libraries... I don't think they exist on Windows.

What you need to do is define NOCRYPT or something like that - look in the makefile, it should tell you to uncomment a line if you have trouble with crypt.
USA #2
Or, you do this:

#if defined(__CYGWIN__)
#include <crypt.h>
#endif

That goes at the top of whichever file complains, and will stop crypt problems. Assuming the problem is Cygwin related. Far better solution than leaving it without encryption since the pfiles would end up incompatible should the mud move to a Linux host where the encryption is working.

As for the regex, it's part of the profanity filter and you'd be better of ditching it since it's generally worthless.
USA #3
Yea, I've had the crypt package and I've got crypt.h defined and I have "NOCRYPT = " in my Makefile, but I'm still getting the errors.
Australia Forum Administrator #4
Should work. You are including crypt.h in act_info.c before do_password? You said you had it "defined". That isn't quite the same as including it.