Parse::Yapp::KeyValue build loses generated Parser.pm
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- perl
- Domain
- build-system, testing-qa
Research direction
Start by reproducing the clean Parse::Yapp::KeyValue build and inspect MakeParser.PL, the generated Makefile target, and PerlOnJava's build/filesystem handling. Compare the interpreter and JVM results, then use t/1pod.t and t/2keyvalue.t as the focused regression suite. Done means nested Parser.pm generation succeeds or the build fails immediately, with both tests passing on both backends.
Written by the indexing model from the issue text.
Description
Summary
Parse::Yapp::KeyValue 0.1 passes its complete upstream test suite under system Perl, but PerlOnJava fails because the distribution's build-time MakeParser.PL step does not create the generated Parser.pm file.
Reproduction
CPAN random tester run: 20260918-141920-96054
Distribution: Parse::Yapp::KeyValue 0.1 (reported module version is 0.10)
The exact prerequisite distributions were installed into an isolated library for the system-Perl comparison:
Parse::Template3.08Parse::Lex2.21Parse::Yapp1.21
System Perl 5.42.2:
All tests successful.
Files=2, Tests=17
Result: PASS
PerlOnJava:
Files=2, Tests=2
Result: FAIL
Failed 1/2 test programs. 1/2 subtests failed.
Failure details
The distribution's MakeParser.PL contains:
my $path = 'blib/lib/Parse/Yapp/KeyValue';
my $file = "$path/Parser.pm";
my $parser = new Parse::Yapp(inputfile => 'grammar.yp');
mkdir $path || die "could not create directory $path: $!";
open(FILE, ">$file") || die "unable to open $file: $!";
On PerlOnJava, make invokes this generator and reports:
unable to open blib/lib/Parse/Yapp/KeyValue/Parser.pm: No such file or directory at MakeParser.PL line 10.
make: [pl_files] Error 2 (ignored)
The generated file is absent afterward. The make target nevertheless reports a successful build because the generator error is ignored. The subsequent test failure is:
Can't locate Parse/Yapp/KeyValue/Parser.pm in @INC
and t/2keyvalue.t cannot load Parse::Yapp::KeyValue.
The other test file, t/1pod.t, passes.
Scope and diagnosis
This is reproducible on the current PerlOnJava build with a clean extracted distribution. It is not caused by Parse::Yapp's grammar generation: running the same MakeParser.PL with the interpreter backend succeeds when the destination parent directory is pre-created and produces Parser.pm correctly.
The failure is therefore in PerlOnJava's build/filesystem handling for the nested generated-file destination, or in the interaction between that handling and the generated Makefile target. The ignored generator error also allows an incomplete build to proceed to testing.
Expected behavior
make should generate blib/lib/Parse/Yapp/KeyValue/Parser.pm successfully, or fail the build immediately if generation fails. After generation, both t/1pod.t and t/2keyvalue.t should pass on the JVM and interpreter backends.
Please add a focused regression test for nested directory creation/generated-file output and verify the full Parse::Yapp::KeyValue suite after the fix.
- Dominant language
- Perl
- Stars
- 64
- Forks
- 6
- Avg merge
- 5h 11m
- Merged PRs (30d)
- 168
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1494 ·
-
area:backend area:runtime enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1492 ·
-
area:parser bug
Difficulty 3/5 1-2 days Newbie friendliness 65/100
fglock/PerlOnJava#1491 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1487 ·
All issues in fglock/PerlOnJava
Similar issues
-
documentation Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
trizen/youtube-viewer#456 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
connectivity Open
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
Common US ingredient names are not recognized, so about 12.4k US products miss an allergen warning Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
openfoodfacts/openfoodfacts-server#14657 · 4 comments ·