Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jail native-xtools build fails #894

Closed
4 tasks done
swills opened this issue Jul 31, 2021 · 5 comments
Closed
4 tasks done

jail native-xtools build fails #894

swills opened this issue Jul 31, 2021 · 5 comments
Labels

Comments

@swills
Copy link
Member

swills commented Jul 31, 2021

Prerequisites

  • Have you checked for an existing issue describing your problem?
  • Are you running the latest version?
  • Is your ports tree recent?
  • Is your FreeBSD Host on a supported release?

Describe the bug

Building jail with native-xtools fails

How to reproduce

Steps to reproduce the behavior:
poudriere jail -c -j head-aarch64 -a arm64.aarch64 -x -b -m src=/usr/src/ -J 10 -K GENERIC-NODEBUG

Expected behavior

Successful build and install

Screenshots

...

--- native-xtools ---
cd /usr/local/poudriere/jails/head-aarch64/usr/src;  make OBJTOP=/usr/obj/usr/local/poudriere/jails/head-aarch64/usr/src/amd64.amd64/nxb/arm64.aarch64 OBJROOT=/usr/obj/usr/local/poudriere/jails/head-aarch64/usr/src/amd64.amd64/nxb/ MAKEOBJDIRPREFIX= -DNO_CPU_CFLAGS SSP_CFLAGS= MK_CASPER=no MK_CLANG_EXTRAS=no MK_CLANG_FORMAT=no MK_CLANG_FULL=no MK_CTF=no MK_DEBUG_FILES=no MK_HTML=no MK_LLDB=no MK_MAN=no MK_MAN_UTILS=yes MK_OFED=no MK_OPENSSH=no MK_PROFILE=no MK_RETPOLINE=no MK_SENDMAIL=no MK_TESTS=no MK_WERROR=no MK_ZFS=no  TARGET=amd64 TARGET_ARCH=amd64 _cleanobj
make[2]: "/usr/local/poudriere/jails/head-aarch64/usr/src/Makefile" line 223: MAKEOBJDIRPREFIX can only be set in environment or src-env.conf(5), not as a global (in make.conf(5) or src.conf(5)) or command-line variable.                                                                                                                                                                                                        

Environment

  • Host OS [e.g. 12.2 amd64]: HEAD-amd64
  • Jail OS [e.g. 12.0 powerpc]: head-aarch64
  • Browser: [e.g. chrome, safari]: N/A
  • Poudriere Version [e.g. 3.3.1 or git hash or port version]: poudriere-devel-3.3.99.20210720
  • Ports branch and revision [e.g. 2020Q3 r550754]: main

Additional context

N/A

@swills swills added the bug label Jul 31, 2021
@swills
Copy link
Member Author

swills commented Jul 31, 2021

@bdrewery
Copy link
Member

bdrewery commented Aug 1, 2021

Guessing this broke it.

commit d0c737e18454868447f731fe2b10d04f50d9d53b
Author: Jessica Clarke <jrtc27@FreeBSD.org>
Date:   Wed Jul 21 02:48:10 2021 +0100

    Makefile: Fix MAKEOBJDIRPREFIX command-line variable check for bmake

    Unlike the old fmake, running make FOO=bar when using bmake doesn't put
    FOO=bar in .MAKEFLAGS at the top level, it instead just puts FOO in
    .MAKEOVERRIDES and the full MAKEFLAGS will be formed for sub-makes.
    Moreover, this only applies for sub-makes in rules, so this doesn't
    apply to those in shell assignments. This means that the current check
    does not catch make MAKEOBJDIRPREFIX=..., only those defined in config
    files. Thus we must also check .MAKEOVERRIDES explicitly.

    Reviewed by:    sjg
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D31015

@bdrewery
Copy link
Member

bdrewery commented Aug 1, 2021

# make -n native-xtools TARGET=amd64 TARGET_ARCH=amd64
cd /root/git/freebsd/main2;  /usr/bin/make OBJTOP=/scratch/obj/root/git/freebsd/main2/amd64.amd64/nxb/amd64.amd64 OBJROOT=/scratch/obj/root/git/freebsd/main2/amd64.amd64/nxb/ MAKEOBJDIRPREFIX= -DNO_CPU_CFLAGS SSP_CFLAGS= MK_CASPER=no MK_CLANG_EXTRAS=no MK_CLANG_FORMAT=no MK_CLANG_FULL=no MK_CTF=no MK_DEBUG_FILES=no MK_HTML=no MK_LLDB=no MK_MAN=no MK_MAN_UTILS=yes MK_OFED=no MK_OPENSSH=no MK_PROFILE=no MK_RETPOLINE=no MK_SENDMAIL=no MK_TESTS=no MK_WERROR=no MK_ZFS=no  TARGET=amd64 TARGET_ARCH=amd64 _cleanobj
make[2]: "/root/git/freebsd/main2/Makefile" line 223: MAKEOBJDIRPREFIX can only be set in environment or src-env.conf(5), not as a global (in make.conf(5) or src.conf(5)) or command-line variable.

@swills
Copy link
Member Author

swills commented Aug 1, 2021

Guessing this broke it.

I think you're right. What do you think is the appropriate solution?

@bdrewery
Copy link
Member

bdrewery commented Aug 1, 2021

I'm testing some ideas

freebsd-git pushed a commit to freebsd/freebsd-src that referenced this issue Aug 3, 2021
Fixes		freebsd/poudriere#894
Fixes:		d0c737e ("Makefile: Fix MAKEOBJDIRPREFIX command-line")
X-MFC-With:	d0c737e
@bdrewery bdrewery closed this as completed Aug 3, 2021
freebsd-git pushed a commit to freebsd/freebsd-src that referenced this issue Aug 3, 2021
Fixes		freebsd/poudriere#894
Fixes:		d0c737e ("Makefile: Fix MAKEOBJDIRPREFIX command-line")
X-MFC-With:	d0c737e
freebsd-git pushed a commit to freebsd/freebsd-src that referenced this issue Sep 7, 2021
Fixes		freebsd/poudriere#894
Fixes:		d0c737e ("Makefile: Fix MAKEOBJDIRPREFIX command-line")
X-MFC-With:	d0c737e

(cherry picked from commit b60770f)
bsdjhb pushed a commit to bsdjhb/cheribsd that referenced this issue Dec 21, 2021
Fixes		freebsd/poudriere#894
Fixes:		d0c737e ("Makefile: Fix MAKEOBJDIRPREFIX command-line")
X-MFC-With:	d0c737e
bsdjhb pushed a commit to bsdjhb/cheribsd that referenced this issue Dec 21, 2021
Fixes		freebsd/poudriere#894
Fixes:		d0c737e ("Makefile: Fix MAKEOBJDIRPREFIX command-line")
X-MFC-With:	d0c737e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants