Skip Menu |

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

Report information
The Basics
Id: 124690
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:
  • 2.016002
  • 2.016003
  • 2.016004
  • 2.017003
  • 2.017006
  • 2.017009
  • 2.017010
Fixed in: (no value)



Subject: Module::FromPerlVer not specified in configure_requires
Another possible error while running "perl Makefile.PL": ... Output from '/usr/perl5.26.1p/bin/perl5.26.1 Makefile.PL': Can't locate Module/FromPerlVer.pm in @INC (you may need to install the Module::FromPerlVer module) (@INC contains: /var/tmp/cpansmoker-1023/2018030506/CPAN-Reporter-lib-0Fpl /home/cpansand/.cpan/build/2018030506/Locale-CLDR-Transformations-v0.32.0-TRIAL-1/blib/arch /home/cpansand/.cpan/build/2018030506/Locale-CLDR-Transformations-v0.32.0-TRIAL-1/blib/lib /home/cpansand/.cpan/build/2018030506/Locale-CLDR-v0.29.0-1/blib/arch /home/cpansand/.cpan/build/2018030506/Locale-CLDR-v0.29.0-1/blib/lib /home/cpansand/.cpan/build/2018030506/MooX-ClassAttribute-0.011-1/blib/arch /home/cpansand/.cpan/build/2018030506/MooX-ClassAttribute-0.011-1/blib/lib /usr/perl5.26.1p/lib/site_perl/5.26.1/amd64-freebsd /usr/perl5.26.1p/lib/site_perl/5.26.1 /usr/perl5.26.1p/lib/5.26.1/amd64-freebsd /usr/perl5.26.1p/lib/5.26.1 .) at Makefile.PL line 6. BEGIN failed--compilation aborted at Makefile.PL line 6. ...
FindBin::libs removed from Module::FromPerlVer.
Reopened. I again see this failure with the latest release (FindBin-libs-2.017003): ... Output from '/usr/perl5.26.1p/bin/perl Makefile.PL': Can't locate Module/FromPerlVer.pm in @INC (you may need to install the Module::FromPerlVer module) (@INC contains: ... .) at Makefile.PL line 7. BEGIN failed--compilation aborted at Makefile.PL line 7. ...
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Sat, 17 Mar 2018 20:37:13 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
Q: What happens if you use: cpan Module::FromPerlVer; at this point? You should get a working v0.5.8 of that module. The current Makefile.PL for FindBin::libs has the dependency, it should install M::FPV and finish. It does here. There were are variety of location-specific prolems with the M::FPV (which I think I've gotten all of at this point). -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
On 2018-03-17 21:38:33, lembark@wrkhors.com wrote: Show quoted text
> > Q: What happens if you use: > > cpan Module::FromPerlVer; > > at this point? > > You should get a working v0.5.8 of that module. The current > Makefile.PL for FindBin::libs has the dependency, it should > install M::FPV and finish.
Unfortunately the dependency is already required when running Makefile.PL, but CPAN.pm & other installers need to run Makefile.PL to get the prerequisite list. That's why it has to go into the configure_requires in the META.* files --- the META files are examined first if there are any requirements which have to be installed before running Makefile.PL or Build.PL. So what you need is something like this in the WriteMakefile call (untested): META_MERGE => { configure_requires => { 'Module::FromPerlVer' => 0.005005, }, }, Show quoted text
> > It does here. > > There were are variety of location-specific prolems with the > M::FPV (which I think I've gotten all of at this point). > >
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Sun, 18 Mar 2018 12:58:39 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
On Sun, 18 Mar 2018 04:20:56 -0400 "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: Show quoted text
> META_MERGE => { > configure_requires => { > 'Module::FromPerlVer' => 0.005005, > }, > },
Up to 0.00508 at this point :-) Thank you, I'm adding it to FB::L now. Should have a new version on CPAN in a few minutes. That is actually version-specific to MakeMaker: META_MERGE Available in version 6.46 and above. e.g., M::FPV uses github: my $mm_ver = ExtUtils::MakeMaker->VERSION; my @merge_spec = do { if( $mm_ver < 6.46 ) { () } else { my $web = 'https://github.com/lembark/Module-FromPerlVer'; my $url = $web . '.git'; META_MERGE => { 'meta-spec' => { version => 2 }, dynamic_config => 1, resources => { repository => { web => $web, url => $url, type => 'git', }, bugtracker => { web => 'https://rt.cpan.org/Dist/Display.html?Name=Module-FromPerlVer', }, }, } } }; WriteMakefile ( ... @merge-spec, ... ); Aside: The whole thing worked using file-based versioning; Damian made the offhand suggestion that supporting Git would be helpful. Seemed simple enough: just check the tags. Most of the insanity has been related to dealing with shipping a working .git repository along with the distro. So much for simple ideas :-) -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Sun, 18 Mar 2018 13:08:12 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
On CPAN, indexer is deaing with it now: FindBin-libs-2.017004.tar.gz 22359 Sun, 18 Mar 2018 18:08:34 GMT -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
On 2018-03-18 14:00:00, lembark@wrkhors.com wrote: Show quoted text
> On Sun, 18 Mar 2018 04:20:56 -0400 > "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: >
> > META_MERGE => { > > configure_requires => { > > 'Module::FromPerlVer' => 0.005005, > > }, > > },
> > Up to 0.00508 at this point :-) > > Thank you, I'm adding it to FB::L now. Should have a new version > on CPAN in a few minutes. > > That is actually version-specific to MakeMaker: > > META_MERGE > Available in version 6.46 and above. > > > e.g., M::FPV uses github: > > my $mm_ver = ExtUtils::MakeMaker->VERSION; > > my @merge_spec > = do > { > if( $mm_ver < 6.46 ) > { > () > } > else > { > my $web = 'https://github.com/lembark/Module-FromPerlVer'; > my $url = $web . '.git'; > > > META_MERGE => > { > 'meta-spec' => > { > version => 2 > }, > dynamic_config => 1, > resources => > { > repository => > { > web => $web, > url => $url, > type => 'git', > }, > bugtracker => > { > web => 'https://rt.cpan.org/Dist/Display.html?Name=Module- > FromPerlVer', > }, > }, > } > } > }; > > WriteMakefile > ( > ... > > @merge-spec, > ... > ); > > Aside: The whole thing worked using file-based versioning; Damian > made the offhand suggestion that supporting Git would be helpful. > Seemed simple enough: just check the tags. Most of the insanity has > been related to dealing with shipping a working .git repository along > with the distro. So much for simple ideas :-)
Unfortunately this still does not work: https://metacpan.org/source/LEMBARK/FindBin-libs-2.017004/META.yml#L7 --- no Module::FromPerlVer listed here. I think the problem is that you explicitly specified the meta-spec version to be 2. If you do this, then probably you have to use the different format for declaring dependencies (something like { prereqs => { configure => { requires => { ... }}}} ). So either just don't specify the meta-spec version, or alternatively use EUMM's CONFIGURE_REQUIRES parameter (according to the documentation available since 6.52).
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Mon, 19 Mar 2018 20:39:38 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
Catch: I cannot get the output of Makefile.PL via testers, all I find is the first test failing. Could you please run: perl Makefile.PL 2>&1 | tee makefile.out; on any one box of yours that this fails on and send the output back to me? The insane thing about this is that it works on half the boxes with some distros: I cannot find *anything* consistent about the failures. The next step will just be packaging all 1000 symlinks and micro- modules used for testing into the MANIFEST, which would be a real annoyance. All of the instanity is related to running the tests, the module just works... thanks -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508

