Re: [gentoo-user] Re: Cannot emerge libgksu: lacks XML::Parser

2009-08-01 Thread Kevin O'Gorman
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



Re: [gentoo-user] Re: Cannot emerge libgksu: lacks XML::Parser

2009-08-01 Thread Stroller


On 1 Aug 2009, at 14:54, Kevin O'Gorman wrote:

...
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).


The build scripts (makefile or whatever) of some packages will  
autodetect whether a feature is available. Thus they take advantage of  
another package's USE flag, without their own ebuild featuring it. I  
think this issue may be complicated by upstream decisions, thus  
complicating matters so that it may not be so easy for Gentoo  
developers to do the right thing.


Stroller.