FS#8389 - perlxml broken after upgrading perl
Attached to Project:
Arch Linux
Opened by Dincer Celik (roadboy) - Tuesday, 23 October 2007, 17:21 GMT
Last edited by Kevin Piche (kpiche) - Saturday, 19 January 2008, 03:26 GMT
Opened by Dincer Celik (roadboy) - Tuesday, 23 October 2007, 17:21 GMT
Last edited by Kevin Piche (kpiche) - Saturday, 19 January 2008, 03:26 GMT
|
Details
After upgrading perl to 5.8.8-8, perlxml 2.34-4 got broken.
When I run ./configure I got the error below however I tried
reinstalling it.
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool |
This task depends upon
Closed by Kevin Piche (kpiche)
Saturday, 19 January 2008, 03:26 GMT
Reason for closing: Fixed
Additional comments about closing: No longer a problem.
Saturday, 19 January 2008, 03:26 GMT
Reason for closing: Fixed
Additional comments about closing: No longer a problem.
But looking with viewcvs at the diffs between 5.8.8-7 and 5.8.8-8, the only change of any consequence is in the PKGBUILD (version 1.51, 2007/10/22 10:50:47, committed by tpowa),
with
options=('emptydirs')
becoming
options=('!emptydirs')
The reason given in the log for that change is "don't remove empty dirs, it breaks installation of perl".
$ pacman -Q perl perlxml
perl 5.8.8-8
perlxml 2.34-4
Perhaps this explains why I cannot understand why update to 5.8.8-8 would have caused the reported bug... ;)
With 5.8.8-8, perl -e "require XML::Parser" gives
Can't locate XML/Parser.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i686-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .) at -e line 1.
With 5.8.8-7, it works.
This also seems to affect other modules installed in /usr/lib/perl5/site_perl/current/.. , but not modules installed in /usr/lib/perl5/current e.g.
perl -e "require CPAN" works with 5.8.8-8
More to follow....
With 5.8.8-8, perl -e "require XML::Parser" gives
Can't locate XML/Parser.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/i686-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .) at -e line 1.
With 5.8.8-7, it works.
This also seems to affect other modules installed in /usr/lib/perl5/site_perl/current/.. , but not modules installed in /usr/lib/perl5/current e.g.
perl -e "require CPAN" works with 5.8.8-8
More to follow....
Whenever I see the "Can't locate <X> in @INC", reinstalling the perl package usually fixes it.
Can someone confirm?
I suggest to do perl installation in chroot, and also examine perl.install which seems suspicious to me.
Rebuilding the package from ABS helped (nothing modified)
The path to the module is simply missing, at least on my box. I added :
export PERL5LIB="/usr/lib/perl5/site_perl/current/i686-linux-thread-multi/"
and then it worked.
I did find existing /usr/lib/perl5/site_perl/5.8.8, and 5.8.8 does not point anymore to /usr/lib/perl5/site_perl/current. All I can see is clearsilver package perl interface and Git.pm, installed after git upgrade in the 5.8.8 directory.
The clearsilver package has /usr/lib/perl5/site_perl/5.8.8 as a directory (rebuilt from aur), have not tested git.
Placing those two package files in current, removing 5.8.8 directory and remaking the link 5.8.8 -> current fixes all missing modules.
Git has perl library link OK (/usr/lib/perl5/site_perl/current).
git was updated on 2007-10-04 16:47
perl was updated to 5.8.8-8 on 2007-10-23 08:57
so link was broken BEFORE upgrade of perl... I am not a HUGE perl user, but seems some package break perl before perl upgrade.
Both clearsiler and git installed in wrong place... That package was installed BEFORE 2007-10-02.
Haven't got any other hints...
Tested on x86_64, with upgrade on 15/10 and then today.
checking for intltool >= 0.23... 0.35.5 found
checking for perl... /usr/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool.
This is the error that I get when I try to compile compiz.
Last time that I successiful compiled compiz was Wed, 24 Oct 2007 13:31:01 +0000 ( I can't remember if I was sync with main repo )
I think the cause of all breakages reported here is that some perl-* package that doesn't follow Perl Policy breaks that symlink.
This could be fixed by hand.
But it would be nice to know the list of perl-* packages that was installed on all reporter's systems (including those that were installed but then removed).
bug 7530andbug 7587.I had fixed these by hand before the upgrade to perl 5.8.8-8 and never experienced any problem.
checking for intltool >= 0.23... 0.35.5 found
checking for perl... /usr/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool.
This is the error that I get when I try to compile compiz.
Last time that I successiful compiled compiz was Wed, 24 Oct 2007 13:31:01 +0000 ( I can't remember if I was sync with main repo )
please check if you have any perl module packages installed that are not yet packaged using the new perl policy.
checking whether make sets $(MAKE)... yes
checking for perl... /usr/bin/perl
checking for XML::Parser... ok
configure: creating ./config.status
Make sure you have the latest pkgs for both.