Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Why does Module::Build want rebuild every time

by ait (Hermit)
on Sep 11, 2017 at 14:16 UTC ( [id://1199112]=perlquestion: print w/replies, xml ) Need Help??

ait has asked for the wisdom of the Perl Monks concerning the following question:

Why does Module::Build try to rebuild every time (or most of the time I'm not sure). See example:

perl -e "use Module::Build"
(no errors)
curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n IO::Socket::IP
...snip...
--> Working on IO::Socket::IP
Fetching https://cpan.metacpan.org/authors/id/P/PE/PEVANS/IO-Socket-IP-0.39.tar.gz ... OK
==> Found dependencies: Module::Build
--> Working on Module::Build
Fetching https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-0.4224.tar.gz ... OK
==> Found dependencies: Module::Build
Configuring Module-Build-0.4224 ... OK
...snip...
Failed to upconvert metadata to 1.1. Errors:
Missing mandatory field, 'version' (version) [Validation: 1.0]
 at - line 32.

So even though Module::Build was installed it will always try to install again. I have noticed this behaviour for many packages. Why is this so? can it be prevented with some switch ?

I'm trying to install Mojolicious on OpenWRT and the native Module::Build intsalls fine but if I try to install via CPAN I get the error above. I want the Arduino YŚN community to have an alternative to Node.JS and Python !! Please help !

TIA
Alex

  • Comment on Why does Module::Build want rebuild every time

Replies are listed 'Best First'.
Re: Why does Module::Build want rebuild every time
by Corion (Patriarch) on Sep 11, 2017 at 14:23 UTC

    Maybe a more recent version of Module::Build is available on CPAN.

    I think all CPAN tools will (if you let them) try to upgrade all modules in the direct dependency chain to their most recent version. Maybe IO::Socket::IP requires a certain minimum version of Module::Build to build itself.

    If you want to avoid rebuilding/reinstalling Module::Build, try a manual configuration of IO::Socket::IP using these five commands:

    cpanm --look IO::Socket::IP perl Makefile.PL make make test make install

      Thanks for your prompt reply!

      I was trying to avoid CPAN shell but it all got very complicated after that. Turns out Test::More requires Storable which is XS and that made me install gcc and make, which is not even available, etc. etc. so it got pretty hairy but incredibly I got it working. I actually have Mojolicious running on an Arduino Yśn !!!

      I kept pretty good notes so I decided to make this tutorial to help others and possibly get some collaboration to make this more native to the OpenWRT crowd:

      Embedded Perl: Installing Perl and Mojolicious on Arduino Yśn / OpenWRT ChaosCalmer

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1199112]
Approved by haukex
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2024-04-25 23:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found