Re: git: 7e35117eb07f - main - Makefile: Hook MIT KRB5 into the build
Date: Fri, 20 Jun 2025 09:27:09 UTC
Hello!
Looks like something missing after the build with MIT Kerberos.
got this with devel/gvfs build:
==
In file included from ../daemon/pty_open.c:70:
/usr/include/util.h:36:10: fatal error: 'k5-int.h' file not found
36 | #include "k5-int.h"
| ^~~~~~~~~~
1 error generated.
==
Indeed, k5-int.h is missing in /usr/include :(
On 16.06.2025 05:51, Cy Schubert wrote:
> The branch main has been updated by cy:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=7e35117eb07f86c385656ecc6a2a92093be98131
>
> commit 7e35117eb07f86c385656ecc6a2a92093be98131
> Author: Cy Schubert <cy@FreeBSD.org>
> AuthorDate: 2025-06-11 02:57:54 +0000
> Commit: Cy Schubert <cy@FreeBSD.org>
> CommitDate: 2025-06-16 02:49:37 +0000
>
> Makefile: Hook MIT KRB5 into the build
>
> Add tests for MK_MITKRB5. If "yes" build MIT KRB5. If "no" build Heimdal.
> The default is MK_MITKRB5 = no, added by "krb5: Add build plumbing".
>
> At some point we will change the default to MK_MITKRB5 = yes. A ports
> exp-run will need to be successfully run first.
>
> Sponsored by: The FreeBSD Foundation
> Differential revision: https://reviews.freebsd.org/D50815
> ---
> Makefile.inc1 | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> Makefile.libcompat | 4 +++
> tools/build/Makefile | 64 +++++++++++++++++++++++++++++++++++++
> 3 files changed, 157 insertions(+)
>
> diff --git a/Makefile.inc1 b/Makefile.inc1
> index 588f95654e99..97bd81f3263f 100644
> --- a/Makefile.inc1
> +++ b/Makefile.inc1
> @@ -429,8 +429,12 @@ SUBDIR+=cddl
> .endif
> SUBDIR+=gnu include
> .if ${MK_KERBEROS} != "no"
> +.if ${MK_MITKRB5} != "no"
> +SUBDIR+=krb5
> +.else
> SUBDIR+=kerberos5
> .endif
> +.endif
> .if ${MK_RESCUE} != "no"
> SUBDIR+=rescue
> .endif
> @@ -2611,6 +2615,22 @@ ${_bt}-usr.bin/mkcsmapper: ${_bt}-usr.bin/yacc ${_bt_lex_depend}
> .endif
>
> .if ${MK_KERBEROS} != "no"
> +.if ${MK_MITKRB5} != "no"
> +_kerberos5_bootstrap_tools= \
> + krb5/util/build-tools \
> + krb5/util/compile_et \
> + krb5/util/support \
> + krb5/util/et \
> + lib/ncurses/tinfo \
> + lib/libedit \
> + krb5/util/ss \
> + krb5/util/profile \
> + krb5/util/verto
> +# krb5/include \
> +# krb5/lib/crypto \
> +# krb5/lib/krb5 \
> +# krb5/lib/gssapi
> +.else
> _kerberos5_bootstrap_tools= \
> kerberos5/tools/make-roken \
> kerberos5/lib/libroken \
> @@ -2619,6 +2639,7 @@ _kerberos5_bootstrap_tools= \
> kerberos5/tools/slc \
> usr.bin/compile_et
>
> +.endif
> .ORDER: ${_kerberos5_bootstrap_tools:C/^/${_bt}-/g}
> .for _tool in ${_kerberos5_bootstrap_tools}
> ${_bt}-${_tool}: ${_bt}-usr.bin/yacc ${_bt_lex_depend}
> @@ -3185,6 +3206,8 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} \
> ${_kerberos5_lib_libhx509} ${_kerberos5_lib_libkrb5} \
> ${_kerberos5_lib_libroken} \
> ${_kerberos5_lib_libwind} \
> + ${_krb5_util_et} \
> + ${_krb5_util_profile} \
> lib/libbz2 ${_libcom_err} lib/libcrypt \
> lib/libc++ \
> lib/libelf lib/libexpat \
> @@ -3197,6 +3220,18 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} \
> ${_lib_casper} \
> lib/ncurses/tinfo \
> lib/ncurses/ncurses \
> + lib/libedit \
> + ${_krb5_util_ss} \
> + ${_krb5_util_support} \
> + ${_krb5_util_verto} \
> + ${_krb5_lib_krb5} \
> + ${_krb5_lib_crypto} \
> + ${_krb5_lib_gssapikrb5} \
> + ${_krb5_lib_gssrpc} \
> + ${_krb5_lib_kdb5} \
> + ${_krb5_lib_krad} \
> + ${_krb5_lib_kadm5srvmit} \
> + ${_krb5_lib_kadm5clntmit} \
> lib/libpam/libpam lib/libthr \
> ${_lib_libradius} lib/libsbuf lib/libtacplus \
> lib/libgeom \
> @@ -3236,6 +3271,8 @@ _lib_libradius= lib/libradius
>
> lib/ncurses/ncurses__L: lib/ncurses/tinfo__L
>
> +lib/libedit__L: lib/ncurses/ncurses__L
> +
> .if ${MK_OFED} != "no"
> _prebuild_libs+= \
> lib/ofed/libibverbs \
> @@ -3335,17 +3372,45 @@ secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L
> .if ${MK_LDNS} != "no"
> secure/lib/libssh__L: lib/libldns__L
> .endif
> +
> .if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
> +.if ${MK_MITKRB5} != "no"
> +secure/lib/libssh__L: lib/libgssapi__L krb5/lib/krb5__L \
> + krb5/util/et__L lib/libmd__L krb5/util/support__L
> +.else
> secure/lib/libssh__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \
> kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \
> lib/libmd__L kerberos5/lib/libroken__L
> .endif
> .endif
> .endif
> +.endif
> _secure_lib= secure/lib
> .endif
>
> .if ${MK_KERBEROS} != "no"
> +.if ${MK_MITKRB5} != "no"
> +krb5/util/et__L: krb5/util/support__L
> +krb5/util/profile__L: krb5/util/et__L krb5/util/support__L
> +krb5/lib/crypto__L: krb5/util/et__L krb5/util/support__L \
> + secure/lib/libcrypto__L
> +krb5/lib/gssapi__L: krb5/lib/krb5__L krb5/lib/crypto__L krb5/util/et__L \
> + krb5/util/support__L
> +krb5/lib/kadm5clnt__L: krb5/util/profile__L krb5/lib/rpc__L \
> + krb5/lib/gssapi__L krb5/lib/krb5__L krb5/lib/crypto__L \
> + krb5/util/support__L krb5/util/et__L
> +krb5/lib/kadm5srv__L: krb5/util/profile__L krb5/lib/rpc__L \
> + krb5/lib/gssapi__L krb5/lib/kdb__L krb5/lib/krb5 krb5/lib/crypto__L \
> + krb5/util/support__L krb5/util/et__L
> +krb5/lib/kdb__L: krb5/util/profile__L krb5/lib/rpc__L krb5/lib/krb5__L \
> + krb5/lib/crypto__L krb5/util/et__L krb5/util/support__L krb5/lib/gssapi__L
> +krb5/lib/krad__L: krb5/lib/krb5__L krb5/lib/crypto__L krb5/util/et__L \
> + krb5/util/support__L krb5/util/verto__L
> +krb5/lib/krb5__L: krb5/util/profile__L krb5/lib/crypto__L krb5/util/et__L \
> + krb5/util/support__L
> +krb5/lib/rpc__L: krb5/lib/gssapi__L krb5/lib/krb5__L krb5/lib/crypto__L \
> + krb5/util/et__L krb5/util/support__L
> +.else
> kerberos5/lib/libasn1__L: lib/libcom_err__L kerberos5/lib/libroken__L
> kerberos5/lib/libhdb__L: kerberos5/lib/libasn1__L lib/libcom_err__L \
> kerberos5/lib/libkrb5__L kerberos5/lib/libroken__L \
> @@ -3363,6 +3428,7 @@ kerberos5/lib/libwind__L: kerberos5/lib/libroken__L lib/libcom_err__L
> kerberos5/lib/libheimbase__L: lib/libthr__L
> kerberos5/lib/libheimipcc__L: kerberos5/lib/libroken__L kerberos5/lib/libheimbase__L lib/libthr__L
> .endif
> +.endif
>
> lib/libsqlite3__L: lib/libthr__L
>
> @@ -3371,6 +3437,28 @@ _lib_libgssapi= lib/libgssapi
> .endif
>
> .if ${MK_KERBEROS} != "no"
> +.if ${MK_MITKRB5} != "no"
> +_krb5_util= krb5/util
> +_krb5_util_build_tools= krb5/util/build-tools
> +_krb5_util_compileet= krb5/util/compile_et
> +_krb5_util_et= krb5/util/et
> +_krb5_util_profile= krb5/util/profile
> +_krb5_util_ss= krb5/util/ss
> +_krb5_util_support= krb5/util/support
> +_krb5_util_verto= krb5/util/verto
> +_krb5_lib= krb5/lib
> +_krb5_lib_krb5= krb5/lib/krb5
> +_krb5_lib_kdb5= krb5/lib/kdb
> +_krb5_lib_crypto= krb5/lib/crypto
> +_krb5_lib_gssapikrb5= krb5/lib/gssapi
> +_krb5_lib_gssrpc= krb5/lib/rpc
> +_krb5_lib_apputils= krb5/lib/apputils
> +_krb5_lib_kadm5clntmit= krb5/lib/kadm5clnt
> +_krb5_lib_kadm5srvmit= krb5/lib/kadm5srv
> +_krb5_lib_kadm_common= krb5/lib/kadm_common
> +_krb5_lib_kproputil= krb5/lib/kprop_util
> +_krb5_lib_krad= krb5/lib/krad
> +.else
> _kerberos5_lib= kerberos5/lib
> _kerberos5_lib_libasn1= kerberos5/lib/libasn1
> _kerberos5_lib_libhdb= kerberos5/lib/libhdb
> @@ -3384,6 +3472,7 @@ _kerberos5_lib_libheimipcc= kerberos5/lib/libheimipcc
> _kerberos5_lib_libwind= kerberos5/lib/libwind
> _libcom_err= lib/libcom_err
> .endif
> +.endif
>
> .if ${MK_NIS} != "no"
> _lib_libypclnt= lib/libypclnt
> diff --git a/Makefile.libcompat b/Makefile.libcompat
> index 5675fa5eaff2..82ef4e9df0ac 100644
> --- a/Makefile.libcompat
> +++ b/Makefile.libcompat
> @@ -91,7 +91,11 @@ _LC_LIBDIRS.yes= lib
> _LC_LIBDIRS.yes+= gnu/lib
> _LC_LIBDIRS.${MK_CDDL:tl}+= cddl/lib
> _LC_LIBDIRS.${MK_CRYPT:tl}+= secure/lib
> +.if ${MK_MITKRB5} != "no"
> +_LC_LIBDIRS.${MK_KERBEROS:tl}+= krb5/lib
> +.else
> _LC_LIBDIRS.${MK_KERBEROS:tl}+= kerberos5/lib
> +.endif
>
> .if ${MK_FILE} != "no"
> _libmagic= lib/libmagic
> diff --git a/tools/build/Makefile b/tools/build/Makefile
> index a9f4a84e6f7c..40ac498bfbb4 100644
> --- a/tools/build/Makefile
> +++ b/tools/build/Makefile
> @@ -1,9 +1,18 @@
> .PATH: ${.CURDIR}/../../include
>
> +# XXX We need to include this to avoid installing MIT KRB5 includes on
> +# XXX Heimdal systems. Remove the following line when Heimdal is finally
> +# XXX removed.
> +.include <src.opts.mk>
> +
> LIB= egacy
> SRC=
> INCSGROUPS= INCS SYSINCS CASPERINC UFSINCS FFSINCS MSDOSFSINCS DISKINCS
> INCSGROUPS+= MACHINESYSINCS RPCINCS
> +.if ${MK_MITKRB5} != "no"
> +INCSGROUPS+= EDITINC K5GSSRPCINC GSSAPIINC
> +INCSGROUPS+= K5GSSAPIINC K52GSSAPIINC KRB5INC
> +.endif
> INCS=
>
> SYSINCSDIR= ${INCLUDEDIR}/sys
> @@ -15,6 +24,16 @@ MSDOSFSINCSDIR= ${INCLUDEDIR}/fs/msdosfs
> DISKINCSDIR= ${INCLUDEDIR}/sys/disk
> MACHINESYSINCSDIR= ${INCLUDEDIR}/machine
> RPCINCSDIR= ${INCLUDEDIR}/rpc
> +.if ${MK_MITKRB5} != "no"
> +EDITINCDIR= ${INCLUDEDIR}/edit/readline
> +K5GSSRPCINCDIR= ${INCLUDEDIR}/gssrpc
> +GSSAPIINCDIR= ${INCLUDEDIR}/gssapi
> +K5GSSAPIINCDIR= ${INCLUDEDIR}/gssapi_krb5
> +K52GSSAPIINCDIR=${INCLUDEDIR}/gssapi_krb5/gssapi
> +KRB5INCDIR= ${INCLUDEDIR}/krb5
> +KDB5INCDIR= ${INCLUDEDIR}/kdb5
> +KADM5INCDIR= ${INCLUDEDIR}/kadm5
> +.endif
>
> BOOTSTRAPPING?= 0
>
> @@ -256,6 +275,51 @@ CLEANFILES+= subr_capability.c
> CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_fileargs/cap_fileargs.h
> CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_net/cap_net.h
>
> +.if ${MK_MITKRB5} != "no"
> +EDITINC+= ${SRCTOP}/contrib/libedit/readline/readline.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/auth.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/auth_gss.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/auth_gssapi.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/auth_unix.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/clnt.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/netdb.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/pmap_clnt.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/pmap_prot.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/pmap_rmt.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/rpc_msg.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/rpc.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/svc_auth.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/svc.h
> +K5GSSRPCINC+= ${SRCTOP}/krb5/include/gssrpc/types.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/xdr.h
> +K5GSSRPCINC+= ${SRCTOP}/crypto/krb5/src/include/gssrpc/xdr.h
> +GSSAPIINC+= ${SRCTOP}/crypto/krb5/src/lib/gssapi/krb5/gssapi_krb5.h
> +GSSAPIINC+= ${SRCTOP}/crypto/krb5/src/lib/gssapi/generic/gssapi_alloc.h
> +GSSAPIINC+= ${SRCTOP}/crypto/krb5/src/lib/gssapi/generic/gssapi_generic.h
> +GSSAPIINC+= ${SRCTOP}/crypto/krb5/src/lib/gssapi/generic/gssapi_ext.h
> +K5GSSAPIINC+= ${SRCTOP}/crypto/krb5/src/include/gssapi.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/ccselect_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/certauth_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/clpreauth_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/hostrealm_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/kadm5_auth_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/kadm5_hook_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/kdcpolicy_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/kdcpreauth_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/localauth_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/locate_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/preauth_plugin.h
> +KRB5INC+= ${SRCTOP}/crypto/krb5/src/include/krb5/pwqual_plugin.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/include/gssapi.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/include/kdb.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/include/krb5.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/include/krad.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/util/et/com_err.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/util/verto/verto-module.h
> +INCS+= ${SRCTOP}/crypto/krb5/src/util/verto/verto.h
> +.endif
> +
> .if empty(SRCS)
> SRCS= dummy.c
> .endif
>
--
Sincerely,
Dima (fluffy@FreeBSD.org, https://t.me/FluffyBSD, @fluffy:matrix-dev.freebsd.org)
(desktop, kde, x11, office, ports-secteam)@FreeBSD team