From bb6e76f0bf2e379480796380f1dc705e6cfffbff Mon Sep 17 00:00:00 2001 From: Dan Dedrick Date: Thu, 12 Oct 2017 21:49:39 -0400 Subject: [PATCH] Fix missing build dependency for pods When building perl with highly parallel options (e.g. -j 32) on a machine with many cores (e.g. 32) ocassionaly it fails with the following type of error. make[1]: Entering directory '.../cpan/podlators' Can't locate Getopt/Long.pm in @INC (you may need to install the Getopt::Long module) (@INC contains: .../cpan/AutoLoader/lib .../dist/Carp/lib .../dist/PathTools .../dist/PathTools/lib .../cpan/ExtUtils-Install/lib .../cpan/ExtUtils-MakeMaker/lib .../cpan/ExtUtils-Manifest/lib .../cpan/File-Path/lib .../ext/re .../dist/Term-ReadLine/lib .../dist/Exporter/lib .../ext/File-Find/lib .../cpan/Text-Tabs/lib .../dist/constant/lib .../cpan/version/lib .../lib ../../lib .) at .../cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm line 109. Makefile:445: recipe for target 'manifypods' failed make[1]: *** [manifypods] Error 2 The scripts pod2man, pod2text, podchecker, podselect, and pod2usage all use Getopt-Long and since they are all part of nonxs modules this needs to be added here to prevent these build races. --- AUTHORS | 1 + write_buildcustomize.pl | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 9c09813..709a7fc 100644 --- a/AUTHORS +++ b/AUTHORS @@ -278,6 +278,7 @@ Dan Boorstein Dan Brook Dan Collins Dan Dascalescu +Dan Dedrick Dan Hale Dan Jacobson Dan Kogai diff --git a/write_buildcustomize.pl b/write_buildcustomize.pl index 8666a6b..e82f931 100644 --- a/write_buildcustomize.pl +++ b/write_buildcustomize.pl @@ -22,6 +22,8 @@ if ( @ARGV ) { # needed to build the nonxs modules # After which, all nonxs modules are in lib, which was always sufficient to # allow miniperl to build everything else. +# Getopt::Long is here because it's used by podlators, which is one of the +# nonxs modules. # Term::ReadLine is not here for building but for allowing the debugger to # run under miniperl when nothing but miniperl will build :-(. @@ -39,6 +41,7 @@ my @toolchain = qw(cpan/AutoLoader/lib cpan/Text-Tabs/lib dist/constant/lib cpan/version/lib + cpan/Getopt-Long/lib ); # Text-ParseWords used only in ExtUtils::Liblist::Kid::_win32_ext() @@ -47,7 +50,6 @@ my @toolchain = qw(cpan/AutoLoader/lib push @toolchain, qw( cpan/Text-ParseWords/lib dist/ExtUtils-ParseXS/lib - cpan/Getopt-Long/lib cpan/parent/lib cpan/ExtUtils-Constant/lib ) if $^O eq 'MSWin32'; -- 1.8.3.1