On Fri, Jul 25, 2025 at 7:30 AM Wolfram Schneider <wo...@freebsd.org> wrote:
>
> On Mon, 21 Jul 2025 at 16:10, Cy Schubert <c...@freebsd.org> wrote:
> >
> > The branch main has been updated by cy:
> >
> > URL: 
> > https://cgit.FreeBSD.org/src/commit/?id=c7da9fb90b0b6385e99bb7747476359b712993fa
> >
> > commit c7da9fb90b0b6385e99bb7747476359b712993fa
> > Author:     Cy Schubert <c...@freebsd.org>
> > AuthorDate: 2025-07-19 14:11:18 +0000
> > Commit:     Cy Schubert <c...@freebsd.org>
> > CommitDate: 2025-07-21 14:07:22 +0000
> >
> >     KRB5: Enable MIT KRB5 by default
> >
> >     Set WITH_MITKRB5=yes as the default.
> >
> >     Rebuild all USES=gssapi ports is recommended.
> >
> >     A clean buildworld is required.
> >
> >     Relnotes:       yes
>
> IMHO this commit breaks cross compiling of FreeBSD on macOS due a
> missing include file 'endian.h'
>
> make buildworld
> [...]
> clang  -O2 -pipe -fno-common  -Wno-deprecated-non-prototype
> -Wno-macro-redefined  -Wno-unused-parameter
> -I/Users/wosch/projects/wosch-src/crypto/krb5/src/util/support
> -I/Users/wosch/projects/wosch-src/crypto/krb5/src/include
> -I/Users/wosch/projects/wosch-src/krb5/include
> -I/var/folders/mw/16w0zx815gdb3xg581_8m2dh0000gn/T//freebsd-obj/Users/wosch/projects/wosch-src/arm64.aarch64/tmp/obj-tools/krb5/util/support
> -Wno-deprecated-non-prototype  -Wno-macro-redefined
> -Wno-unused-parameter -MD  -MF.depend.base64.o -MTbase64.o -std=gnu17
> -Wno-format-zero-length -Wsystem-headers -Wno-pointer-sign -Wdate-time
> -Wno-system-headers -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Wno-error=unused-but-set-parameter
> -Wno-error=cast-function-type-mismatch -Wno-tautological-compare
> -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function
> -Wno-enum-conversion -Wno-unused-local-typedef
> -Wno-address-of-packed-member -Wno-switch -Wno-switch-enum
> -Wno-knr-promoted-parameter -Wno-parentheses -Wno-typedef-redefinition
> -Werror=incompatible-pointer-types-discards-qualifiers
> -Qunused-arguments
> -I/var/folders/mw/16w0zx815gdb3xg581_8m2dh0000gn/T//freebsd-obj/Users/wosch/projects/wosch-src/arm64.aarch64/tmp/legacy/usr/include
> -Werror=implicit-function-declaration -Werror=implicit-int
> -Werror=return-type -Wundef -DHAVE_NBTOOL_CONFIG_H=1
> -D_DARWIN_C_SOURCE=1
> -I/Users/wosch/projects/wosch-src/tools/build/cross-build/include/mac
> -idirafter /Users/wosch/projects/wosch-src/contrib/libarchive/libarchive
> -I/Users/wosch/projects/wosch-src/tools/build/cross-build/include/common
> -c /Users/wosch/projects/wosch-src/crypto/krb5/src/util/support/base64.c
> -o base64.o
> In file included from
> /Users/wosch/projects/wosch-src/crypto/krb5/src/util/support/base64.c:36:
> /Users/wosch/projects/wosch-src/crypto/krb5/src/include/k5-platform.h:439:11:
> fatal error: 'endian.h' file not found
>   439 | # include <endian.h>
>       |           ^~~~~~~~~~
> 1 error generated.
> *** [base64.o] Error code 1
> bmake[3]: stopped making "all" in
> /Users/wosch/projects/wosch-src/krb5/util/support
>
> As a workaround, you can set the makefile variable WITHOUT_MITKRB5=1
> and buildworld will work again on macOS.

Adding a macos compat endian.h shim may be as simple as a one-liner
"#include <sys/endian.h>" depending on what kerberos uses from there.
tools/build/cross-build/include/macos/endian.h would be where it goes.

I'm about to depart on vacation, or I'd take a stab at this.

Warner

Reply via email to