On Fri, Jul 31, 2009 at 9:51 PM, ABCDen.a...@gmail.com wrote:
Kevin O'Gorman wrote:
I've got portage's dev-perl/XML-Parser-2.36, but nevertheless several
packages have started to fail during emerge for lack of Perl's
XML::Parser.
Even the simple script fails to run under perl:
#!/usr/bin/perl -w
use XML::Parser;
print yes\n;
Do I have to get it from CPAN?
Consider libgksu; here's the end of the emerge output, where
XML::Parser is required by intltool:
checking for perl... /usr/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module
is required for intltool
!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/x11-libs/libgksu-2.0.9/work/libgksu-2.0.9/config.log
*
* ERROR: x11-libs/libgksu-2.0.9 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2896: Called gnome2_src_compile
* environment, line 2264: Called gnome2_src_configure
* environment, line 2278: Called econf '--enable-nls'
'--disable-gtk-doc'
* ebuild.sh, line 534: Called die
* The specific snippet of code:
* die econf failed
* The die message:
* econf failed
*
* If you need support, post the topmost build error, and the call
stack if relevant.
* A complete build log is located at
'/var/tmp/portage/x11-libs/libgksu-2.0.9/temp/build.log'.
* The ebuild environment file is located at
'/var/tmp/portage/x11-libs/libgksu-2.0.9/temp/environment'.
*
Failed to emerge x11-libs/libgksu-2.0.9, Log file:
'/var/tmp/portage/x11-libs/libgksu-2.0.9/temp/build.log'
Have you recently changed the ithreads USE flag on dev-lang/perl? If so,
then you will need to remerge all ebuilds that installed files in
/usr/lib*/perl5/vendor_perl/${PERL_VER}/${CHOST%%-*}-linux if ithreads was
disabled, and /usr/lib*/perl5/vendor_perl/${PERL_VER}/${CHOST%%-*}-linux-
thread-multi if ithreads was enabled.
Also, if you have recently upgraded perl, the same provisions apply.
NOTE: In the above expansion, the following applies [sorry if you already
know this]:
- lib* is lib on x86, lib64 on amd64
- ${PERL_VER} is your perl version, probably 5.8.8
- ${CHOST%%-*} is the part of the CHOST before the first -:
* on x86, it will be one of i486, i586, or i686
* on amd64, it will be x86_64
If you aren't on x86 or amd64, I assume you can figure it out :).
This is helpful, as I do remember fooling with ithreads and not
getting it completely right. I'm now emerging anything that has
'perl' in the name or category.
It has always baffled me, given this sensitivity, that all such
packages don't just declare that they use the 'ithreads' USE flag,
even if they don't explicitly. Then my usual emerge --newuse would do
the Right Thing (TM).
++ kevin
--
Kevin O'Gorman, PhD