automake
[Top][All Lists]
Advanced

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

Re: parallel build issues


From: Nick Bowler
Subject: Re: parallel build issues
Date: Mon, 21 Jun 2021 14:04:38 -0400

On 2021-06-21, Werner LEMBERG <wl@gnu.org> wrote:
> I have a `Makefile.am` in a `frontend` subdirectory that looks like
> the following (abridged).
[...]
> Running the generated `Makefile` with `make -j12`, I get this:
>
>   ...
>   Making all in frontend
>   make[2]: Entering directory '.../frontend'
>   ...
>   make  all-am
>   make[3]: Entering directory '.../frontend'
>     CXX      info.o
>     CXX      main.o
>     CXX      ttfautohintGUI-ddlineedit.o
>     CXX      ttfautohintGUI-info.o
>     CXX      ttfautohintGUI-main.o
>     CXX      ttfautohintGUI-maingui.o
>     CXX      ttfautohintGUI-ttlineedit.o
>   make  ttfautohint
>     CXX      ttfautohintGUI-ddlineedit.moc.o
>     CXX      ttfautohintGUI-maingui.moc.o
>     CXX      ttfautohintGUI-static-plugins.o
>     CXX      ttfautohintGUI-ttlineedit.moc.o
>   make[4]: Entering directory '.../frontend'

Here one of your make rules has started a recursive build in the
"frontend" directory.

>     CXX      info.o
>   make  ttfautohintGUI
>   make[4]: Entering directory '.../frontend'

Here *another* one of your make rules has *also* started a recursive
build in "frontend", concurrently with the one that was started
previously.

>     CXXLD    ttfautohintGUI
>     CXX      main.o
>   mv: cannot stat '.deps/info.Tpo': No such file or directory

Those independent make invocations are simultaneously running the same
compilation rules and have no knowledge of what the other make processes
are doing.  Failure is the inevitable outcome.

>   make[4]: *** [Makefile:1401: info.o] Error 1
>   make[4]: *** Waiting for unfinished jobs....
>     CXXLD    ttfautohint
>   make[4]: Leaving directory '.../frontend'
>   ...
>
> What am I doing wrong?  I would be glad for any pointers.

The problem is not related to the snippet you posted.  The concurrent
recursive make invocations are being spawned from somewhere else in
your build system.

Hope that helps,
  Nick



reply via email to

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