bug-bash
[Top][All Lists]
Advanced

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

Re: bash parallel build: make[1]: warning: -j16 forced in submake: reset


From: Dmitry Goncharov
Subject: Re: bash parallel build: make[1]: warning: -j16 forced in submake: resetting jobserver mode.
Date: Sat, 13 Apr 2024 19:23:50 -0400

On Sat, Apr 13, 2024 at 12:41 AM Cedric Blancher
<cedric.blancher@gmail.com> wrote:
>
> Good morning!
>
> Building bash HEAD on Cygwin 3.5.3 and Debian Linux 11  in make
> parallel mode issues a warning, which looks like a Makefile bug:
> $ make -h 16
> ...
> make[1]: warning: -j16 forced in submake: resetting jobserver mode.
> ...
> Can this be fixed please?


It takes a certain makefile setting to cause this warning.
E.g. -j16 can be specified in the makefile on the recipe line like this

$ ls
lib  makefile
$ cat makefile
all:; $(MAKE) -C lib -j4
$ cat lib/makefile
all:;
$ make -j2
make -C lib -j4
make[1]: warning: -j4 forced in submake: resetting jobserver mode.
make[1]: Entering directory
'/home/dgoncharov/src/gmake/test/jobserver_reset/lib'
make[1]: 'all' is up to date.
make[1]: Leaving directory '/home/dgoncharov/src/gmake/test/jobserver_reset/lib'
$

Submake detects that it has its own -j switch and it no longer
participates in the parent make job server.
Instead, the submake will become a master of its own jobserver and run
up to 4 (in this example) jobs, and the parent make keep running its
own job server with up to 2 (in this example) jobs.
This can also be caused by settings in submake env.
See https://www.gnu.org/software/make/manual/html_node/Error-Messages.html.

You can check what env the submake in question has and which recipe
runs it and see where this setting comes from.

regards, Dmitry



reply via email to

[Prev in Thread] Current Thread [Next in Thread]