make[1]: *** Waiting for unfinished jobs

Viewed 9618

I seem to get this error a lot and I find no resources online on how to actually do something about it. This is all that it gives me. Running Git for Windows newest version.

make-4.2$ make
C:/ProgramData/chocolatey/lib/make/tools/install/bin/make  all-recursive
make[1]: Entering directory 'C:/Users/bjwil/Downloads/make-4.2.tar/make-4.2'
make[1]: *** Error -1
.  Stop.
make[1]: *** Waiting for unfinished jobs....
2 Answers

It might help to use the -k flag. This forces make to continue even after encountering an error. I was having an issue with make -j where it would stop at the first error found, but the -k flag has it power through and continue anyways. It'll still display the error as normal, only it won't just give up at that point.

"Waiting for unfinished jobs" is just informational, not an error message. GNU make running in parallel mode emits that when one job encounters an error that requires make to terminate, to explain why the overall make hasn't yet stopped (though it will, possibly very quickly). Although I don't see a -j flag on your command line to request parallel mode, perhaps make is taking one from environment variable MAKEFLAGS.

There isn't actually any real error message in your example, which is itself a clue. Considering the main part of make's output ...

make-4.2$ make
C:/ProgramData/chocolatey/lib/make/tools/install/bin/make  all-recursive
make[1]: Entering directory 'C:/Users/bjwil/Downloads/make-4.2.tar/make-4.2'
make[1]: *** Error -1

... my first guess would be that make is unable to access folder C:/Users/bjwil/Downloads/make-4.2.tar/make-4.2. Some possible reasons for that would be

  • It's not a real folder. The full path to it suggests that it might, instead, be a virtual folder view of the contents of a tar archive.

  • It has been deleted out from under you, or its permissions have been changed such that they deny access. The former is hard to achieve on Windows, but perhaps it's possible.

I would expect that you could get rid of the "waiting for unfinished jobs" bit by specifying -j1 as a command-line option, but I would not expect that alone to make your build succeed.

Related