bug-make
[Top][All Lists]
Advanced

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

Re: Regression on Cygwin: Problems with parallel make in 4.4


From: Ken Brown
Subject: Re: Regression on Cygwin: Problems with parallel make in 4.4
Date: Sun, 19 Feb 2023 10:13:52 -0500
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 2/19/2023 9:29 AM, Paul Smith wrote:
On Sun, 2023-02-19 at 09:17 -0500, Ken Brown wrote:
So I'm not sure where to go from here on Cygwin.  Should I force
Cygwin builds to use the "pipe" jobserver, as I've done for
GNU/Hurd?

My preference would be for you to provide a configure option, which
defaults to "pipe" on Cygwin.  But if you don't want to do that, then
I think you should force Cygwin builds to use "pipe".

There is (in my current implementation, not released yet) a way to do
that but it's a little obscure; you need to use:

  ./configure CPPFLAGS=-DJOBSERVER_USE_FIFO=0

or

  ./configure CPPFLAGS=-DJOBSERVER_USE_FIFO=1

That's good.

If you set it explicitly then that setting is obeyed regardless of the
capabilities of the system (well, if mkfifo() is not available then
trying to enable it is a no-op of course).

Should I add preprocessor checks (or autoconf checks?) to try to
figure out which version of Cygwin is being used and choose based
on that?  I don't know how to check versions.

That wouldn't help.  There's currently no known version of Cygwin on
which the fifo option works well.  (Bruno tested on old version, I
tested the current version.)

OK but I noted you said:

If I simply run 'make -j13 world' without using the Build script, it
doesn't hang.

so I wasn't sure if we were considering that a "full failure".

I agree that it's not a full failure, but it's annoying when it happens. In my use case (building TeX Live using the supplied Build script), the build runs for about 2 hours before it fails.

 I guess
if we don't know why it happens, we just have to disable mkfifo().

I will change the default setting of the jobserver to use "pipe" on
Cygwin, at least for now.

Thanks.

Ken



reply via email to

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