Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: 5.16 vs Date::Manip

by ikegami (Pope)
on Jun 18, 2012 at 05:11 UTC ( #976749=note: print w/replies, xml ) Need Help??

in reply to 5.16 vs Date::Manip

You seem to have a badly installed Date::Manip. If you want to see the underlying problem, I bet it will be revealed by changing
eval "require $backend; $backend->import(); return 1;";
eval "require $backend; $backend->import(); return 1;" or die $@;
in the file returned by
perl -E'require Date::Manip; say $INC{"Date/"};'

Replies are listed 'Best First'.
Re^2: 5.16 vs Date::Manip
by ChrisDennis (Sexton) on Jun 18, 2012 at 17:15 UTC
    Thanks for your reply. Your suggested tweak to Date/ didn't make any difference.

    But after some other hacking, and making sure my Arch Linux system is fully up to date, I now get:

    Perl API version v5.14.0 of Storable does not match v5.16.0 at /usr/sh +are/perl5/core_perl/ line 92. Compilation failed in require at /usr/share/perl5/vendor_perl/Date/Man +ip/ line 13. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Date +/Manip/ line 13. Compilation failed in require at /usr/share/perl5/vendor_perl/Date/Man +ip/ line 14. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Date +/Manip/ line 14. Compilation failed in require at ./brandysnap line 41. BEGIN failed--compilation aborted at ./brandysnap line 41.

    A bit of Googling reveals that 'Storable' ought to be part of core 5.16, so I don't know how to start fixing that.

      Perl API version v5.14.0 of Storable does not match v5.16.0 at /usr/sh +are/perl5/core_perl/ line 92.

      It is kinda sad that this particular error gives you details about the full paths to a bunch of files but doesn't bother to include the two full paths that actually would be useful for diagnosing the problem. That is, it should tell you the full path to and to (or whatever dynamic library it found to load).

      But, since the paths that it reports include

      /usr/share/perl5/core_perl/ /usr/share­/perl5/ven­dor_perl/D­ate/Manip/­

      It seems clear that the instance of Perl you installed puts module files into a directory structure that is not specific to one version of Perl. That is a very old idea that I find, these days, is just never worth the headaches it causes.

      Likely, the version of that you wanted either got overwritten when a different version of Perl was installed (that stupidly shared the same /usr/share/perl5 directory structure) or (seems less likely) just gets ignored because the version of that you don't want gets found first due to the order of directories listed in @INC.

      My suggestion is to uninstall all versions of Perl except the one included with the operating system, force a re-install of the Perl included in the operating system, and make sure that any other versions of Perl that you install don't touch nor look at any of the directories where the system Perl stores modules.

      - tye        

        I haven't installed any versions of Perl except what Arch Linux gives me -- i.e. the latest.

        I've tried uninstalling and reinstalling the main Perl package, but that didn't help.

        I haven't found any reports of similar issue with Arch, so I've now asked on the Arch Linux forum too. cheers Chris

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://976749]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2016-10-25 19:03 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (326 votes). Check out past polls.