Andrey Rakhmatullin dixit:

>On Wed, Mar 13, 2024 at 12:36:37PM +0100, Lucas Nussbaum wrote:
>> > gssapi.c:1600:9: error: implicit declaration of function 
>> > ‘gsskrb5_register_acceptor_identity’ 
>> > [-Werror=implicit-function-declaration]
>> >  1600 |         gsskrb5_register_acceptor_identity(keytab_path);
>> >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>The function should be declared in <gssapi/gssapi_krb5.h>, in this case it's
>/usr/include/heimdal/gssapi/gssapi_krb5.h from heimdal-multidev, but
>build-heimdal/config.h defines HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY but
>doesn't define HAVE_GSSAPI_GSSAPI_KRB5_H, so <gssapi/gssapi_krb5.h> is not
>included but the code is compiled.

That’s because m4/sasl2.m4…

  AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
  if test "$ac_cv_func_gsskrb5_register_acceptor_identity" = no ; then
    AC_CHECK_HEADERS(gssapi/gssapi_krb5.h)
    if test "$ac_cv_header_gssapi_gssapi_krb5_h" = "yes"; then
      AC_CHECK_DECL(gsskrb5_register_acceptor_identity,
                    [AC_DEFINE(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY,1,
                               [Define if your GSSAPI implementation defines 
gsskrb5_register_acceptor_identity])],,
                    [
                    AC_INCLUDES_DEFAULT
                    #include <gssapi/gssapi_krb5.h>
                    ])
    fi
  fi

… only checks for the header file if gsskrb5_register_acceptor_identity
is not found without it included.

Suggested fix:

+ AC_CHECK_HEADERS(gssapi/gssapi_krb5.h)
  AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
  if test "$ac_cv_func_gsskrb5_register_acceptor_identity" = no ; then
-   AC_CHECK_HEADERS(gssapi/gssapi_krb5.h)

If it’s really that, anyway.

bye,
//mirabilos
-- 
When he found out that the m68k port was in a pretty bad shape, he did
not, like many before him, shrug and move on; instead, he took it upon
himself to start compiling things, just so he could compile his shell.
How's that for dedication. -- Wouter, about my Debian/m68k revival

Reply via email to