This queue is for tickets about the Config-IniFiles CPAN distribution.
|
Subject: | Module::Build was removed from Perl core modules. Stop using it |
On 2016-06-02 11:53:46, MISHIKAL wrote:
> Module::Build was removed from core perl. This package should no
> longer have it as a dependency.
There are reasons toolchain wish to discourage Module::Build, but this is absolutely NOT it.
That is *not* how removal from core works.
Removal from core just means "Use CPAN" and "CPAN Clients should respect configure requires".
Shipping a Makefile.PL with a dist packaged with Module::Build::Compat however is a much more annoying problem than even Module::Build, and toolchain would generally recommend either
a) Not using Module::Build at all
b) Not using Module::Build::Compat if you are using Module::Build
c) Use "traditional" Makefile generation, not "small" makefile generation ( https://metacpan.org/pod/Module::Build::Compat#traditional ) like it presently does ( https://metacpan.org/source/SHLOMIF/Config-IniFiles-2.89/Build.PL#L40 )
On 2016-06-02 11:54:37, MISHIKAL wrote:
>
> Attempting to build on a modern OS with perl 5.22.1:
>
> Can't locate Module/Build/Compat.pm in @INC (you may need to install
> the Module::Build::Compat module) (@INC contains:
> /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi
> /opt/zimbra/common/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-
> gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-
> gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22
> /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-
> gnu/perl-base .) at Makefile.PL line 3.
> BEGIN failed--compilation aborted at Makefile.PL line 3.
As for the specific reason you encountered this issue, one must ask "How are you installing this" ?
CPAN Protocol mandates configure_requires must be satisfied before running Build.PL or Makefile.PL
https://metacpan.org/source/SHLOMIF/Config-IniFiles-2.89/META.json#L39-42
configure_requires correctly states you must install Module::Build
Module::Build was not present, things broke.
Without further clarification as to which tool you used that did this wrong and how we can replicate the failure, the most obvious assumption is you either did it by hand ( failing to satisfy configure_requires first ), or used some 3rd party tooling that is implemented wrong.
That doesn't leave us with much scope to be helpful, but that's a "toolchain concern" now, so we're all ears.
On 2016-06-03 11:00:08, MISHIKAL wrote:
>
> libalgorithm-c3-perl libb-hooks-endofscope-perl libb-hooks-op-check-
> perl libbareword-filehandles-perl libclass-c3-perl libclass-c3-xs-perl
> libclass-method-
> modifiers-perl \
> libclass-xsaccessor-perl libcpan-changes-perl libdata-optlist-perl
> libdata-perl-perl libdata-section-perl libdevel-caller-perl libdevel-
> globaldestruction-perl libdevel-lexalias-perl \
> libexporter-tiny-perl libfile-slurp-perl libgetopt-long-descriptive-
> perl libimport-into-perl libindirect-perl libio-stringy-perl
> liblexical-sealrequirehints-perl liblist-moreutils-perl \
> libmodule-build-perl libmodule-implementation-perl libmodule-
> runtime-perl libmodule-signature-perl libmoo-perl libmoox-handlesvia-
> perl libmro-compat-perl libmultidimensional-perl \
> libnamespace-autoclean-perl libnamespace-clean-perl libpackage-
> stash-perl libpackage-stash-xs-perl libpadwalker-perl libparams-
> classify-perl libparams-util-perl libparams-validate-perl \
> libpath-tiny-perl libpod-markdown-perl libpod-readme-perl librole-
> tiny-perl libsoftware-license-perl libstrictures-perl libsub-exporter-
> perl libsub-exporter-progressive-perl \
> libsub-identify-perl libsub-install-perl libsub-name-perl libtext-
> template-perl libtry-tiny-perl libtype-tiny-perl libtype-tiny-xs-perl
> libunicode-utf8-perl libvariable-magic-perl \
> libmodule-build-perl
>
>
> It's insane to require all that crap to build one out of 100 modules.
I would suggest following this up with your vendor / changing your configuration.
There is no good reason that you should be expecting "Moo" to be installed to support Module::Build.
That's absolutely broken.