maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #12421
Re: 5e71a3e0df7: MDEV-23925: Fix warnings generated during compilation of mysys_ssl/openssl.c on MacOS
Hi, Dmitry!
ok to push
(again, comments below)
On Oct 19, Dmitry Shulga wrote:
> revision-id: 5e71a3e0df7 (mariadb-10.2.31-489-g5e71a3e0df7)
> parent(s): 8984d779103
> author: Dmitry Shulga <dmitry.shulga@xxxxxxxxxxx>
> committer: Dmitry Shulga <dmitry.shulga@xxxxxxxxxxx>
> timestamp: 2020-10-09 20:55:14 +0700
> message:
>
> MDEV-23925: Fix warnings generated during compilation of mysys_ssl/openssl.c on MacOS
>
> Compiler warnings listed below are generated during server build on MacOS:
> In file included from server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
> In file included from /usr/local/include/openssl/evp.h:16:
> In file included from /usr/local/include/openssl/bio.h:20:
> /usr/local/include/openssl/crypto.h:206:10: warning: 'CRYPTO_cleanup_all_ex_data' macro redefined [-Wmacro-redefined]
> ^
> /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:46:9: note: previous definition is here
> ^
> In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
> /usr/local/include/openssl/evp.h:501:10: warning: 'EVP_MD_CTX_init' macro redefined [-Wmacro-redefined]
> ^
> /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:33:9: note: previous definition is here
> ^
> In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
> /usr/local/include/openssl/evp.h:627:11: warning: 'EVP_CIPHER_CTX_init' macro redefined [-Wmacro-redefined]
> ^
> /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:35:9: note: previous definition is here
> ^
> In file included from /mariadb/server-10.2-MDEV-23564/mysys_ssl/openssl.c:33:
> /usr/local/include/openssl/evp.h:866:11: warning: 'EVP_cleanup' macro redefined [-Wmacro-redefined]
> ^
> /mariadb/server-10.2-MDEV-23564/include/ssl_compat.h:44:9: note: previous definition is here
> ^
> 4 warnings generated.
generally these long commit comments are not any more clear than if
you'd only listed one compilation failure.
>
> In case MariaDB serer is build with -DCMAKE_BUILD_TYPE=Debug it results in
> build error.
>
> The reason of compiler warnings is that header file <ssl_compat.h>
> included before the openssl system header files. File ssl_compat.h
> contains some macros with the name as SSL API functions declared
> in the openssl system header files. It resulted in duplicate
> symbols thats produces compiler warnings.
>
> To fix the issue the header file ssl_compat.h should be included
> after a line where openssl system header is included.
>
> ---
> mysys_ssl/openssl.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mysys_ssl/openssl.c b/mysys_ssl/openssl.c
> index f3dc8f4277c..a11db113b14 100644
> --- a/mysys_ssl/openssl.c
> +++ b/mysys_ssl/openssl.c
> @@ -15,7 +15,6 @@
> Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
>
> #include <my_global.h>
> -#include <ssl_compat.h>
>
> /*
> The check is only done for OpenSSL 1.1.x.
> @@ -25,13 +24,14 @@
> */
>
> #ifndef HAVE_OPENSSL11
> +#include <ssl_compat.h>
> int check_openssl_compatibility()
> {
> return 0;
> }
> #else
> #include <openssl/evp.h>
> -
> +#include <ssl_compat.h>
> static uint testing, alloc_size, alloc_count;
>
> static void *coc_malloc(size_t size, const char *f __attribute__((unused)),
>
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx