https://dev.mysql.com/doc/refman/8.0/en/mysql-init.html does not support intentional removal of mysql_init

Aki
On 15 January 2019 at 22:28 Aki Tuomi < aki.tuomi@open-xchange.com> wrote:


I tried earlier today using latest version offered in Oracle repos for 8.0, and was able to compile dovecot. I can revisit the issue though.

Aki

On 15 January 2019 at 22:02 Larry Rosenman < larryrtx@gmail.com> wrote:


It appears the issue is MySQL 8.0.13 apparently(?) removed the mysql_init
symbol.

poudriere logs:
http://home.lerctr.org:8888/jail.html?mastername=p120amd64-host-ports

the first build is 8.0.12, the 2nd is 8.0.13.

Can the dovecot guys look as well? I've sent a note to the MySQL
maintainer for FreeBSD as well.

Thanks.

On Tue, Jan 15, 2019 at 1:15 AM Odhiambo Washington < odhiambo@gmail.com>
wrote:

>
>

> > On Tue, 15 Jan 2019 at 04:57, Larry Rosenman < larryrtx@gmail.com> wrote:
> >> I got a complaint from a FreeBSD user that they couldn't compile dovecot
>> against MySQL 8.0.
>>
>> Is MySQL 8.0 support with 2.3.4?
>>
>> they receive:
>> checking for mysql_init in -lmysqlclient... no
>> configure: error: Can't build with MySQL support: libmysqlclient not
>> found ===> Script "configure" failed unexpectedly.
>> Please report the problem to ler@FreeBSD.org [maintainer] and attach the
>> "/wrkdirs/usr/ports/mail/dovecot/work/dovecot-2.3.4/config.log"
>> including the output of the failure of your make command. Also, it
>> might be a good idea to provide an overview of all packages installed
>> on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea).
>> *** Error code 1
>>
>> thanks!
>>
>

> > I recently installed FreeBSD-12 and installed MySQL-8.0 and build
dovecot-2.3.4 against it.
Well, I tried to do ldd /usr/local/sbin/dovecot to see what it's build
against, but it shows different
output than what I see when I do the same against my Exim. Maybe it's a
gcc vs clang issue, but

>
> > root@gw:/usr/home/wash # uname -msrsv
FreeBSD 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC amd64
root@gw:/usr/home/wash # mysql --version
mysql Ver 8.0.12 for FreeBSD12.0 on amd64 (Source distribution)
root@gw:/usr/home/wash # strings /usr/local/sbin/dovecot | grep SQL
SQL drivers: mysql postgresql sqlite

>
> > In the output you've given, let's just say the issue is that there is
no libmysqlclient.so.21 in the standard INCLUDE path..

>
> > I have just extracted dovecot-2.3.4 into a directory and did:
./configure --with-mysql=yes

>
> > The output is:
>
> > -----------8<------------
checking for mysql_config... mysql_config
checking for mysql_init in -lmysqlclient... yes
checking mysql.h usability... yes
checking mysql.h presence... yes
checking for mysql.h... yes
checking for mysql_ssl_set in -lmysqlclient... yes
----------8<--------------
Install prefix . : /usr/local
File offsets ... : 64bit
I/O polling .... : kqueue
I/O notifys .... : kqueue
SSL ............ : yes (OpenSSL)
GSSAPI ......... : no
passdbs ........ : static passwd passwd-file pam checkpassword sql
CFLAGS ......... : -std=gnu99 -g -O2 -fstack-protector-strong
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -W -Wmissing-prototypes
-Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2
-Wbad-function-cast -Wno-duplicate-decl-specifier -Wstrict-aliasing=2
: -shadow -bsdauth -sia -ldap -vpopmail
userdbs ........ : static prefetch passwd passwd-file checkpassword sql
: -ldap -vpopmail
*SQL drivers .... : mysql*
: -pgsql -sqlite -cassandra
Full text search : squat
: -lucene -solr
root@gw:/usr/local/SRC/dovecot-2.3.4 #

> >
> > So, yes, it's supported!
> >
> > --
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", grep ^[^#] :-)

>
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 (c) E-Mail: larryrtx@gmail.com
US Mail: 5708 Sabbia Dr, Round Rock, TX 78665-2106

---
Aki Tuomi

---
Aki Tuomi