pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/59184: devel/mk-configure fails with mysterious .MAKE.LEVEL.ENV error



>Number:         59184
>Category:       pkg
>Synopsis:       devel/mk-configure fails with mysterious .MAKE.LEVEL.ENV error
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 17 01:25:00 +0000 2025
>Originator:     Taylor R Campbell
>Release:        current
>Organization:
The NetMK Configuration
>Environment:
>Description:
Bulk builds of devel/mk-configure have been intermittently failing since around the time of the bmake-20240909 update on 2024-09-17:

https://releng.netbsd.org/bulktracker/devel/mk-configure

Example build output, essentially identical in all the failures:

===> Building for mk-configure-0.40.0
bmake: Cannot delete ".MAKE.LEVEL.ENV" as it is read-only
bmake: Fatal errors encountered -- cannot continue
bmake: stopped making "all all-doc" in /pbulk/work/devel/mk-configure/work/mk-configure-0.40.0
*** Error code 1
>How-To-Repeat:
I have not been able to reproduce this.

I don't understand make(1) well enough to understand how .MAKE.LEVEL.ENV turns up at all -- it doesn't appear in the devel/mk-configure source code, or anywhere under mk/.  It appears to come out of make(1) itself:

$ make -v MAKEFLAGS -v .MAKE.LEVEL.ENV

MAKELEVEL
$ printf 'x: .PHONY;@${MAKE} -v MAKEFLAGS -v .MAKE.LEVEL.ENV' | make -f /dev/stdin
 .MAKE.LEVEL.ENV=MAKELEVEL
MAKELEVEL

So I assume it is something to do with recursive make invocations passing variables through the environment, perhaps via MAKEFLAGS.  But this is pretty mysterious, and I don't understand why it succeeds in some builds but fails in others.
>Fix:
Yes, please!



Home | Main Index | Thread Index | Old Index