Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

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;";
to
eval "require $backend; $backend->import(); return 1;" or die $@;
in the file returned by
perl -E'require Date::Manip; say $INC{"Date/Manip.pm"};'


Comment on Re: 5.16 vs Date::Manip
Select or Download Code
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/Manip.pm 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/XSLoader.pm line 92. Compilation failed in require at /usr/share/perl5/vendor_perl/Date/Man +ip/Obj.pm line 13. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Date +/Manip/Obj.pm line 13. Compilation failed in require at /usr/share/perl5/vendor_perl/Date/Man +ip/Date.pm line 14. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Date +/Manip/Date.pm 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/XSLoader.pm 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 Storable.pm and to Storable.so (or whatever dynamic library it found to load).

      But, since the paths that it reports include

      /usr/share/perl5/core_perl/XSLoader.pm /usr/share­/perl5/ven­dor_perl/D­ate/Manip/­Obj.pm

      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 Storable.pm 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 Storable.pm 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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2014-08-29 20:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (289 votes), past polls