On Fri, Jul 31, 2009 at 9:51 PM, ABCD<en.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

Reply via email to