tech-toolchain archive

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

Re: make: warn about fallback from parallel to compat mode



On Sun, May 25, 2025 at 10:18:36AM -0700, Simon J. Gerraty wrote:
> Roland Illig <roland.illig%gmx.de@localhost> wrote:
> > The attached patch warns about cases like this. The warning is quite
> > verbose, but I didn't manage to make it shorter without sacrificing
> > understandability.
> 
> Including .CURDIR is a good improvement.

Looks to me like this is not at all that useful.  See the log below from a
build I ran this afternoon.

Maybe .PARSEDIR/.PARSEFILE would be more appropriate?  The idea is that I'd
like to know which line in which makefile is the offending one.  Referring
to random directories that don't even contain Makefiles is not actually
helpful.

Also, wasn't the message supposed to get shortened?  This turns out to be
quite spammy.

--chris

postinstall-fix-obsolete ===> .
nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/usr.sbin/postinstall" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

--- postinstall-fix-obsolete ---
   === Removing obsolete files ===
AWK=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbawk		 DB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbdb			 HOST_SH=/bin/sh		 MAKE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmake			 PWD_MKDB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpwd_mkdb	 SED=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbsed		 STAT=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbstat /bin/sh /Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64/usr.sbin/postinstall/postinstall   -m amd64 -a x86_64 -s /Users/bad/netbsd-gsoc/src-tutorial  -d /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/ fix obsolete
nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

Source directory: /Users/bad/netbsd-gsoc/src-tutorial
Target directory: /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/
obsolete fix:
	Removed obsolete file /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64//lib/libc.so.12.223
	Removed obsolete file /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64//usr/lib/i386/libc.so.12.223
postinstall fixes passed: obsolete
postinstall fixes failed:
   ===============================
postinstall-fix-obsolete_stand ===> .
nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/usr.sbin/postinstall" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/usr.sbin/postinstall" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

--- postinstall-fix-obsolete_stand ---
   === Removing obsolete files ===
AWK=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbawk		 DB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbdb			 HOST_SH=/bin/sh		 MAKE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmake			 PWD_MKDB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpwd_mkdb	 SED=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbsed		 STAT=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbstat /bin/sh /Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64/usr.sbin/postinstall/postinstall   -m amd64 -a x86_64 -s /Users/bad/netbsd-gsoc/src-tutorial  -d /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/ fix obsolete_stand
nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

Source directory: /Users/bad/netbsd-gsoc/src-tutorial
Target directory: /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/
obsolete_stand fix:
postinstall fixes passed: obsolete_stand
postinstall fixes failed:
AWK=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbawk		 DB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbdb			 HOST_SH=/bin/sh		 MAKE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmake			 PWD_MKDB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpwd_mkdb	 SED=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbsed		 STAT=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbstat /bin/sh /Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64/usr.sbin/postinstall/postinstall   -m amd64 -a x86_64 -s /Users/bad/netbsd-gsoc/src-tutorial  -d /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/ fix obsolete_stand_debug
nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[3]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

nbmake[2]: warning: internal option "-J" in "/Users/bad/netbsd-gsoc/src-tutorial/obj/obj.amd64" refers to unopened file descriptors; falling back to compat mode.
	To run the target even in -n mode, add the .MAKE pseudo-source to the target.
	To run the target in default mode only, add a ${:D make} marker to a target's command. (This marker expression expands to an empty string.)
	To make the sub-make run in compat mode, add -B to its invocation.To make the sub-make independent from the parent make, unset the MAKEFLAGS environment variable in the target's commands.

Source directory: /Users/bad/netbsd-gsoc/src-tutorial
Target directory: /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/
obsolete_stand_debug fix:
postinstall fixes passed: obsolete_stand_debug
postinstall fixes failed:
   ===============================
checkflist ===> distrib/sets
--- check_DESTDIR ---
--- checkflist ---
#   execute  checkflist
cd /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets &&  DESTDIR=/Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64  MACHINE=amd64  MACHINE_ARCH=x86_64  AWK=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbawk  CKSUM=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbcksum  DB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbdb  EGREP=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbgrep\ -E  HOST_SH=/bin/sh  MAKE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmake  MKTEMP=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmktemp  MTREE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmtree  PAX=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpax  COMPRESS_PROGRAM=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbxz  GZIP=-n  XZ_OPT=-9  TAR_SUFF=tar.xz  PKG_CREATE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpkg_create  SED=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbsed  TSORT=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbtsort\ -q  /bin/sh /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets/checkflist  -L base  -M /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/METALOG.sanitised

=======  1 extra files in DESTDIR  =========
Files in DESTDIR but missing from flist.
File is obsolete or flist is out of date ?
------------------------------------------
./usr/lib/libc.so.12.223
=========  end of 1 extra files  ===========


*** Failed target: checkflist
*** In directory: /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets
*** Failed commands:
	${_MKMSG_EXECUTE} "checkflist"
	=> @echo '#  ' "execute " "checkflist"
	${SETSCMD} ${.CURDIR}/checkflist  ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.unpriv}
	=> cd /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets &&  DESTDIR=/Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64  MACHINE=amd64  MACHINE_ARCH=x86_64  AWK=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbawk  CKSUM=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbcksum  DB=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbdb  EGREP=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbgrep\ -E  HOST_SH=/bin/sh  MAKE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmake  MKTEMP=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmktemp  MTREE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbmtree  PAX=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpax  COMPRESS_PROGRAM=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbxz  GZIP=-n  XZ_OPT=-9  TAR_SUFF=tar.xz  PKG_CREATE=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbpkg_create  SED=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbsed  TSORT=/Users/bad/netbsd-gsoc/src-tutorial/obj/tools/bin/nbtsort\ -q  /bin/sh /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets/checkflist  -L base  -M /Users/bad/netbsd-gsoc/src-tutorial/obj/destdir.amd64/METALOG.sanitised
*** [checkflist] Error code 1

nbmake[1]: stopped making "checkflist" in /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets
nbmake[1]: 1 error

nbmake[1]: stopped making "checkflist" in /Users/bad/netbsd-gsoc/src-tutorial/distrib/sets

nbmake: stopped making "distribution" in /Users/bad/netbsd-gsoc/src-tutorial

ERROR: Failed to make distribution

*** BUILD ABORTED ***


Home | Main Index | Thread Index | Old Index