On 05/01/2014 15:06, Jarry wrote:
> On 05-Jan-14 13:48, Pavel Kazakov wrote:
>> On 01/05/2014 04:32 AM, Jarry wrote:
>>>  ...
>>> I see it failed in config-phase with:
>>> "error: XML::Parser perl module is required for intltool"
>>
>> The proper dependency should be pulled in (x11-misc/shared-mime-info
>> depends on dev-util/intltool, which depends on dev-perl/XML-Parser).
>>
>> My guess is that you recently upgraded perl, which might require you to
>> rebuild the perl modules. You can try rebuilding just
>> dev-perl/XML-Parser, but I recommend using perl-cleaner [1] to rebuild
>> all the modules:
>>      perl-cleaner --allmodules -v
>>
>> And then try to rebuild shared-mime-info.
> 
> You are right and this fixed my problem. Thanks! I really updated
> perl recently but I did not know I had to run perl-cleaner. Never
> heard of it. Should not it be done automaticaly, always after new
> perl version has been installed?
> 
> Jarry
> 



perl ebuilds up to and including 5.14.2 used to give you an ewarn() that
said to run perl-cleaner, and how to do it. I see it's missing from the
5.16 series of ebuilds.

I didn't look into it too closely, but I would consider this a bug.
There is no easy way to just quickly discover that a module is built for
a previously installed version of perl - you can poke around in
/usr/lib/perl5/<version>/XML/Parser but that's not exactly easy to use.
And the failures are mysterious and hard to understand.

You might want to file a bug at b.g.o. about the lack of messages at the
end of a perl install.

The reason it is not done automatically is that it's a huge job. the
scripts has to find every perl module it can, check the version it is
built against and decide if it needs to be rebuilt then emerge it. This
can easily be 50-100 packages or more and can take longer than to build
firefox. Portage can't figure this out when emerging perl that's why it
doesn't do it, it is left to you to do manually. Same with python.

Golden rule:

When updating perl or python and a version change occurs, take note and
always run perl-cleaner or python-updater afterwards.

-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to