[OpenAFS] (1.3.72 - RH9 Linux) prototype error in des.c and des_prototype.h

Tony D'Amato tdamato@odu.edu
Mon, 18 Oct 2004 09:06:26 -0400

Trtied compiling 1.3.72 this morning on a RH9 box and got the following

gcc -pipe  -O2 -I/usr/src/redhat/BUILD/openafs-1.3.72/src/config -I. -I. -I/usr/src/redhat/BUILD/openafs-1.3.72/include -I/usr/src/redhat/BUILD/openafs-1.3.72/include/afs -I/usr/src/redhat/BUILD/openafs-1.3.72/include/rx -I/usr/src/redhat/BUILD/openafs-1.3.72 -I/usr/src/redhat/BUILD/openafs-1.3.72/src -I/usr/src/redhat/BUILD/openafs-1.3.72/src -g -O2 -D_LARGEFILE64_SOURCE -c des.c
des.c:77: conflicting types for `des_ecb_encrypt'
des_prototypes.h:35: previous declaration of `des_ecb_encrypt'
make[3]: *** [des.o] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/openafs-1.3.72/src/des'
make[2]: *** [des] Error 2
make[2]: Leaving directory `/usr/src/redhat/BUILD/openafs-1.3.72'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/usr/src/redhat/BUILD/openafs-1.3.72'
make: *** [all_nolibafs] Error 2

The call in des_prototypes.h looks like this:

extern afs_int32 des_ecb_encrypt(void * clear, void * cipher,
                                 register des_key_schedule schedule,
                                 int encrypt);

The actual function in des.c looks like this:

des_ecb_encrypt(afs_uint32 * clear, afs_uint32 * cipher,
                register des_key_schedule schedule, int encrypt)

The compilation continued after I fixed des_prototype.h... FYI.


He that would make his own liberty secure must guard even his enemy 
from oppression; for if he violates this duty he establishes a precedent
that will reach to himself. --Thomas Paine