On 29.10.2004, at 03:01, Greg Deputy wrote:
/usr/local/mysql/lib/libmysqlclient.a(sha1.o)(.text+0x5c): In function
sha1_result': : multiple definition of
sha1_result' ../lib/liblib.a(sha1.o)(.text+0x7f4):/root/dovecot-1.0-test51/src/lib/ sh a1.c:242: first defined here /usr/bin/ld: Warning: size of symbol `sha1_result' changed from 158 in ../lib/liblib.a(sha1.o) to 126 in ../lib/liblib.a(sha1.o)
IMHO this is mysql library problem. It shouldn't reserve such a
commonly used function name for itself, and I'm sure Dovecot isn't the
only software using it. Someone should report it to Mysql people to get
it fixed..
A kludgy workaround would be to change all occurrences of sha1_result
to something else, like xx_sha1_result:
auth/password-scheme.c: sha1_result(&ctx, ssha_digest); auth/password-scheme.c: sha1_result(&ctx, sha1_digest); lib/sha1.c:sha1_result(struct sha1_ctxt *ctxt, void *digest0) lib/sha1.c: sha1_result(&ctx, result); lib/sha1.h:extern void sha1_result(struct sha1_ctxt *, void *); lib/sha1.h:#define SHA1Final(x, y) sha1_result((y), (x))