On 8/2/22 15:45, Warner Losh wrote:


On Tue, Feb 8, 2022 at 3:43 AM George Abdelmalik <geo...@fork.id.au> wrote:


    On 7/2/22 03:50, qroxana wrote:


    I know running make install for
    /usr/src/tools/build/test-includes can fix this,
    but this still fails on a newly installed 14.0-CURRENT.

    --- test-includes ---
    cd /usr/src/tools/build/test-includes; MACHINE_ARCH=aarch64 
    MACHINE=arm64  CPUTYPE= CC="cc -target
    aarch64-unknown-freebsd14.0
    --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
    -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -target
    aarch64-unknown-freebsd14.0
    --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
    -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin" CXX="c++  -target
    aarch64-unknown-freebsd14.0
    --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
    -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -target
    aarch64-unknown-freebsd14.0
    --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
    -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin" CPP="cpp -target
    aarch64-unknown-freebsd14.0
    --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
    -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin -target
    aarch64-unknown-freebsd14.0
    --sysroot=/usr/obj/usr/src/arm64.aarch64/tmp
    -B/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin" AS="as" AR="ar"
    ELFCTL="elfctl" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy"
    RANLIB=ranlib STRINGS=  SIZE="size" STRIPBIN="strip" 
    INSTALL="install -U"
    
PATH=/usr/obj/usr/src/arm64.aarch64/tmp/bin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/libexec::/usr/obj/usr/src/arm64.aarch64/tmp/bin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/sbin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/bin:/usr/obj/usr/src/arm64.aarch64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin
    SYSROOT=/usr/obj/usr/src/arm64.aarch64/tmp make
    DESTDIR=/usr/obj/usr/src/arm64.aarch64/tmp test-includes
    --- sys/abi_compat.c ---
    --- sys/acct.c ---
    --- sys/acl.c ---
    --- sys/aio.c ---
    --- sys/abi_compat.c ---
    echo "#include <sys/abi_compat.h>" > sys/abi_compat.c
    sh: cannot create sys/abi_compat.c: No such file or directory
    *** [sys/abi_compat.c] Error code 2

    make[4]: stopped in /usr/src/tools/build/test-includes
    --- sys/acct.c ---
    echo "#include <sys/acct.h>" > sys/acct.c
    sh: cannot create sys/acct.c: No such file or directory
    *** [sys/acct.c] Error code 2

    make[4]: stopped in /usr/src/tools/build/test-includes
    --- sys/aio.c ---
    echo "#include <sys/aio.h>" > sys/aio.c
    sh: cannot create sys/aio.c: No such file or directory
    *** [sys/aio.c] Error code 2

    make[4]: stopped in /usr/src/tools/build/test-includes
    --- sys/acl.c ---
    echo "#include <sys/acl.h>" > sys/acl.c
    sh: cannot create sys/acl.c: No such file or directory
    *** [sys/acl.c] Error code 2


    Same here for me for the past couple of weeks. Haven't been able
    to identify why it fails. My hunch was that a particular objdir
    wasn't being created. As a workaround I edited the Makefile.inc1
    to remove the test-includes command (line 1128 I think).

    I'd really like to understand why this error comes about. If
    someone has any insights, please share them :)

What build options are you using?  this is the test to make sure that files can be included on their own.

Warner


Hi Warner,

My make.conf contains:

# make.conf(5) to use when building world.
MALLOC_PRODUCTION=


My src.conf contains:

## src.conf(5) to use when building world.
WITHOUT_IPFILTER=
WITHOUT_PF=
WITHOUT_PPP=
WITHOUT_LPR=
WITHOUT_NIS=
WITHOUT_LIB32=
WITHOUT_HYPERV=
WITHOUT_APM=
WITHOUT_ATM=
WITHOUT_FINGER=
WITHOUT_FLOPPY=
WITHOUT_RADIUS_SUPPORT=
WITHOUT_DEBUG_FILES=
WITHOUT_TESTS=


The build command is:

env MAKEOBJDIRPREFIX=$HOME/obj \
    make -j2 \
    -DNO_CLEAN \
    __MAKE_CONF=$HOME/make.conf \
    SRCCONF=$HOME/src.conf \
    TARGET=amd64 \
    TARGET_ARCH=amd64 \
    CPUTYPE= \
    buildworld


Perhaps the issue is that I first build the toolchain as a separate step prior to invoking buildworld, that command is:

    env MAKEOBJDIRPREFIX=$HOME/obj \
    make -j2 \
    __MAKE_CONF=$HOME/make.conf \
    SRCCONF=$HOME/src.conf \
    TARGET=amd64 \
    TARGET_ARCH=amd64 \
    toolchain

Thanks for your interest,
George.

Reply via email to