coreutils fails to compile. After encountering possible bugs in test ( [ -n ] && echo none none ) I decided to recompile coreutils with the makecheck feature to run a check. It failed to compile. I tried without distcc, and it still failed. Reproducible: Always Steps to Reproduce: 1. emerge coreutils Actual Results: * Reconfiguring configure scripts (be patient) ... !!! ERROR: sys-apps/coreutils-5.2.1-r2 failed. !!! Function src_compile, Line 92, Exitcode 1 !!! (no error message) Expected Results: compiled cleanly. Portage 2.0.51-r8 (default-linux/x86/2004.2, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.8-gentoo-r8 i686) ================================================================= System uname: 2.6.8-gentoo-r8 i686 Pentium III (Coppermine) Gentoo Base System version 1.6.7 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Nov 1 2004, 19:05:55)] distcc 2.18.2 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.4_p6, 1.6.3, 1.9.3, 1.5, 1.7.9 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r1 virtual/os-headers: 2.4.22 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -pipe " CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/fax /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer -pipe " DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms" GENTOO_MIRRORS="http://cudlug.cudenver.edu/gentoo/ http://mirror.datapipe.net/gentoo http://gentoo.ccccom.com http://gentoo.mirrors.pair.com/ http://gentoo.llarian.net/" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups encode esd f77 fam foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imlib jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline samba sdl slang spell ssl svga tcltk tcpd tiff truetype x86 xml2 xmms xv zlib"
[ -n ] is undefined behavior isnt it ?
no, -n means Non-zero string length. So [ -n abc123 ] && echo Present or export TS='abc123' [ -n $TS ] && echo Present should echo present, where as something like this: unset TS [ -n $TS ] && echo Present should not echo ANYTHING becase the result should be a false indicator (the string is NOT a Non-zero length string, it is a zero length string) read test's man page again.
I think you have misinterpreted the man page. unset TS [ -n $TS ] && echo Present should give "Present" because you're feeding ] to test -n (it's a shell thing). However, unset TS [ -n "${TS}" ] && echo Present should not give any output. This is not a bug in test.
the point of this bug isnt test / -n, it's that coreutils fails
I know that, I just didn't want it to go in the wrong direction. Here's what really is the problem (after removing &> /dev/null from the aclocal call) >>> Source unpacked. * Reconfiguring configure scripts (be patient) ... am-wrapper: /usr/bin/aclocal-1.8 is missing or not executable. Please try emerging the correct version of automake. !!! ERROR: sys-apps/coreutils-5.2.1-r2 failed. !!! Function src_compile, Line 92, Exitcode 1 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. This is during an emerge system from a stage1 install. Only automake 1.9.3 and autoconf 2.13 and 2.59-r6 are installed. Seems like the WANT_AUTOMAKE=1.8 is the culprit.
Changing coreutils' dependency from ">=sys-devel/automake-1.8.3" to "=sys-devel/automake-1.8*" fixes it for me, but I don't know if coreutils can really only work with 1.8.
fixed in coreutils-5.2.1-r3
Untill this new version is pushed to the Rsync servers, I cannot test. When I am able to get a newer version I will attempt to verify.