jonathanstowe / TermReadKey

Character mode terminal access for Perl
12 stars 27 forks source link

2.34 onward not parallel build friendly #23

Closed jonathanstowe closed 7 years ago

jonathanstowe commented 7 years ago

As reported by @pghmcfc on #21 the way the Makefile is constructed and the way that the dynamic part of the module is used in the creation of the ReadKey.pm does not play nicely with a parallel build:

$ make -j4
"/usr/bin/perl" genchars.pl
Running Mkbootstrap for ReadKey ()
"/usr/bin/perl" "-Iblib/arch" "-Iblib/lib" ReadKey_pm.PL ReadKey.pm
chmod 644 "ReadKey.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- ReadKey.bs blib/arch/auto/Term/ReadKey/ReadKey.bs 644
Can't locate loadable object for module Term::ReadKey in @INC (@INC contains: blib/arch blib/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib64/perl5/DynaLoader.pm line 95.
    DynaLoader::croak("Can't locate loadable object for module Term::ReadKey in \@INC"...) called at /usr/lib64/perl5/DynaLoader.pm line 159
    DynaLoader::bootstrap("Term::ReadKey") called at ReadKey_pm.PL line 507
Creating ReadKey.pm
Bootstrapping the XS for blockoptions: make: *** [Makefile:534: ReadKey.pm] Error 255
make: *** Waiting for unfinished jobs....

Writing termio/termios section of cchars.h... Done.
Checking for sgtty...
    Sgtty NOT found.
Writing sgtty section of cchars.h... Done.

This will require fixing the Makefile generated by EUMM to make the 'dynamic' target a dependency of the ReadKey.pm generation.

This is somewhat complicated by the fact I can't reproduce on my stock perl (though I can with a v5.24.0 in perlbrew.)