Day: December 9, 2008

Gentoo

Gentoo emerge error: Can’t locate Module/Build.pm

When trying to do my regular emerge today I ran into minor snag. When emerge tried to build dev-perl/IO-Socket-INET6-2.56 emerge failed with the following error:

Can't locate Module/Build.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at Build.PL line 3.
BEGIN failed--compilation aborted at Build.PL line 3.

I did some searching and didn’t come across anything directly related to IO-Socket-INET6, but I did see references to other Perl libraries failing to build with the same error, and remark in one of the threads that the only work-around was to emerge the Perl Build module. So, I did an emerge Module-Build and followed it up with my usual emerge -auvD world and IO-Socket-INET6 built just fine.

It seems that there may be a few Perl libraries in Portage that are relying on the Build module but aren’t adding it as a requirement in their ebuild. If you have lots of Perl libraries installed that you manage via Portage you may want to save yourself some hassle and emerge Module-Build now.