[Dovecot] 1.1beta9 'make' fails on osx/Tiger, but OK on osx/Leopard (multiple definitions of symbol _hash_create)

Timo Sirainen tss at iki.fi
Wed Nov 28 09:22:42 EET 2007


On Tue, 2007-11-27 at 22:43 -0800, snowcrash wrote:
> 	/usr/libexec/gcc/powerpc-apple-darwin8/4.2.1/ld: multiple definitions
> of symbol _hash_create
> 	/usr/lib/gcc/powerpc-apple-darwin8/4.2.1/../../../libpthread.dylib(strhash.So)
> definition of _hash_create

I'd report this as a bug to Apple. Standard libraries shouldn't export
symbols with such a common name.

This will probably fix it for now:

diff -r 373beccc2468 src/lib/hash.h
--- a/src/lib/hash.h    Wed Nov 28 09:16:17 2007 +0200
+++ b/src/lib/hash.h    Wed Nov 28 09:19:40 2007 +0200
@@ -1,5 +1,10 @@
 #ifndef HASH_H
 #define HASH_H
+
+#ifdef __APPLE__
+#  define hash_create hash_create_osx_leopard_pthreads_conflict_fix
+#  define hash_destroy hash_destroy_osx_leopard_pthreads_conflict_fix
+#endif
 
 /* Returns hash code. */
 typedef unsigned int hash_callback_t(const void *p);

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20071128/9af74092/attachment.bin 


More information about the dovecot mailing list