← Back to team overview

maria-developers team mailing list archive

Re: b92597c220f: MDEV-23564: CMAKE failing due to deprecated Apple GSS method

 

Hi, Dmitry!

ok to push.
but see comments below

On Oct 19, Dmitry Shulga wrote:
> revision-id: b92597c220f (mariadb-10.2.31-479-gb92597c220f)
> parent(s): 577c61e8be0
> author: Dmitry Shulga <dmitry.shulga@xxxxxxxxxxx>
> committer: Dmitry Shulga <dmitry.shulga@xxxxxxxxxxx>
> timestamp: 2020-10-08 00:48:47 +0700
> message:
> 
> MDEV-23564: CMAKE failing due to deprecated Apple GSS method
> 
> Some GSS-API functions like gss_import_name(), gss_release_buffer()
> used in plugin/auth_gssapi and libmariadb/plugins/auth are marked
> as deprecated in MacOS starting from  version 10.14+. It results in
> extra warnings output on server building.
> 
> To eliminate extra warnings the flag '-Wno-deprecated-declarations'
> has been added to compiler invocation string for those source
> files that invoke deprecated GSS-API functions.
> 
> diff --git a/libmariadb b/libmariadb
> index a746c3af449..fd0dc672309 160000
> --- a/libmariadb
> +++ b/libmariadb
> @@ -1 +1 @@
> -Subproject commit a746c3af449a8754e78ad7971e59e79af7957cdb
> +Subproject commit fd0dc6723095f066648a7c3b2a48523b3002e392

be careful when pushing this commit. you'd need something like

1. rebase your libmariadb fix on top of 3.1, push into 3.1
2. rebase your server fix on top of 10.2
2. update submodule reference in the server repo
3. amend your commit fix and push

> diff --git a/plugin/auth_gssapi/CMakeLists.txt b/plugin/auth_gssapi/CMakeLists.txt
> index bca4f5af3a1..7a3c32a00b1 100644
> --- a/plugin/auth_gssapi/CMakeLists.txt
> +++ b/plugin/auth_gssapi/CMakeLists.txt
> @@ -18,6 +18,13 @@ ELSE()
>     SET(GSSAPI_SERVER gssapi_server.cc)
>     SET(GSSAPI_ERRMSG gssapi_errmsg.cc)
>  
> +   IF(APPLE)
> +     SET_SOURCE_FILES_PROPERTIES(
> +       ${GSSAPI_CLIENT} ${GSSAPI_SERVER} ${GSSAPI_ERRMSG}
> +       PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations")
> +#     SET_SOURCE_FILES_PROPERTIES(${GSSAPI_SERVER} PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations")
> +#     SET_SOURCE_FILES_PROPERTIES(${GSSAPI_ERRMSG} PROPERTY COMPILE_FLAGS "-Wno-deprecated-declarations")

you don't need these commented lines anymore, do you?

Is it possible to use a compiler on APPLE that doesn't understand -Wno-deprecated-declarations?
If not - your fix it ok. If it is - better use MY_CHECK_AND_SET_COMPILER_FLAG

> +   ENDIF()
>     SET(CMAKE_REQUIRED_INCLUDES ${GSSAPI_INCS})
>     SET(CMAKE_REQUIRED_LIBRARIES ${GSSAPI_LIBS})
>     INCLUDE(CheckCXXSymbolExists)

Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx