[Dovecot] Please help, cant compile with mysql support
I've been going round and round with this, and its driving me nuts. Previously, dovecot was erroring out during make due to some MySQL library issues. I thought I had that fixed, but now the compiled version I'm getting says it doesn't have MySQL support. I just started over, and noticed that ./configure is saying:
Install prefix ...................... : /usr/local File offsets ........................ : 64bit I/O loop method ..................... : poll File change notification method ..... : dnotify Building with SSL support ........... : no Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword sql (modules) Building with password lookup modules : passwd passwd-file shadow checkpassword sql (modules) Building with SQL drivers ............:
I've tried running with:
CPPFLAGS=-I/usr/local/include/MySQL LDFLAGS=-L/usr/local/lib ./configure --with-MySQL
But same result. No MySQL support noted by ./configure.
Any tips? Please help.
Thanks.
Also, does it make a difference if mysql version 4 or 5 is installed? I am running version 5.
----- Original Message ----- From: "Greg Deputy" gregdeputy@comcast.net To: dovecot@dovecot.org Sent: Monday, August 21, 2006 2:18 PM Subject: [Dovecot] Please help, cant compile with mysql support
I've been going round and round with this, and its driving me nuts. Previously, dovecot was erroring out during make due to some MySQL library issues. I thought I had that fixed, but now the compiled version I'm getting says it doesn't have MySQL support. I just started over, and noticed that ./configure is saying:
Install prefix ...................... : /usr/local File offsets ........................ : 64bit I/O loop method ..................... : poll File change notification method ..... : dnotify Building with SSL support ........... : no Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword sql (modules) Building with password lookup modules : passwd passwd-file shadow checkpassword sql (modules) Building with SQL drivers ............:
I've tried running with:
CPPFLAGS=-I/usr/local/include/MySQL LDFLAGS=-L/usr/local/lib ./configure --with-MySQL
But same result. No MySQL support noted by ./configure.
Any tips? Please help.
Thanks.
On Mon, 2006-08-21 at 14:49 -0700, Greg Deputy wrote:
CPPFLAGS=-I/usr/local/include/MySQL LDFLAGS=-L/usr/local/lib ./configure --with-MySQL
Why do you have --with-MySQL and not --with-mysql? I'm not sure if that matters though. Anyway look for "mysql" in config.log. It tells the exact error why it failed.
Sorry, I typo'd it in the quote below, I am actually using --with-mysql.
I'm not able to figure out what Config.log is trying to tell me, its at http://greg.blastzone.com/config.log if anyone can take the time to look.
Thanks again.
-----Original Message----- From: dovecot-bounces@dovecot.org [mailto:dovecot-bounces@dovecot.org] On Behalf Of Timo Sirainen Sent: Monday, August 21, 2006 3:17 PM To: Greg Deputy Cc: dovecot@dovecot.org Subject: Re: [Dovecot] Please help, cant compile with mysql support
On Mon, 2006-08-21 at 14:49 -0700, Greg Deputy wrote:
CPPFLAGS=-I/usr/local/include/MySQL LDFLAGS=-L/usr/local/lib ./configure --with-MySQL
Why do you have --with-MySQL and not --with-mysql? I'm not sure if that matters though. Anyway look for "mysql" in config.log. It tells the exact error why it failed.
- Greg Deputy, 2006-08-22 16:58
Sorry, I typo'd it in the quote below, I am actually using --with-mysql.
I'm not able to figure out what Config.log is trying to tell me, its at http://greg.blastzone.com/config.log if anyone can take the time to look.
Thanks again.
Looking at lines 4357ff, it seems like your MySQL libs have been linked against yaSSL, which in turn seems to be a C++ library - thus gcc can't figure out that it needs to link against libstdc++.so (and presumably a few more things in addition to that) as well.
I'm pretty sure that linking a plain C program like Dovecot against C++ libraries is asking for *lots* of trouble, provided that it's possible at all - which I very much doubt.
Looks like you'll either have to replace yaSSL with OpenSSL (or another SSL provider library written in plain C) on your system, or install OpenSSL in parallel to yaSSL. Then you'll need to get a MySQL version that's linked against OpenSSL rather than yaSSL.
The first variant (ie. ripping out yaSSL and replacing it with OpenSSL) is likely to break a few things on your system that depend on yaSSL, though. So, personally, I'd go for the second variant, which would result in the following steps needed on your system (with a bit of help from my trusty ol' crystal ball):
Replace yaSSL with OpenSSL, or install OpenSSL in parallel to yaSSL. As I said, the former would presumably break a few things on your system, so I'd aim for a parallel OpenSSL installation.
Recompile/reinstall MySQL, and make sure it's linked against OpenSSL rather than yaSSL this time.
Configure/compile Dovecot as usual, should work fine now.
HTH!
Thomas
=-------------------------------------------------------------------------=
- Thomas "ZlatkO" Zajic zlatko@gmx.at Linux-2.6.17 & Thunderbird-1.5 -
"It is not easy to cut through a human head with a hacksaw." (M. C.) -
[ Sorry, replied to Greg with the wrong identity, so the CC: to the list got stuck in the moderator queue :-/ ]
- Greg Deputy, 2006-08-22 16:58
Sorry, I typo'd it in the quote below, I am actually using --with-mysql.
I'm not able to figure out what Config.log is trying to tell me, its at http://greg.blastzone.com/config.log if anyone can take the time to look.
Thanks again.
Looking at lines 4357ff, it seems like your MySQL libs have been linked against yaSSL, which in turn seems to be a C++ library - thus gcc can't figure out that it needs to link against libstdc++.so (and presumably a few more things in addition to that) as well.
I'm pretty sure that linking a plain C program like Dovecot against C++ libraries is asking for *lots* of trouble, provided that it's possible at all - which I very much doubt.
Looks like you'll either have to replace yaSSL with OpenSSL (or another SSL provider library written in plain C) on your system, or install OpenSSL in parallel to yaSSL. Then you'll need to get a MySQL version that's linked against OpenSSL rather than yaSSL.
The first variant (ie. ripping out yaSSL and replacing it with OpenSSL) is likely to break a few things on your system that depend on yaSSL, though. So, personally, I'd go for the second variant, which would result in the following steps needed on your system (with a bit of help from my trusty ol' crystal ball):
Replace yaSSL with OpenSSL, or install OpenSSL in parallel to yaSSL. As I said, the former would presumably break a few things on your system, so I'd aim for a parallel OpenSSL installation.
Recompile/reinstall MySQL, and make sure it's linked against OpenSSL rather than yaSSL this time.
Configure/compile Dovecot as usual, should work fine now.
HTH!
Thomas
=-------------------------------------------------------------------------=
- Thomas "ZlatkO" Zajic zlatko@gmx.at Linux-2.6.17 & Thunderbird-1.5 -
"It is not easy to cut through a human head with a hacksaw." (M. C.) -
participants (6)
-
Greg Deputy
-
Greg Deputy
-
Thomas Zajic
-
Thomas Zajic
-
Timo Sirainen
-
websafe