Opened 4 years ago

Closed 4 years ago

#50048 closed defect (fixed)

mod_perl2: broken when p5.22-module-corelist is installed

Reported by: mojca (Mojca Miklavec) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: dbevans (David B. Evans)
Port: mod_perl2 p5-module-corelist

Description

When building mod_perl2 (see #49562 before assigning the ticket) it failed for me with the following weird error:

:debug:configure Executing org.macports.configure (mod_perl2)
:info:configure Please repair your Module::CoreList at lib/Apache2/Build.pm line 50.
:info:configure BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 65.
:info:configure Compilation failed in require at Makefile.PL line 38.
:info:configure BEGIN failed--compilation aborted at Makefile.PL line 38.
:info:configure Command failed: /opt/local/bin/perl5.22 Makefile.PL MP_APXS=/opt/local/apache2/bin/apxs
:info:configure Exit code: 22

After

sudo port -f deactivate p5.22-module-corelist

the installation succeeded.

I had two versions installed:

/opt/local/lib/perl5/5.22/Module/CoreList.pm (5.20151213)
/opt/local/lib/perl5/vendor_perl/5.22/Module/CoreList.pm (5.20151120)

Weird enough our livecheck doesn't work as the version we have is clearly older than the latest one on http://search.cpan.org/~bingos/Module-CoreList-5.20151213/:

> port -v livecheck p5-module-corelist
p5-module-corelist seems to be up to date

Should we get rid of p5-module-corelist? That is: do we even need it?

Attachments (1)

main.log (7.6 KB) - added by mojca (Mojca Miklavec) 4 years ago.

Download all attachments as: .zip

Change History (7)

Changed 4 years ago by mojca (Mojca Miklavec)

Attachment: main.log added

comment:1 Changed 4 years ago by mf2k (Frank Schima)

Port: is installed removed

comment:2 Changed 4 years ago by ryandesign (Ryan Schmidt)

I don't know if we need p5-module-corelist, but why don't we fix its livecheck and update it to the latest version?

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

David did it already in r143571.

I don't know why the livecheck did not see the latest version.

I curious whether the module is in fact needed given that it already exists in the core, except perhaps for the oldest versions of Perl.

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

If you look at the code surrounding the line referenced in the configure error above, it's checking the version of ExtUtils::Embed and then using Module::CoreList to see if this is the same as the version in core. This error indicates that the call to Module::CoreList returned an error (version undefined).

perl 5.22.0 had Module::CoreList 5.20150520 in core, 5.22.1 has 5.20151213. I updated p5-module-corelist to 5.20151213 before mojca updated perl5.22 to 5.22.1 (r143582) so the two versions did not match during the intervening period and our version was used in the code rather than the version in core.

I'm not sure if this is the cause of the error or not but given that Module::CoreList is being used in a way that assumes it is the version in core for a given perl, having our own version that may not be (isn't for perls earlier than 5.22.1 now) is probably a bad idea.

Currently p5-module-corelist is shown as a dependency for p5-module-load-conditional and cpan2port. Both of these use it to verify whether a given module is in core for the current perl so, again, having a miss-matched version installed is not good.

I suggest removing these dependencies (in favor of the core version) and then removing p5-module-corelist.

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

comment:5 Changed 4 years ago by dbevans (David B. Evans)

Dependencies removed in r143731.
p5-module-corelist removed in r143732.

comment:6 Changed 4 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.