[Dovecot] Compile failure (alpha 5, MySQL 5)
gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2
-Wbad-function-cast -I/usr/kerberos/include -o dovecot-auth auth.o
auth-cache.o auth-client-connection.o auth-master-connection.o
auth-master-listener.o auth-module.o auth-request.o
auth-request-handler.o auth-stream.o auth-worker-client.o
auth-worker-server.o db-ldap.o db-sql.o db-passwd-file.o main.o mech.o
mech-anonymous.o mech-plain.o mech-login.o mech-cram-md5.o
mech-digest-md5.o mech-ntlm.o mech-gssapi.o mech-rpa.o mech-apop.o
passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-ldap.o
passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-checkpassword.o
passdb-shadow.o passdb-vpopmail.o passdb-sql.o userdb.o
userdb-blocking.o userdb-ldap.o userdb-passwd.o userdb-passwd-file.o
userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o
-Wl,--export-dynamic libpassword.a ../lib-settings/libsettings.a
../lib-ntlm/libntlm.a ../lib-sql/libsql.a ../lib/liblib.a -lcrypt -lpam
-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv
-L/usr/local/mysql/lib -lmysqlclient -lz -ldl
/usr/local/mysql/lib/libmysqlclient.a(sha1.o)(.text+0x50): In function
sha1_result': : multiple definition of
sha1_result'
../lib/liblib.a(sha1.o)(.text+0x820):/usr/local/src/dovecot-1.0.alpha5/src/lib/sha1.c:233:
first defined here
/usr/bin/ld: Warning: size of symbol `sha1_result' changed from 158 in
../lib/liblib.a(sha1.o) to 316 in
/usr/local/mysql/lib/libmysqlclient.a(sha1.o)
collect2: ld returned 1 exit status
Running MySQL 5.0.16 and Dovecot 1.0 Alpha 5
// Tom
Tom Sommer wrote:
/usr/local/mysql/lib/libmysqlclient.a(sha1.o)(.text+0x50): In function
sha1_result': : multiple definition of
sha1_result' ../lib/liblib.a(sha1.o)(.text+0x820):/usr/local/src/dovecot-1.0.alpha5/src/lib/sha1.c:233: first defined here /usr/bin/ld: Warning: size of symbol `sha1_result' changed from 158 in ../lib/liblib.a(sha1.o) to 316 in /usr/local/mysql/lib/libmysqlclient.a(sha1.o) collect2: ld returned 1 exit status
Dovecot's sha1_result function collides with mysql's. You could try renaming all occurences of sha1_result in Dovecot's source files with something else (like dovecot_sh1a_result).
Jakob Hirsch wrote:
Tom Sommer wrote:
/usr/local/mysql/lib/libmysqlclient.a(sha1.o)(.text+0x50): In function
sha1_result': : multiple definition of
sha1_result' ../lib/liblib.a(sha1.o)(.text+0x820):/usr/local/src/dovecot-1.0.alpha5/src/lib/sha1.c:233: first defined here /usr/bin/ld: Warning: size of symbol `sha1_result' changed from 158 in ../lib/liblib.a(sha1.o) to 316 in /usr/local/mysql/lib/libmysqlclient.a(sha1.o) collect2: ld returned 1 exit statusDovecot's sha1_result function collides with mysql's. You could try renaming all occurences of sha1_result in Dovecot's source files with something else (like dovecot_sh1a_result).
I'd rather see it fixed in the official dovecot distribution, but thanks for the hint :)
// Tom
On Mon, 2005-12-19 at 16:16 +0100, Tom Sommer wrote:
Dovecot's sha1_result function collides with mysql's. You could try renaming all occurences of sha1_result in Dovecot's source files with something else (like dovecot_sh1a_result).
I'd rather see it fixed in the official dovecot distribution, but thanks for the hint :)
Unlikely to happen. If MySQL doesn't fix it (http://bugs.mysql.com/bug.php?id=13944), the next step would be to start harassing package builders of all distributions.. I don't want stupid workarounds for stupid libraries :) I doubt Dovecot is the only program having this problem.
On Tue, December 20, 2005 10:05, Timo Sirainen wrote:
On Mon, 2005-12-19 at 16:16 +0100, Tom Sommer wrote:
Dovecot's sha1_result function collides with mysql's. You could try renaming all occurences of sha1_result in Dovecot's source files with something else (like dovecot_sh1a_result).
I'd rather see it fixed in the official dovecot distribution, but thanks for the hint :)
Unlikely to happen. If MySQL doesn't fix it (http://bugs.mysql.com/bug.php?id=13944), the next step would be to start harassing package builders of all distributions.. I don't want stupid workarounds for stupid libraries :) I doubt Dovecot is the only program having this problem.
Judging by the look of that bugreport, we better start harassing now :)
// Tom
On Tue, December 20, 2005 10:05, Timo Sirainen wrote:
On Mon, 2005-12-19 at 16:16 +0100, Tom Sommer wrote:
Dovecot's sha1_result function collides with mysql's. You could try renaming all occurences of sha1_result in Dovecot's source files with something else (like dovecot_sh1a_result).
I'd rather see it fixed in the official dovecot distribution, but thanks for the hint :)
Unlikely to happen. If MySQL doesn't fix it (http://bugs.mysql.com/bug.php?id=13944), the next step would be to start harassing package builders of all distributions.. I don't want stupid workarounds for stupid libraries :) I doubt Dovecot is the only program having this problem.
The MySQL bug is fixed now, rejoice :)
Regards
Tom Sommer http://tomsommer.dk
participants (4)
-
Jakob Hirsch
-
Timo Sirainen
-
Tom Sommer
-
Tom Sommer