PerlOnJava MakeMaker does not create the pm_to_blib build marker

Open
#1,372 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
perl
Domain
build-system

Research direction

Start by inspecting the PerlOnJava MakeMaker implementation and the generated Makefile's pm_to_blib target. Run File-Find-Closures t/find_by_zero_size.t to reproduce the missing marker, then add focused regression coverage. Done means a successful build creates the pm_to_blib file and the regression test passes.

Written by the indexing model from the issue text.

Description

area:cpan-port area:release bug

Summary

The PerlOnJava-generated Makefile defines a pm_to_blib target but does not create the pm_to_blib marker file that standard ExtUtils::MakeMaker leaves in the distribution root. Distributions whose tests inspect the MakeMaker build tree therefore fail despite their module behavior being correct.

Reproduction

Distribution: File-Find-Closures v1.118
CPAN run: 20260913-205737-64746
Failing test: t/find_by_zero_size.t

PerlOnJava builds the pure-Perl module and runs 15 test files. The result is:

Files=15, Tests=152
Failed 1/15 test programs. 2/152 subtests failed.

The two failures are both assertions that search the zero-size files found in the distribution for pm_to_blib:

# Failed test Found pm_to_blib
# at t/find_by_zero_size.t line 42.
#     undef does not match /pm_to_blib/

# Failed test Found pm_to_blib
# at t/find_by_zero_size.t line 47.
#     undef does not match /pm_to_blib/

The generated Makefile has a pm_to_blib target and stages the module into blib/lib, but its target recipe does not touch or otherwise create the pm_to_blib file. Consequently File::Find cannot find the expected zero-byte marker.

Oracle

The same distribution passes completely under system Perl in the same CPAN run:

t/find_by_zero_size.t ........... ok
All tests successful.
Files=15, Tests=180
Result: PASS

The functional tests for File::Find::Closures all pass under PerlOnJava. This is a build-tree compatibility issue, not a failure in the module implementation.

Expected behavior

The PerlOnJava MakeMaker compatibility layer should create the pm_to_blib marker when the pm_to_blib target completes, matching standard ExtUtils::MakeMaker behavior closely enough for tests and build tooling that inspect the distribution tree.

Requested fix

Update the generated Makefile recipe or MakeMaker implementation so pm_to_blib is created as part of a successful build. Add focused regression coverage for the marker and rerun File-Find-Closures t/find_by_zero_size.t.

Dominant language
Perl
Stars
64
Forks
6
Avg merge
5h 25m
Merged PRs (30d)
157

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fglock/PerlOnJava

All issues in fglock/PerlOnJava

Similar issues

More Perl issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.