Subject: | [Parallel bulid] rules using $(PERLRUNINST) should depend on pm_to_blib |
Problem occured while building MP3::Tag with make -j<something>.
The following argument to WriteMakefile:
'PL_FILES' => {'data_pod.PL'=>'ID3v2-Data.pod'},
generates:
ID3v2-Data.pod :: data_pod.PL
$(PERLRUNINST) data_pod.PL ID3v2-Data.pod
and should generate:
ID3v2-Data.pod :: pm_to_blib data_pod.PL
$(PERLRUNINST) data_pod.PL ID3v2-Data.pod
Encountered error was (output from make follows):
$ LANG=C make -j5
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" data_pod.PL ID3v2-Data.pod
Can't locate MP3/Tag.pm in @INC (@INC contains: blib/arch blib/lib /usr/local/lib/perl5/5.8.0/athlon-pld-linux-thread-multi /usr/local/share/perl5 /usr/lib/perl5/vendor_perl/5.8.0/athlon-pld-linux-thread-multi /usr/share/perl5/vendor_perl /usr/lib/perl5/5.8.4/athlon-pld-linux-thread-multi /usr/share/perl5/5.8.4 .) at data_pod.PL line 5.
BEGIN failed--compilation aborted at data_pod.PL line 5.
make: *** [ID3v2-Data.pod] Error 2
make: *** Waiting for unfinished jobs....
cp Tag/CDDB_File.pm blib/lib/MP3/Tag/CDDB_File.pm
cp Tag/ParseData.pm blib/lib/MP3/Tag/ParseData.pm
make: *** Waiting for unfinished jobs....
make: *** Waiting for unfinished jobs....
cp Tag.pm blib/lib/MP3/Tag.pm
cp Tag/Inf.pm blib/lib/MP3/Tag/Inf.pm
cp Tag/ID3v2.pm blib/lib/MP3/Tag/ID3v2.pm
cp Tag/ID3v1.pm blib/lib/MP3/Tag/ID3v1.pm
cp Tag/File.pm blib/lib/MP3/Tag/File.pm
cp Tag/LastResort.pm blib/lib/MP3/Tag/LastResort.pm
Patch attached.
Probably there are more problems with parallel builds. PLD Linux
Distribution currently uses distcc for the sparc builder; at the
time of writing there are two more issues: with Template::Toolkit
and PAR, respectively:
http://buildlogs.pld-linux.org/index.php?idx=8&ok=0&id=bfac4e58165a00ead9b7db1d06d36df5
http://buildlogs.pld-linux.org/index.php?idx=8&ok=0&id=ecf73af14e4b2ac9ab5a88c85a6fc133
(I haven't yet looked at these, so I'm not sure, if these failures
are MakeMaker's fault).
--- lib/ExtUtils/MM_Unix.pm 2004-05-30 22:41:33.785420688 +0200
+++ lib/ExtUtils/MM_Unix.pm 2004-05-30 22:41:16.901987360 +0200
@@ -2735,7 +2735,7 @@
$(MAP_TARGET) :: static $(MAKE_APERL_FILE)
$(MAKE) -f $(MAKE_APERL_FILE) $@
-$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE)
+$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib
$(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)
$(NOECHO) $(PERLRUNINST) \
Makefile.PL DIR=}, $dir, q{ \
@@ -3473,7 +3473,7 @@
all :: $target
\$(NOECHO) \$(NOOP)
-$target :: $plfile
+$target :: $plfile pm_to_blib
\$(PERLRUNINST) $plfile $target
";
}