Tim Buck wrote: > autoheader: `autoconf.h.in' is updated > > Then I did: > # autoconf > # cd .. > # make clean && ./configure --prefix=/usr/gnats > > When configure was done, I did 'make', and now I'm back to: > > Creating gnats-databases... > make: don't know how to make gnats-pwconv.o. Stop > *** Error code 2 Hmm... Is there any way to get a little more verbosity in your make process? I did some digging. It looks like the HAVE_CRYPT definition is never really set. I don't know when it ever was. HAVE_CRYPT_H is being set in autoconf.h.in (including the older 2.13 generated version). We need to check for this new define in gnats-pwconv.c and gnatsd.c. Apparently, as the comment states, crypt() can be defined in unistd.h or crypt.h. We need to figure out which, and handle it appropriately. Additionally, gnats-pwconv.c has extraneous #include directives that are already called in gnats.h. This may actually be one source of confusion by the compiler/linker. I haven't yet tested this thoroughly, but here's a possible patch to actually include the crypt.h header file correctly. Preliminary tests on my machine are favorable, but then again, I didn't have problems w/the Debian GNU/Linux setup. --- orig/gnats/gnats-pwconv.c +++ mod/gnats/gnats-pwconv.c @@ -19,15 +19,10 @@ #include "gnats.h" #ifdef HAVE_LIBCRYPT -#ifdef HAVE_CRYPT /* some systems declare `crypt' in unistd.h */ +#ifdef HAVE_CRYPT_H /* some systems declare `crypt' in unistd.h */ #include #endif #endif -#include -#include -#include -#include - enum _Crypt_Type { NONE, PLAIN, CRYPT, MD5 }; typedef enum _Crypt_Type Crypt_Type; --- orig/gnats/gnatsd.c +++ mod/gnats/gnatsd.c @@ -24,7 +24,7 @@ #include "query.h" #ifdef HAVE_LIBCRYPT -#ifdef HAVE_CRYPT /* some systems declare `crypt' in unistd.h */ +#ifdef HAVE_CRYPT_H /* some systems declare `crypt' in unistd.h */ #include #endif #endif -- Chad Walstrom http://www.wookimus.net/ assert(expired(knowledge)); /* core dump */