Brian
Brian

Reputation: 1896

Building perl module gives metafile error

I'm working on installing a perl module (not using CPAN) on a Linux machine. When I run the command:

 perl Build.PL

I get the following error:

ERROR: Missing required field 'dist_abstract' for metafile
Could not get valid metadata. Error is: Invalid metadata structure.
Errors: Missing mandatory field, 'abstract' (abstract) [Validation: 1.4],
value is an undefined string (abstract) [Validation: 1.4]
at /usr/local/share/perl5/Module/Build/Base.pm line 4559
Could not create MYMETA files

I've tried Googling bits and pieces of this error but haven't found any solutions. Just looking for a clue as to what might be causing this error.

Here's a link to a zip file containing the files required to install it: https://oncourse.iu.edu/access/content/user/brilewis/Filemanager_Public_Files/DataDownloader.zip

Upvotes: 10

Views: 2434

Answers (3)

drieux
drieux

Reputation: 51

The NAME section of the module does not have a - in it, e.g.,

=head1 NAME

Foo::Bar implements a Foo framework.

will fail, but if you make it

=head1 NAME

Foo::Bar - implements a Foo framework.

then it will work.

Upvotes: 5

yko
yko

Reputation: 2710

First at all please make sure you have package Module::Build installed. You need ungzip few gzipped files in this package. I don't realize why author gzipped them:

gzip -d *.gz

I really don't know why author archived each install file. It looks like some mistake to me.

Than you can install all dependencies (this module requires some):

./Build installdeps

And then finally install module itself:

./Build
./Build test
./Build install

However I must warn you that this module packaged in a bit strange way and there's no guarantee it works.

Upvotes: 6

David W.
David W.

Reputation: 107030

Do you have root access on your machine? Can you use the cpan utility to build and install your module. Using cpan is fairly straight forward:

$ cpan

After that, it will do a lot of configuration, simply take the default values. When it finishes, it'll come to a cpan> prompt. All you have to do there is type this:

cpan> install Module::Name

Where Module::Name is the module you're trying to install. Check the CPAN archive to get the name of your module.

If there are any dependencies, CPAN will ask if you want to download and install those. Say Yes, and CPAN will install the dependencies, then your module.

Using cpan is the best way to install third party modules you find in the CPAN archive. It takes care of all the dependencies, testing, and building for you.

Try installing through CPAN, and then see if you still have your issues.

Upvotes: 0

Related Questions