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