Skip Menu |

This queue is for tickets about the FindBin-libs CPAN distribution.

Report information
The Basics
Id: 125138
Status: resolved
Priority: 0/
Queue: FindBin-libs

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Can't locate FindBin/libs.pm (code order in Makefile.PL) (2.017014)
The test suite fails on some of my smokers: ... # Failed test 'use FindBin::libs;' # at t/01-use-ok.t line 7. # Tried to use 'FindBin::libs'. # Error: Can't locate FindBin/libs.pm in @INC (you may need to install the FindBin::libs module) (@INC contains: /home/cpansand/.cpan/build/2018042006/FindBin-libs-2.017014-v4JqEO/blib/lib /home/cpansand/.cpan/build/2018042006/FindBin-libs-2.017014-v4JqEO/blib/arch /home/cpansand/.cpan/build/2018042006/PathTools-3.74-NQamrg/blib/arch /home/cpansand/.cpan/build/2018042006/PathTools-3.74-NQamrg/blib/lib /home/cpansand/.cpan/build/2018042006/File-Copy-Recursive-Reduced-0.005-FuueEl/blib/arch /home/cpansand/.cpan/build/2018042006/File-Copy-Recursive-Reduced-0.005-FuueEl/blib/lib /home/cpansand/.cpan/build/2018042006/PathTools-3.74-NQamrg/blib/arch /home/cpansand/.cpan/build/2018042006/PathTools-3.74-NQamrg/blib/lib /home/cpansand/.cpan/build/2018042006/File-Copy-Recursive-Reduced-0.005-FuueEl/blib/arch /home/cpansand/.cpan/build/2018042006/File-Copy-Recursive-Reduced-0.005-FuueEl/blib/lib /usr/perl5.20.1Dp/lib/site_perl/5.20.1/amd64-freebsd-ld /usr/perl5.20.1Dp/lib/site_perl/5.20.1 /usr/perl5.20.1Dp/lib/5.20.1/amd64-freebsd-ld /usr/perl5.20.1Dp/lib/5.20.1 .) at t/01-use-ok.t line 7. # BEGIN failed--compilation aborted at t/01-use-ok.t line 7. # Looks like you failed 1 test of 1. t/01-use-ok.t ................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ... (etc) ... Probably this happens if FindBin::libs is not already installed. I think this happens because the dircopy-using section in Makefile.PL comes after the WriteMakefile() call. Here's the output when running Makefile.PL manually: $ rm -rf lib/; perl5.27.10 Makefile.PL Generating a Unix-style Makefile Writing Makefile for FindBin::libs Writing MYMETA.yml and MYMETA.json # Version directory: version/v5.14 (5.027010). -> That is: the Makefile is first written, then comes the version directory copying, but this is too late: the generated Makefile is missing an important part: $ grep -A 3 '^pm_to_blib' Makefile pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM) $(NOECHO) $(TOUCH) pm_to_blib But it should look like this: pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM) $(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', q[$(PM_FILTER)], '\''$(PERM_DIR)'\'')' -- \ 'lib/FindBin/libs.pm' 'blib/lib/FindBin/libs.pm' $(NOECHO) $(TOUCH) pm_to_blib So nothing is copied to blib/lib, and the test suite fails (unles there's already an older FindBin::libs installed).
I've added a dummy libs.pm to the filesystem and MANIFEST. It installs here with libs.pm removed from the filesystem.
Fixed in 2.19 via dummy libs.pm and updated MANIFEST.