http://www.perlmonks.org?node_id=674130

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

I recently downloaded MIME-Base64-3.07. I went through the usual steps of perl Makefile.PL, make, make test, sudo make install. Everything seems ok, including the tests, but upon attempting to use the module, I receive a 'cannot find module Base64.pm in $INC...' message. I have also tried to install it through CPAN with the result 'MIME::Base64 is up to date', but still unusable. I installed it on a second machine, with identical outcomes. Perl is 5.8.8, one on Ubuntu and the other on RedHat.
PerlMonks, may you be able to shed some light on this.
I have also tried the four ways to modify @INC, with the same results.

UPDATE: This is quite strange, and I know I will be sweeping the floors of the Monastery for years because of it, but after a reboot (next day of work) the module *is* working perfectly. Is it necessary to reboot the machine? I doubt it. But it isn't me either, because a script written yesterday didn't work and now (after reboot) is running like it should. I did something different today.

Replies are listed 'Best First'.
Re: Problem installing MIME::Base64
by syphilis (Archbishop) on Mar 14, 2008 at 03:48 UTC
    cannot find module Base64.pm

    Apparently sudo make install has not installed the module into one of the @INC directories. Where did it put it ?

    Perhaps the perl that you ran when building and installing MIME-Base64 is not the same perl that you run when you attempt to use the module.

    One other curious thing is that MIME-Base64 is part of CORE perl in 5.8.8, so you shouldn't need to install it anyway.

    Cheers,
    Rob
Re: Problem installing MIME::Base64
by Anonymous Monk on Mar 14, 2008 at 03:23 UTC
    How do I add a directory to my include path (@INC) at runtime? Here are the suggested ways of modifying your include path: the PERLLIB environment variable the PERL5LIB environment variable the perl -Idir command line flag the use lib pragma, as in use lib "$ENV{HOME}/myown_perllib"; The latter is particularly useful because it knows about machine dependent architectures. The lib.pm pragmatic module was first inclu +ded with the 5.002 release of Perl.
Re: Problem installing MIME::Base64
by olus (Curate) on Mar 14, 2008 at 16:29 UTC

    Could you please paste the exact error message? Error messages I get are like Can't locate some/Mod.pm in @INC... and yours is a little different. Also, your message says it cannot find Base64.pm when it probably should say MIME/Base64.pm. How are you including the module in your script? use MIME::Base64;?