| Summary: | devel/apr1: Broken with MySQL 5.7 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | denzill <denis.kachurin> | ||||
| Component: | Individual Port(s) | Assignee: | freebsd-apache (Nobody) <apache> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | CC: | joneum, t.masub | ||||
| Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(apache) |
||||
| Version: | Latest | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
Created attachment 241398 [details] [patch] MY_BOOL definition only added since MySQL 8.0.1 In MySQL, the definition of MY_BOOL is in mysql.h up to version 8.0.0 [1], so a double definition error occurs. As a workaround, I created a patch that adds the definition of MY_BOOL to that version or later. It has been confirmed that the build can be done with the following settings. (1) DEFAULT_VERSIONS+=mysql=5.7 (2) DEFAULT_VERSIONS+=mysql=8.0 (3) DEFAULT_VERSIONS+=mysql=10.6m * Note that mysql5[67]-* is DEPRECATED. in mysql57-server/Makefile: | DEPRECATED= Upstream support ended in October 2019 | EXPIRATION_DATE= 2023-12-31 References: [1] MySQL Bug #25597667: REMOVE MY_BOOL https://github.com/mysql/mysql-server/commit/6c174bd2a59dfb411b0830455121618acfc10406 MySQL57 ist EOL and no longer into the Ports, so i will closed here |
devel/apr1 not build if DEFAULT_VERSIONS+= mysql=5.7 is set: /bin/sh /usr/ports/devel/apr1/work/apr-1.7.3/libtool --silent --mode=compile --tag=CC cc -O2 -pipe -DLIBICONV_PLUG -DLDAP_DEPRECATED -fstack-protector-strong -fno-strict-aliasing -DHAVE_CONFIG_H -DLIBICONV_PLUG -I/usr/ports/devel/apr1/work/apr-util-1.6.3/include -I/usr/ports/devel/apr1/work/apr-util-1.6.3/include/private -I/usr/local/include/mysql -I/usr/ports/devel/apr1/work/apr-1.7.3/include -I/usr/include -I/usr/local/include -I/usr/local/include/db18 -o dbm/apr_dbm_berkeleydb.lo -c dbm/apr_dbm_berkeleydb.c && touch dbm/apr_dbm_berkeleydb.lo --- dbd/apr_dbd_mysql.lo --- dbd/apr_dbd_mysql.c:49:14: error: typedef redefinition with different types ('bool' vs 'char') typedef bool my_bool; ^ /usr/local/include/mysql/mysql.h:49:14: note: previous definition is here typedef char my_bool; ^ dbd/apr_dbd_mysql.c:1271:5: warning: implicit declaration of function 'my_init' is invalid in C99 [-Wimplicit-function-declaration] my_init(); ^ 1 warning and 1 error generated. *** [dbd/apr_dbd_mysql.lo] Error code 1 make[3]: stopped in /usr/ports/devel/apr1/work/apr-util-1.6.3 1 error make[3]: stopped in /usr/ports/devel/apr1/work/apr-util-1.6.3 *** [all-recursive] Error code 1 make[2]: stopped in /usr/ports/devel/apr1/work/apr-util-1.6.3 1 error make[2]: stopped in /usr/ports/devel/apr1/work/apr-util-1.6.3 *** Error code 2 Stop. make[1]: stopped in /usr/ports/devel/apr1 *** Error code 1 Stop. make: stopped in /usr/ports/devel/apr1