Great, thanks! to Werner and Alex On Sat, Aug 3, 2019 at 9:54 PM Alexander Malysh <amal...@kannel.org> wrote:
> Hi, > > yes, I already saw it. Fixed in SVN. > > Alex > > > Am 02.08.2019 um 17:18 schrieb Werner Coetzee < > werner.coet...@clickatell.com>: > > Compare pre-8 documentation (e.g. 5.5 > https://dev.mysql.com/doc/refman/5.5/en/c-api-data-structures.html ) to > mysql 8.0 documentation > https://dev.mysql.com/doc/refman/8.0/en/c-api-data-structures.html > > For 8 it says: > my_bool: A boolean type, for values that are true (nonzero) or false > (zero). The my_bool type was used before MySQL 8.0. As of MySQL 8.0, use > the bool or int C type instead. > NOTE: The change from my_bool to bool means that the mysql.h header file > requires a C++ or C99 compiler to compile. > > So maybe dbpool_mysql.c can do with a #if MYSQL_VERSION_ID check? e.g. > > #if MYSQL_VERSION_ID >= 80000 > typedef int my_bool; > #endif > > Werner > > > Werner Coetzee​ > C Developer > <image286865.png> > *werner.coet...@clickatell.com* <werner.coet...@clickatell.com> > <image918509.png> > +27 (21) 910 7700 > <image874095.png> > *From:* devel <devel-boun...@kannel.org> *On Behalf Of *Hillel Bilman > *Sent:* 02 August 2019 16:30 > *To:* Alexander Malysh <amal...@kannel.org> > *Cc:* Kannel Devel <devel@kannel.org> > *Subject:* Mysql 8.x will not compile with latest Kannel > > > Hi Alex, > > The server I'm using has: > Mysql 8.0.17 > Centos 7.x > Kannel svn-r5278M (latest version from svn) > > Latest Kannel SVN will not compile with Mysql 8.0.17. > This error with Mysql 8.x was reported in redmine 08/18/2018 > https://redmine.kannel.org/issues/782 > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fredmine.kannel.org%2Fissues%2F782&data=02%7C01%7C%7C0d7a493199de4c4ae61408d717560036%7Cf05b82000f184302889e9f6703297586%7C0%7C0%7C637003530455590653&sdata=S%2FjJrklB%2BM%2FtVaIQ9bU51KrWit7baFk7LzyrnyLf5bA%3D&reserved=0> > But there does not seem to be any reported solution. > > Any help is appreciated to be able to compile Kannel. > > Steps using to compile Kannel: > svn co https://svn.kannel.org/gateway/trunk/ > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsvn.kannel.org%2Fgateway%2Ftrunk%2F&data=02%7C01%7C%7C0d7a493199de4c4ae61408d717560036%7Cf05b82000f184302889e9f6703297586%7C0%7C0%7C637003530455600647&sdata=jXRnV%2Blvm8ThzHynnpyo1PFsSzUcr8OdCCDphFmoOFc%3D&reserved=0> > gateway > cd gateway > ./bootstrap.sh > ./configure --with-defaults=speed --with-mysql --enable-start-stop-daemon > --enable-ssl --disable-localtime --enable-cookies > make;make install > > Configuring for Kannel gateway version svn-r5278M ... > .. > Showing the database section with the two WARNINGs: > Configuring DB support ... > checking whether to compile with MySQL support... searching > checking for mysql_config... /bin/mysql_config > checking mysql version... 8.0.17 > checking mysql reentrant libs... -L/usr/lib64/mysql -lmysqlclient > -lpthread -lm -lrt -lssl -lcrypto -ldl > checking for mysql_init in -lmysqlclient_r... no > checking mysql libs... -L/usr/lib64/mysql -lmysqlclient -lpthread -lm -lrt > -lssl -lcrypto -ldl > checking for mysql_init in -lmysqlclient... yes > checking mysql includes... -I/usr/include/mysql > checking mysql/mysql.h usability... yes > checking mysql/mysql.h presence... no > configure: WARNING: mysql/mysql.h: accepted by the compiler, rejected by > the preprocessor! > configure: WARNING: mysql/mysql.h: proceeding with the compiler's result > checking for mysql/mysql.h... yes > checking mysql/mysql_version.h usability... yes > checking mysql/mysql_version.h presence... yes > checking for mysql/mysql_version.h... yes > checking for mysql_stmt_init in -lmysqlclient_r... no > checking for mysql_stmt_init in -lmysqlclient... yes > checking whether to compile with MySQL support... yes > checking whether to compile with LibSDB support... disabled > checking whether to compile with SQLite2 support... disabled > checking whether to compile with SQLite3 support... disabled > checking whether to compile with Oracle support... disabled > checking whether to compile with PostgresSQL support... disabled > checking whether to compile with Redis support... disabled > checking whether to compile with FreeTDS Ct-Lib support... disabled > checking whether to compile with Cassandra support... disabled > > root@eco007-truservcomm-jhb1-001 /home/kannel/gateway $ make > make all-recursive > make[1]: Entering directory `/home/kannel/gateway' > Making all in gwlib > make[2]: Entering directory `/home/kannel/gateway/gwlib' > /bin/sh ../libtool --tag=CC --mode=compile gcc -std=gnu99 > -DHAVE_CONFIG_H -I. -I.. -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE > -D_DEFAULT_SOURCE -D_LARGE_FILES= -I/usr/include/libxml2 > -I/usr/include/openssl -I/usr/include/mysql -MT dbpool.lo -MD -MP -MF > .deps/dbpool.Tpo -c -o dbpool.lo dbpool.c > libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -g -O2 > -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_LARGE_FILES= > -I/usr/include/libxml2 -I/usr/include/openssl -I/usr/include/mysql -MT > dbpool.lo -MD -MP -MF .deps/dbpool.Tpo -c dbpool.c -fPIC -DPIC -o > .libs/dbpool.o > In file included from gwlib.h:83:0, > from dbpool.c:70: > dbpool_mysql.c: In function 'mysql_select': > dbpool_mysql.c:248:48: error: 'my_bool' undeclared (first use in this > function) > bind[i].is_null = gw_malloc(sizeof(my_bool)); > ^ > gwmem.h:122:43: note: in definition of macro 'gw_malloc' > #define gw_malloc(size) (gw_native_malloc(size)) > ^ > dbpool_mysql.c:248:48: note: each undeclared identifier is reported only > once for each function it appears in > bind[i].is_null = gw_malloc(sizeof(my_bool)); > ^ > gwmem.h:122:43: note: in definition of macro 'gw_malloc' > #define gw_malloc(size) (gw_native_malloc(size)) > ^ > make[2]: *** [dbpool.lo] Error 1 > make[2]: Leaving directory `/home/kannel/gateway/gwlib' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/home/kannel/gateway' > make: *** [all] Error 2 > > root@eco007-truservcomm-jhb1-001 /home/kannel/gateway $ rpm -qa|grep mysql > mysql-community-common-8.0.17-1.el7.x86_64 > mysql-community-server-8.0.17-1.el7.x86_64 > mysql-community-libs-8.0.17-1.el7.x86_64 > mysql-community-libs-compat-8.0.17-1.el7.x86_64 > mysql80-community-release-el7-3.noarch > mysql-community-client-8.0.17-1.el7.x86_64 > mysql-community-devel-8.0.17-1.el7.x86_64 > > > >