Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#44644 closed defect (fixed)

p5.8-compress-snappy: missing parent.pm; clean up dependencies

Reported by: mojca (Mojca Miklavec) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: p5.8-compress-snappy

Description (last modified by mojca (Mojca Miklavec))

p5.8-compress-snappy fails to build with perl 5.8 because of missing parent.pm:

DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_mports_dports_perl_p5-compress-snappy/p5.8-compress-snappy/work/Compress-Snappy-0.23" && /opt/local/bin/perl5.8 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/clang" LD="/usr/bin/clang"'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_opt_mports_dports_perl_p5-compress-snappy/p5.8-compress-snappy/work/Compress-Snappy-0.23" && /opt/local/bin/perl5.8 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/clang" LD="/usr/bin/clang"~
Can't locate parent.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.8.9/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.8.9 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.8.9 /opt/local/lib/perl5/vendor_perl /opt/local/lib/perl5/5.8.9/darwin-thread-multi-2level /opt/local/lib/perl5/5.8.9 .) at /opt/local/lib/perl5/vendor_perl/5.8.9/File/Temp.pm line 32.
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.8.9/File/Temp.pm line 32.
Compilation failed in require at /opt/local/lib/perl5/vendor_perl/5.8.9/Devel/CheckLib.pm line 13.
BEGIN failed--compilation aborted at /opt/local/lib/perl5/vendor_perl/5.8.9/Devel/CheckLib.pm line 13.
Compilation failed in require at Makefile.PL line 5.
BEGIN failed--compilation aborted at Makefile.PL line 5.
Command failed:  cd "/opt/local/var/macports/build/_opt_mports_dports_perl_p5-compress-snappy/p5.8-compress-snappy/work/Compress-Snappy-0.23" && /opt/local/bin/perl5.8 Makefile.PL INSTALLDIRS=vendor CC="/usr/bin/clang" LD="/usr/bin/clang"
Exit code: 2
Error: org.macports.configure for port p5.8-compress-snappy returned: configure failure: command execution failed

The file is either provided by perl5.x (/opt/local/lib/perl5/5.20/parent.pm) or by p5.x-parent (/opt/local/lib/perl5/vendor_perl/5.20/parent.pm). I didn't check, but apparently perl 5.8 doesn't install parent.pm.

The port also contains comments like

# requires ExtUtils::MakeMaker version 6.52+ but perl 5.8 core only provides 6.48

While the dependency could probably be added, it would make more sense to simply drop older versions of Perl and figure out which other dependencies could be removed.

Change History (8)

comment:1 Changed 10 years ago by mojca (Mojca Miklavec)

Description: modified (diff)

comment:2 Changed 10 years ago by mojca (Mojca Miklavec)

Cc: devans@… added
Owner: changed from macports-tickets@… to mojca@…

Adding devans who committed a related patch in r123765.

comment:3 Changed 10 years ago by mojca (Mojca Miklavec)

Owner: changed from mojca@… to macports-tickets@…

comment:4 in reply to:  description ; Changed 10 years ago by dbevans (David B. Evans)

While the dependency could probably be added, it would make more sense to simply drop older versions of Perl and figure out which other dependencies could be removed.

This is true but until there is consensus on reducing the number of perl branches supported, it should probably be fixed. I haven't tested this port but based on your comments at least two additional dependencies need to be added for the p5.8 branch.

  • p5-parent to provide parent.pm for p5.8, parent.pm is in core for 5.10+ but not p5.8
  • p5-extutils-makemaker to provide a version of ExtUtils::MakeMaker that satisfies the port's requirements. ExtUtils::MakeMaker is in core for all supported branches 5.8+ but, as the comment indicates, the version provided by 5.8 core is too old.

These dependencies could be added for p5.8 only as done in p5-pdl or probably for all branches without any adverse consequences. I'm on the fence here. Should one rely on the core version where it is sufficient or use the CPAN version for all branches so they are all using the same code? Either way should work.

Last edited 10 years ago by dbevans (David B. Evans) (previous) (diff)

comment:5 Changed 10 years ago by mojca (Mojca Miklavec)

In the few latest commits I added the dependencies only for the relevant version(s). That at least makes it clear that the dependency might be removed if an older branch gets removed.

comment:6 in reply to:  4 Changed 10 years ago by mojca (Mojca Miklavec)

Replying to devans@…:

While the dependency could probably be added, it would make more sense to simply drop older versions of Perl and figure out which other dependencies could be removed.

This is true but until there is consensus on reducing the number of perl branches supported, it should probably be fixed.

It's a two-fold question:

  • is it ok to remove a branch only for a certain subset of ports
  • should we remove branches for all ports

I sometimes simply do the first one if an older perl version causes problems.

I think it would be easy to reach the consensus to remove 5.8 and 5.10, but it would be nice to implement "replaced_by" functionality somehow.

comment:7 Changed 9 years ago by dbevans (David B. Evans)

Cc: devans@… removed
Resolution: fixed
Status: newclosed

5.8 support removed by jmr in r128785.

comment:8 Changed 9 years ago by mojca (Mojca Miklavec)

What about removing perl 5.10 as well?

Note: See TracTickets for help on using tickets.