• Bug#1066214: cyrus-sasl2: FTBFS: gssapi.c:1600:9: error: implicit decla

    From Andrey Rakhmatullin@21:1/5 to Lucas Nussbaum on Wed Mar 13 18:10:01 2024
    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.

    --
    WBR, wRAR

    -----BEGIN PGP SIGNATURE-----

    iQJhBAABCgBLFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmXx3FwtFIAAAAAAFQAP cGthLWFkZHJlc3NAZ251cGcub3Jnd3JhckBkZWJpYW4ub3JnAAoJEDNi9wMaSZLh 28EQAIK35FmtaLLiTIwCEyAeBWRtlzKTDOgtPldgFEjRI7bjB8Ihax2d8YgMuOhi IexODipI93rTI6GGc7W36t+rluhKwwrYcUWlCbnOiwAHImE/vktsQAV3hDWwd0ih CTBHtOXjjHlyW2oQRi62/pXZ19jjYnJHDEAIG42ubFZs1fZeQuDxz6WV+tLrR/q4 jhOwUqTXWPJGvsv3IaIGcCDiesTHTdsEfARKnmIwXZkwiHr3vE3fi0B/6wgGVO32 IwGPky4lJUzqJJfs+MORAwXE44uaBMPeI2TC5HLXdG/gY2VaRjZm4s1hWvjQaq7w O2Ns4rOP0U0n5fLAggcc7C5BfoEB7TxrFPD49WaKl9VhSllSILuGhWvmv9sX4hNX Ve6IUTToGvP2dQUgOlUU9xVXcvbW6Epnezm4+PQfnlARtSEyhoeTpRzMkVbYUk1q iWfj7WskW15GrrKw+QZnW61pp06mjL7C8jdg4LheLsFcx4/9AQFPiSYKwsiE/L8N 896IWPWNUUR4ky49YdDs0Yy8vIHwu3GjMmv09vLZ+hjF+i1bBc9/xmbh3MEvXGBJ RKLLq6f1q0nFR+ORKvwGE4ifRvhwZ2HFpkWcmcwH5HU+02kE632lcMjCW8HTuYDb odtTChsEKKW38QjVuIHfscKzo6NGOk4qTvY/A4Orb9nlcOtj
    =lU7w
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thorsten Glaser@21:1/5 to All on Wed Mar 13 20:50:01 2024
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thorsten Glaser@21:1/5 to All on Wed Mar 13 23:40:01 2024
    Dixi quod…

    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.

    At least it allows the build to proceed further. It’s still
    building, though, so I cannot say if this fixes the build.
    (Thanks to #1066811 the result will not work right anyway.)

    bye,
    //mirabilos
    --
    [...] if maybe ext3fs wasn't a better pick, or jfs, or maybe reiserfs, oh but what about xfs, and if only i had waited until reiser4 was ready... in the be- ginning, there was ffs, and in the middle, there was ffs, and at the end, there was still ffs, and the sys admins knew it was good. :) -- Ted Unangst über *fs

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)