PDA

View Full Version : YaST says a Perl module is installed, but no



DavidGerisch
10-Aug-2015, 22:10
How do I fix a missing Perl module that YaST tells me is installed (but it is not)?

I have a pretty fresh install of SLED 11 SP 4, and don't have an older date handling module I used to use. That's OK, I'll use something else. I see in my list of installed modules, YaST tells me I have the module Date::Manip (version 5.54-2.21 by Sullivan Beck)

When I try to use it though, Perl gives me the error "Can't locate Date/Manip/Date.pm" and all the paths it searched. Indeed, find / -mount -name Date.pm does not show the module installed where the YaST File List says it ought to be.

Is this something I can fix?

ab
10-Aug-2015, 22:21
Yast is just querying the rpm database, so you should be able to find what
it is seeing via the rpm or zypper commands, and then you can query what
those packages provide directly. For example, if the package is named
perl-date-manip:



rpm -q -l perl-date-manip



--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below...

DavidGerisch
10-Aug-2015, 22:46
Thank you for the speedy reply. Looks like I have an environment problem.

rpm -qa | grep -i date does show me that a package is installed, named "perl-Date-Manip-5.54-2.21". Running rpm -q -l perl-Date-Manip-5.54-2.21 shows me a list of files, one of which is:

/usr/lib/perl5/vendor_perl/5.10.0/Date/Manip.pm

Indeed, that file is there.

I'm a little bit confused still, as /usr/lib/perl5/vendor_perl/5.10.0 is in the search path, so I thought that Date/Manip underneath it would be found.

But thank you for pointing me in a good direction.

smflood
10-Aug-2015, 23:06
DavidGerisch Wrote in message:

> How do I fix a missing Perl module that YaST tells me is installed (but
> it is not)?
>
> I have a pretty fresh install of SLED 11 SP 4, and don't have an older
> date handling module I used to use. That's OK, I'll use something else.
> I see in my list of installed modules, YaST tells me I have the module
> Date::Manip (version 5.54-2.21 by Sullivan Beck)
>
> When I try to use it though, Perl gives me the error "Can't locate
> Date/Manip/Date.pm" and all the paths it searched. Indeed, find /
> -mount -name Date.pm does not show the module installed where the YaST
> File List says it ought to be.
>
> Is this something I can fix?

Yes it should be fixable. Checking the perl-Date-Manip package on
a test server I can see that Manip.pm (not Date.pm) gets
installed to /usr/lib/perl5/vendor_perl/5.10.0/Date/

DavidGerisch
10-Aug-2015, 23:46
I found my mistake. Wholly my fault - I was reading examples from version 6 of the module, which don't work with version 5. So when I saw a "missing" error, I added something I shouldn't have, which then made Perl look for something that wasn't there.

smflood
11-Aug-2015, 10:51
On 10/08/2015 23:54, DavidGerisch wrote:

> I found my mistake. Wholly my fault - I was reading examples from
> version 6 of the module, which don't work with version 5. So when I saw
> a "missing" error, I added something I shouldn't have, which then made
> Perl look for something that wasn't there.

Glad to hear you've figured it out and thanks for reporting back.
--
Simon
SUSE Knowledge Partner

------------------------------------------------------------------------
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below. Thanks.
------------------------------------------------------------------------