Cian Barrett
Cian Barrett

Reputation: 9

Installing Perl modules on Ubuntu 16.04

I'm trying to install Perl modules Geo::ShapeFile and Math::Round but I keep coming across the same error and I can't find a solution that works. I've local::lib installed fine but its not being found or something? Am I doing it in the wrong place?

cian@cian-Aspire-5750:~/Documents/Math-Round-0.07$ make install
Manifying 1 pod document
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man/man3: Permission denied at /usr/share/perl/5.22/ExtUtils/Install.pm line 477.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 at -e line 1.
Makefile:697: recipe for target 'pure_site_install' failed
make: *** [pure_site_install] Error 13

I notice in my directory '/usr/local/man' points to 'usr/share/man'. I dunno if this was an issue how to solve it. Thanks.

Upvotes: 0

Views: 4126

Answers (3)

Alexey Melezhik
Alexey Melezhik

Reputation: 971

Alternatively you may try a cpanm client, which handles local::lib installs either:

$ cpanm -l ~/ Geo::ShapeFile Math::Round 

And then don't forget to adjust perl5lib var to see installed modules:

$ PERL5LIB=~/lib/perl5

Upvotes: 1

ikegami
ikegami

Reputation: 385764

I've local::lib installed fine

No, you don't. The environment has clearly not by set by local::lib. Make sure the following in your login script:

eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"

(Adjust the path to local::lib if needed.)

Log out and log back in or use the following to pick up the changes:

exec bash -l

Upvotes: 2

Vadim Pushtaev
Vadim Pushtaev

Reputation: 2353

If you want to install module systemwide (it's what you do), you should have root privileges. Try sudo make install or install modules locally.

Upvotes: 1

Related Questions