# Parallel make failed in perl/perl.mak

2 messages from 2012-09-17 to 2012-09-17. Participants: Alex Riesen, Jeff King.
Thread: https://gitlist.dev/t/31571

## Alex Riesen, 2012-09-17 18:13

Subject: Parallel make failed in perl/perl.mak
Message-ID: <CALxABCbzr653R4aCc_YOXNZYo8Zeu8WiU72OmyyMyz5WR+p6gw@mail.gmail.com>
URL: https://gitlist.dev/e/CALxABCbzr653R4aCc_YOXNZYo8Zeu8WiU72OmyyMyz5WR%2Bp6gw%40mail.gmail.com

```
mv: cannot stat `perl.mak': No such file or directory
mv: cannot move `perl.mak' to `perl.mak.old': No such file or directory
Writing perl.mak for Git
Writing MYMETA.yml
Writing perl.mak for Git
Writing MYMETA.yml
Writing perl.mak for Git
Writing MYMETA.yml
make[2]: *** [perl.mak] Error 1
make[1]: *** [instlibdir] Error 2
make: *** [git-difftool] Error 2
make: *** Waiting for unfinished jobs....
make[2]: *** [perl.mak] Error 1
make[1]: *** [instlibdir] Error 2
make: *** [git-archimport] Error 2
make[2]: *** [perl.mak] Error 1
make[1]: *** [instlibdir] Error 2
make: *** [git-add--interactive] Error 2

I wasn't able to reproduce it, so this message is the only thing I have.
It was the first compilation after I merged the current master
(v1.7.12-464-g83379df).
Yes, I tried to jump back and forth in time, removing and touching perl.mak,
generating it with previous releases and build with the current. No luck.

Probably the old perl.mak is the problem, and the only thing I can think
for reasons why it wasn't regenerated is this:

diff --git a/perl/Makefile b/perl/Makefile
index 15d96fc..766d02a 100644
--- a/perl/Makefile
+++ b/perl/Makefile
@@ -79,7 +79,7 @@ $(makfile): ../GIT-CFLAGS Makefile
 	echo instlibdir: >> $@
 	echo '	echo $(instdir_SQ)' >> $@
 else
-$(makfile): Makefile.PL ../GIT-CFLAGS
+$(makfile): Makefile.PL ../GIT-CFLAGS Makefile
 	$(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE=''
--localedir='$(localedir_SQ)'
 endif

Could someone please take a look at it?

```

## Jeff King, 2012-09-17 19:46

Subject: Re: Parallel make failed in perl/perl.mak
Message-ID: <20120917194640.GA24888@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20120917194640.GA24888%40sigill.intra.peff.net
In-Reply-To: <CALxABCbzr653R4aCc_YOXNZYo8Zeu8WiU72OmyyMyz5WR+p6gw@mail.gmail.com>

```
On Mon, Sep 17, 2012 at 08:13:35PM +0200, Alex Riesen wrote:

> mv: cannot stat `perl.mak': No such file or directory
> mv: cannot move `perl.mak' to `perl.mak.old': No such file or directory
> [...]
> I wasn't able to reproduce it, so this message is the only thing I have.
> It was the first compilation after I merged the current master
> (v1.7.12-464-g83379df).

This is probably the same bug that we've been hunting for years:

  April 2009:
  http://article.gmane.org/gmane.comp.version-control.git/117710

  October 2010:
  http://article.gmane.org/gmane.comp.version-control.git/158251

  March 2011:
  http://article.gmane.org/gmane.comp.version-control.git/170153

I proposed a patch in the middle one, but of course we have no idea if
it works or not, since the problem is so hard to reproduce.

> Probably the old perl.mak is the problem, and the only thing I can think
> for reasons why it wasn't regenerated is this:
> 
> diff --git a/perl/Makefile b/perl/Makefile
> index 15d96fc..766d02a 100644
> --- a/perl/Makefile
> +++ b/perl/Makefile
> @@ -79,7 +79,7 @@ $(makfile): ../GIT-CFLAGS Makefile
>  	echo instlibdir: >> $@
>  	echo '	echo $(instdir_SQ)' >> $@
>  else
> -$(makfile): Makefile.PL ../GIT-CFLAGS
> +$(makfile): Makefile.PL ../GIT-CFLAGS Makefile
>  	$(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE=''
> --localedir='$(localedir_SQ)'
>  endif
> 
> Could someone please take a look at it?

That only takes effect if NO_PERL_MAKEMAKER is set, and I think we see
the bug even when it is not set. Also, I'm not clear on what part of
Makefile that command would depend on (the GIT-CFLAGS dependency should
cover the directory parameters).

-Peff

```