Message body not shown because it is not plain text.

CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Mon, 19 Mar 2018 22:26:23 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
If I can get one verson of the bloody thing to test then I can use a zero in the prereq's (and not have to worry about which version of MakeMaker is in place... Q: Would you be willing to see if this installs on one of your test systems? All of the tests use static content (vs. the dynamic generation that has been blowing up the past week). The MANIFEST is over a thousand lines long but I can extract the tarball here and run Makefile.PL, make all test install without any errors. Of course, that was true of of everything I've released so far...). Apologies for all of the instanity. The main problem is that the Testers output doesn't include Makefile.PL execution so I'm flying completely blind on what is blowing up -- other than your giving me speicfic input on things like /bin/env vs. /usr/bin/env. So much for saving time with dynamic content, eh? thanks. -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508

Message body not shown because it is not plain text.

CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Mon, 19 Mar 2018 22:32:47 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
On Sun, 18 Mar 2018 14:32:53 -0400 "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: I've just put version 0 into the requires until I can find a complete working version of the spec... Q: Do any of your modules use the newer spec format w/ a prereq requires? If I can see one complete layout (vs. fragments in the perldoc) I could get it right. At this point I'm not in any mood to experiment. -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
On 2018-03-19 21:41:22, lembark@wrkhors.com wrote: Show quoted text
> > Catch: I cannot get the output of Makefile.PL via testers, all I find > is the first test failing. > > Could you please run: > > perl Makefile.PL 2>&1 | tee makefile.out; > > on any one box of yours that this fails on and send the output back > to me? > > The insane thing about this is that it works on half the boxes with > some distros: I cannot find *anything* consistent about the failures.
Easy explanation: it does not fail if Module::FromPerlVer is already installed. Show quoted text
> The next step will just be packaging all 1000 symlinks and micro- > modules used for testing into the MANIFEST, which would be a real > annoyance. > > All of the instanity is related to running the tests, the > module just works...
No. A configuration error means that the module cannot be installed automatically. So even with CPAN.pm's "notest" it would not work.
On 2018-03-19 23:34:14, lembark@wrkhors.com wrote: Show quoted text
> On Sun, 18 Mar 2018 14:32:53 -0400 > "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: > > I've just put version 0 into the requires until I can find a > complete working version of the spec... > > Q: Do any of your modules use the newer spec format w/ a > prereq requires? > > If I can see one complete layout (vs. fragments in the perldoc) I > could get it right. At this point I'm not in any mood to experiment.
Probably you can easily reproduce the problem yourself. Just deinstall Module::FromPerlVer from your system and run cpan -t . in the FindBin-libs directory. Or alternatively install a fresh perlbrew system and try cpan or cpanm there.
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Tue, 20 Mar 2018 07:43:17 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
Show quoted text
> Probably you can easily reproduce the problem yourself. Just > deinstall Module::FromPerlVer from your system and run > > cpan -t . > > in the FindBin-libs directory. Or alternatively install a fresh > perlbrew system and try cpan or cpanm there.
I can duplicat the problem, but I don't see any complete examples that allow me to construct a working structure. The verison-2 spec was suggessted by someone else who wanted to add a few other pieces, I've taken it out for now until I can see how to assemble the structure properly. -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Tue, 20 Mar 2018 07:48:45 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
On Tue, 20 Mar 2018 02:30:50 -0400 "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: Show quoted text
> Queue: FindBin-libs > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124690 > > > On 2018-03-19 21:41:22, lembark@wrkhors.com wrote:
> > > > Catch: I cannot get the output of Makefile.PL via testers, all I > > find is the first test failing. > > > > Could you please run: > > > > perl Makefile.PL 2>&1 | tee makefile.out; > > > > on any one box of yours that this fails on and send the output back > > to me? > > > > The insane thing about this is that it works on half the boxes with > > some distros: I cannot find *anything* consistent about the > > failures.
> > Easy explanation: it does not fail if Module::FromPerlVer is already > installed.
OK. So I remove the installed copy and run "make disttest". It all passes. I run make dist, untar the dist, run Makefile.PL, then run "make all test" and it passes here. Passes on half the systems on CPAN Testers. In one case it blows up with a syntax error on one system, running "perl -wc" here gets me OK and the same code runs on other systems w/o warnings or errors... This is cursed... -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
On 2018-03-20 08:50:27, lembark@wrkhors.com wrote: Show quoted text
> On Tue, 20 Mar 2018 02:30:50 -0400 > "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: >
> > Queue: FindBin-libs > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124690 > > > > > On 2018-03-19 21:41:22, lembark@wrkhors.com wrote:
> > > > > > Catch: I cannot get the output of Makefile.PL via testers, all I > > > find is the first test failing. > > > > > > Could you please run: > > > > > > perl Makefile.PL 2>&1 | tee makefile.out; > > > > > > on any one box of yours that this fails on and send the output back > > > to me? > > > > > > The insane thing about this is that it works on half the boxes with > > > some distros: I cannot find *anything* consistent about the > > > failures.
> > > > Easy explanation: it does not fail if Module::FromPerlVer is already > > installed.
> > OK. So I remove the installed copy
... of FindBin::libs or Module::FromPerlVer? Show quoted text
> and run "make disttest". It all > passes. > > I run make dist, untar the dist, run Makefile.PL
This cannot work if Module::FromPerlVer is removed. It says "use Module::FromPerlVer" on top. Show quoted text
>, then run > "make all test" and it passes here.
And for a real test, you should use "cpan -t ." or so. Running things manually with "perl Makefile.PL" etc. won't install any configure_requires. Show quoted text
> Passes on half the systems > on CPAN Testers. In one case it blows up with a syntax error > on one system, running "perl -wc" here gets me OK and the same > code runs on other systems w/o warnings or errors... > > This is cursed...
Not really. I think there was no version on CPAN that could work (i.e. Module::FromPerlVer was never listed in the configure_requires section of the two META.* files).
On 2018-03-20 14:50:09, SREZIC wrote: Show quoted text
> On 2018-03-20 08:50:27, lembark@wrkhors.com wrote:
> > On Tue, 20 Mar 2018 02:30:50 -0400 > > "Slaven_Rezic via RT" <bug-FindBin-libs@rt.cpan.org> wrote: > >
> > > Queue: FindBin-libs > > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124690 > > > > > > > On 2018-03-19 21:41:22, lembark@wrkhors.com wrote:
> > > > > > > > Catch: I cannot get the output of Makefile.PL via testers, all I > > > > find is the first test failing. > > > > > > > > Could you please run: > > > > > > > > perl Makefile.PL 2>&1 | tee makefile.out; > > > > > > > > on any one box of yours that this fails on and send the output > > > > back > > > > to me? > > > > > > > > The insane thing about this is that it works on half the boxes > > > > with > > > > some distros: I cannot find *anything* consistent about the > > > > failures.
> > > > > > Easy explanation: it does not fail if Module::FromPerlVer is > > > already > > > installed.
> > > > OK. So I remove the installed copy
> > ... of FindBin::libs or Module::FromPerlVer? >
> > and run "make disttest". It all > > passes. > > > > I run make dist, untar the dist, run Makefile.PL
> > This cannot work if Module::FromPerlVer is removed. It says "use > Module::FromPerlVer" on top. >
> > , then run > > "make all test" and it passes here.
> > And for a real test, you should use "cpan -t ." or so. Running things > manually with "perl Makefile.PL" etc. won't install any > configure_requires. >
> > Passes on half the systems > > on CPAN Testers. In one case it blows up with a syntax error > > on one system, running "perl -wc" here gets me OK and the same > > code runs on other systems w/o warnings or errors... > > > > This is cursed...
> > Not really. I think there was no version on CPAN that could work (i.e. > Module::FromPerlVer was never listed in the configure_requires section > of the two META.* files).
Attached a possible patch.
Subject: findbin-libs-makefile-pl.patch
diff --git i/Makefile.PL w/Makefile.PL index 8534170..246b4a6 100644 --- i/Makefile.PL +++ w/Makefile.PL @@ -10,34 +10,7 @@ use ExtUtils::MakeMaker; my $version = '2.17.8'; my $mm_v = ExtUtils::MakeMaker->VERSION; -#my @merge_spec -#= do -#{ -# if( $mm_v < 6.46 ) -# { -# () -# } -# else -# { -# META_MERGE => -# { -# 'meta-spec' => -# { -# version => 2 -# }, -# -# dynamic_config => 1, -# -# configure_requires => -# { -# qw -# ( -# Module::FromPerlVer 0.003, -# ) -# }, -# } -# } -#}; +my @add_opts = $mm_v >= 6.46 ? ('CONFIGURE_REQUIRES' => { 'ExtUtils::MakeMaker' => 0, 'Module::FromPerlVer' => 0.003 }) : (); WriteMakefile ( @@ -73,7 +46,7 @@ WriteMakefile ) }, - @merge_spec, + @add_opts, ); __END__
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Tue, 20 Mar 2018 17:53:21 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
Show quoted text
> And for a real test, you should use "cpan -t ." or so. Running things manually with "perl Makefile.PL" etc. won't install any configure_requires.
Catch, so far as I know this requires uploading the module. The point is to try and avoid uploading errors. That's why I untar the the distribution run make test install here before tagging and uploading the module. That's why I'm not sure why it's failing. There are cases where the same set of tests fail on one copy of the same distro and succeed on another with the same version of Perl. If the issues were windows or VMS vs. *NIX I'd understand it. -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
CC: lembark [...] wrkhors.com
Subject: Re: [rt.cpan.org #124690] Module::FromPerlVer not specified in configure_requires
Date: Tue, 20 Mar 2018 17:56:20 -0500
To: bug-FindBin-libs [...] rt.cpan.org
From: Steven Lembark <lembark [...] wrkhors.com>
Thank you. -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@wrkhors.com +1 888 359 3508
On Tue Mar 20 18:53:32 2018, lembark@wrkhors.com wrote: Show quoted text
>
> > And for a real test, you should use "cpan -t ." or so. Running things > > manually with "perl Makefile.PL" etc. won't install any > > configure_requires.
> > Catch, so far as I know this requires uploading the module. > The point is to try and avoid uploading errors. > > That's why I untar the the distribution run make test install here > before tagging and uploading the module. > > That's why I'm not sure why it's failing. There are cases where > the same set of tests fail on one copy of the same distro and > succeed on another with the same version of Perl. > > If the issues were windows or VMS vs. *NIX I'd understand it.
CPAN.pm treats the distribution “.” specially: it refers to the current directory and does not do any downloading. I use exactly the same cpan -t . trick. I keep a pristine copy of perl installed (i.e., with no extra modules; just the bare perl installation). Before each release I do $ /path/to/that/cpan -t . just to test the prerequisites.
On 2018-03-05 14:58:39, SREZIC wrote: Show quoted text
> Another possible error while running "perl Makefile.PL": > > ... > Output from '/usr/perl5.26.1p/bin/perl5.26.1 Makefile.PL': > > Can't locate Module/FromPerlVer.pm in @INC (you may need to install > the Module::FromPerlVer module) (@INC contains: /var/tmp/cpansmoker- > 1023/2018030506/CPAN-Reporter-lib-0Fpl > /home/cpansand/.cpan/build/2018030506/Locale-CLDR-Transformations- > v0.32.0-TRIAL-1/blib/arch > /home/cpansand/.cpan/build/2018030506/Locale-CLDR-Transformations- > v0.32.0-TRIAL-1/blib/lib /home/cpansand/.cpan/build/2018030506/Locale- > CLDR-v0.29.0-1/blib/arch /home/cpansand/.cpan/build/2018030506/Locale- > CLDR-v0.29.0-1/blib/lib /home/cpansand/.cpan/build/2018030506/MooX- > ClassAttribute-0.011-1/blib/arch > /home/cpansand/.cpan/build/2018030506/MooX-ClassAttribute-0.011- > 1/blib/lib /usr/perl5.26.1p/lib/site_perl/5.26.1/amd64-freebsd > /usr/perl5.26.1p/lib/site_perl/5.26.1 > /usr/perl5.26.1p/lib/5.26.1/amd64-freebsd /usr/perl5.26.1p/lib/5.26.1 > .) at Makefile.PL line 6. > BEGIN failed--compilation aborted at Makefile.PL line 6. > ...
Does not happen anymore in newer versions.