emerge '=coreutils-8.7' fails when perl is not installed Perl should be added to the dependencies Reproducible: Always Steps to Reproduce: 1. emerge -C perl 2. emerge '=coreutils-8.7' GEN ref-del.sed CC unistr/u8-uctomb.o CC unistr/u8-uctomb-aux.o CC uniwidth/width.o AR libcoreutils.a make[4]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7/lib' make[3]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7/lib' make[2]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7/lib' Making all in src make[2]: Entering directory `/var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7/src' GEN dircolors.h GEN version.c GEN version.h /var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7/build-aux/missing: line 52: perl: command not found WARNING: `perl' is needed, and is missing on your system. You might have modified some files without having the proper tools for further handling them. Check the `README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing `perl' program. make[2]: *** [dircolors.h] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-apps/coreutils-8.7/work/coreutils-8.7' make: *** [all] Error 2 * ERROR: sys-apps/coreutils-8.7 failed: * emake failed
perl should never be not installed - i.e. automake is written in perl. I'd say INVALID (I strongly suspect either 'emerge -uD world' or revdep-rebuild would pull it back anyway).
The correct solution is to reinstall dev-lang/perl (and maybe sys-devel/libperl).
Just out of curiosity, why is then perl not in the system set?
Shouldn't a system package be pedantic with its dependencies? (if circular dependencies are the problem, i'd expect a message somewhere.) Also m4/perl.m4 sounds as it should be possible to build coreutils without perl?!
The problem with perl is that it's a huge package. It's fine for normal desktops and servers but it's a problem to build embedded systems. Dependencies like that are annoying for fundamental system packages like coreutils. Anyway I think it would be desirable to either be able to install coreutils without perl, or at least to have that dependency explicitly added. It won't break coreutils for people who already have perl, and it will avoid build problems for users who don't have it.
That macro is a bit misleading - it's a part of gnulib set. As you may see in src/Makefile.am coreutils need perl to create a few files. And as I already said, while there is some caution for packages from system set, usually adding 'eautoreconf' is not a big deal in an ebuild. For any package using automake that means 'perl is required'.
not a regression. due to our 030_all_coreutils-more-dir-colors.patch.
if perl isnt installed, then the compiled in dircolors defaults will be slightly out of date, but it isnt a big deal http://sources.gentoo.org/sys-apps/coreutils/coreutils-8.7.ebuild?r1=1.5&r2=1.6