On Fri, 2005-10-14 at 14:19 -0500, Bob Hope wrote:
When trying to build dovecot with MySQL support I got the following:
/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+0x880):/root/dovecot-1.0.alpha3/src/lib/sha1.c:233: first defined here /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld: Warning: size of symbolsha1_result' changed from 158 in ../lib/liblib.a(sha1.o) to 126 in /usr/local/mysql/lib/libmysqlclient.a(sha1.o) collect2: ld returned 1 exit status make[3]: *** [dovecot-auth] Error 1 make[3]: Leaving directory
/root/dovecot-1.0.alpha3/src/auth' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory/root/dovecot-1.0.alpha3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory
/root/dovecot-1.0.alpha3' make: *** [all] Error 2Any thoughts?
Regards,
Savage
Quote from Timo on this:
MySQL library is being stupid and exporting symbols that can easily conflict with symbols created by the programs using the library.
I'm not sure if MySQL has fixed this already or not. Maybe upgrading the library might help. If not, I'd suggest complaining to MySQL people about this since it most likely won't be causing problems to just Dovecot.
Alternatively you can just change all Dovecot's sha1_result symbols in source code to something else.
If you need a patch to change the dovecot symbols let me know.
Regards Andrew
Andrew Hutchings (A-Wing) - Linux Guru Netserve Consultants - http://www.domaincity.co.uk/ Linux CDs and DVDs - http://www.linuxiso.co.uk/ Random quote 137: "Microsoft will suck you dry, in time and knowledge."
- JONATHAN CARSON, CEO, FamilyEducation Network