dev-db/cdb-0.75 ebuild fails in compiling cdb. The makefile creates a compile macro. There are errors using the "head" command while creating this macro. (I haven't tried to fix the macro.) Reproducible: Always Steps to Reproduce: 1. emerge cdb Actual Results: >>> Unpacking cdb-0.75.tar.gz to /var/tmp/portage/cdb-0.75/work * Applying cdb-0.75-errno.diff... [ ok ] >>> Source unpacked. eutils gcc ( cat warn-auto.sh; \ echo 'main="$1"; shift'; \ echo exec "`head -1 conf-ld`" \ '-o "$main" "$main".o ${1+"$@"}' \ ) > load head: `-1' option is obsolete; use `-n 1' Try `head --help' for more information. chmod 755 load ( cat warn-auto.sh; \ echo exec "`head -1 conf-cc`" '-c ${1+"$@"}' \ ) > compile head: `-1' option is obsolete; use `-n 1' Try `head --help' for more information. chmod 755 compile ( ( ./compile tryulong32.c && ./load tryulong32 && \ ./tryulong32 ) >/dev/null 2>&1 \ && cat uint32.h2 || cat uint32.h1 ) > uint32.h rm -f tryulong32.o tryulong32 ./compile cdbget.c ./compile: line 3: exec: cdbget.c: not found make: *** [cdbget.o] Error 127 !!! ERROR: dev-db/cdb-0.75 failed. !!! Function src_compile, Line 29, Exitcode 2 !!! emake failed Expected Results: Should have compiled successfully. Portage 2.0.49-r16 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.0-test9-gentoo) ================================================================= System uname: 2.6.0-test9-gentoo i686 AMD Athlon(tm) XP 2200+ Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O2 -pipe -fstack-protector" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb /opt/tomcat/conf /usr/kde/3.2/share/config /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/xdvi/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O2 -pipe -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="ccache autoaddcvs sandbox usersandbox" GENTOO_MIRRORS="ftp://mirror.iawnet.sandia.gov/pub/gentoo/ http://gentoo.seren.com/gentoo ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml alsa gdbm berkdb slang readline arts tetex bonobo svga tcltk java guile ruby mysql postgres X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla ldap cdr 3dnow acl acpi acpi4linux amd antlr apache2 dnd doc dvd ethereal evo fbcon fbdev foreign-package foreign-sysvinit freetds gb gd gd-external ginac gnomedb gstreamer gtk2 imap innodb ipv6 jikes junit kerberos libgda maildir mbox mdb mmx moznoirc moznomail nptl oci8 odbc ofx pda pg-hier pic plotutils radeon samba sasl slp snmp sse tiff type1 usb wmf wxwindows Xaw3d xml zeo"
In compiling another package (not part of Gentoo), I got the same "head `-1' option is obsolete" message. Googling this, I see this is coming from the newest release of GNU coreutils. Apparently, GNU is now enforcing the latest POSIX decree that "head -1" should be banned. (OK, but now everyone has to fix a whole bunch of stuff. Of course, we all knew about this in advance? Right....)
Here is a proposed patch. (This is my first try at patching something, so any suggestions (other than RTFM!) would be appreciated.): *** cdb-0.75.ebuild~ Fri Nov 14 13:41:59 2003 --- cdb-0.75.ebuild Thu Nov 20 22:37:47 2003 *************** *** 26,31 **** --- 26,36 ---- echo "$(gcc-getCC) ${CFLAGS}" > conf-cc echo "$(gcc-getCC)" > conf-ld echo "/usr" > conf-home + + mf="${S}/Makefile" + sed -r -e 's/head -1/head -n 1/g' ${mf} > ${mf}.tmp + mv ${mf}.tmp ${mf} + emake || die "emake failed" }
Fixed the head -1 issue in CVS. Should be fixed now. Please resync in about a half hour and try it again. Go ahead and reopen if it's still not working.