When i try to update vim-core with "emerge vim-core -Uv" to "[ebuild U ] app-editors/vim-core-6.2-r5 [6.2-r4] +ncurses +nls +acl" i get error: autoconf: Undefined macros: configure.in:16:AC_PROG_EGREP dnl required by header file checks make: *** [autoconf] Error 1 make: Leaving directory `/var/tmp/portage/vim-core-6.2-r5/work/vim62/src' !!! ERROR: app-editors/vim-core-6.2-r5 failed. !!! Function src_compile, Line 168, Exitcode 2 !!! make autoconf failed Reproducible: Always Steps to Reproduce: 1. emerge sync 2. emerge vim-core -Uv 3. Actual Results: emerge stoped Expected Results: install vim-core Portage 2.0.49-r15 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r3, 2.6.0-test11) ================================================================= System uname: 2.6.0-test11 i686 AMD Athlon(tm) XP 3000+ Gentoo Base System version 1.4.3.10p1 distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox buildpkg ccache userpriv usersandbox keepwork" GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ ftp://gentoo.mirrors.pair.com/ http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://gentoo.chem.wisc.edu/gentoo/" MAKEOPTS="-j4" 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 foomaticdb gif gtk2 jpeg kde libg++ mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml alsa gdbm berkdb slang readline tetex nas bonobo svga tcltk java guile mysql postgres X sdl gpm tcpd pam libwww ssl perl python imlib qt opengl mozilla cdr scanner 3dfx 3dnow acl acpi acpi4linux amd apache2 autofs clamav csc curl dga doc emacs exiscan exiscan-acl faad fbcon fbdev flash forei foreign-sysvinit freetds gb gd gnomedb gstreamer hbci imap jdepend justify kerberos krb4 libgda lids lufsusermount maildir mbox mcal memlimit milter mmx moz mozaccess mozcalendar mozinterfaceinfo mozp3p mozsvg mozxmlterm nocardbus nocd nvidia nviz oav odbc offen ofx parse-clocks pda pg-hier pic ppds prelude rplay S3TC sa samba sdk slp snmp sqlite src sse stroke threads tiff transcode ty videos vim-with-x X509 xfs xinerama xml xvid -encode -arts -esd -oggvorbis -gnome -gtk -motif -ldap"
This build apparently requires autoconf version 2.57, but doesn't enforce it. A temporary workaround is to use 'WANT_AUTOCONF_2_5="1" emerge vim-core -Uv', but this should really be handled somewhere else.
same problem when emerging gvim - the workaround above works fine also for this case
*** Bug 35329 has been marked as a duplicate of this bug. ***
I broke this last night while fixing something else... :-( I'll get it fixed this morning.
Fix committed to cvs: --- vim.eclass 15 Nov 2003 16:01:17 -0000 1.43 +++ vim.eclass 8 Dec 2003 21:27:33 -0000 @@ -165,7 +165,8 @@ # vim-6.2 changed the name of this rule from auto/configure to autoconf confrule=auto/configure grep -q ^autoconf: src/Makefile && confrule=autoconf - make -C src $confrule || die "make $confrule failed" + # autoconf-2.5 needed for AC_PROG_EGREP -- bug 35319 + WANT_AUTOCONF=2.5 make -C src $confrule || die "make $confrule failed" # This should fix a sandbox violation (see bug 24447) for file in /dev/pty/s* /dev/console; do
*** Bug 35387 has been marked as a duplicate of this bug. ***
should be WANT_AUTOCONF_2_5=1 and not WANT_AUTOCONF=2.5
alright, I fixed it myself.
Olivier, did you read /usr/bin/autoconf? WANT_AUTOCONF should also work, I think. Anyway, the right fix for this is to revert my patch which adds AC_PROG_EGREP and switch back to autoconf-2.13 for vim. I will do that.
It looks like WANT_AUTOCONF_2_1 was the old way of doing things. WANT_AUTOCONF is the new way, but it has priority. This means that to ensure compatibility with all versions of the wrapper, it's necessary to use WANT_AUTOCONF_2_1=yes WANT_AUTOCONF=2.1 autoconf That kinda sucks. By the way, I wrote a bug report to Bram explaining the whole EGREP problem (which hasn't been included in Gentoo's bugzilla). Here is the content of the bug report for anybody that's interested. -------------------------------------------------------- Date: Mon, 8 Dec 2003 18:31:43 -0500 To: bugs@vim.org Subject: problem when using autoconf-2.58 A problem was introduced in 6.2.118 (separate from the problem that was fixed by 6.2.123) when configure is built with autoconf-2.58. Presently configure will hang when checking ptyranges, unless it is built on MacOS X. The hang occurs because $EGREP "yes" >/dev/null 2>&1 runs, but EGREP is not defined, so simply "yes" is executed... for a long time ;-) The autoconf-2.5 macros define EGREP the first time it is required. Prior to 6.2.118, EGREP would be defined just before checking for ANSI C header files. Now EGREP is defined inside the shell conditional when AC_CHECK_HEADER is called at line 92. Because it's inside the shell conditional, it doesn't get defined unless you're using MacOS X. There are two workarounds for this problem and no really good solution that I know of yet: 1. Use autoconf-2.13 which is believed to work correctly (at least it's not broken for this particular problem). In most Linux distributions, you can set WANT_AUTOCONF_2_1=yes and/or WANT_AUTOCONF=2.1 to get the older version of autoconf. /usr/bin/autoconf is a wrapper around the real autoconf in this case. 2. Call AC_PROG_EGREP near the top of configure.in (for instance, following AC_PROG_AWK). This solution is incompatible with autoconf-2.13, which doesn't provide AC_PROG_EGREP. I tried the following for a comprehensive solution, but it doesn't work. autoconf-2.13 doesn't provide m4_if(...) and ifelse(...) does not work either. :-( dnl Set EGREP variable when using 2.50 or later (i.e. not 2.13). dnl This must use m4 conditionals to prevent PROG_EGREP from being called dnl on autoconf-2.13 where it is not available. m4_if([m4_bregexp([AC_ACVERSION], [^2\.1])], -1, [AC_PROG_EGREP]) In conclusion, it would not hurt to change the "make autoconf" rule to run "env WANT_AUTOCONF_2_1=yes WANT_AUTOCONF=2.1 autoconf" instead of straight "autoconf" for now. This would solve the problem on most distributions and would effectively put off needing to require autoconf-2.50 or later. Eventually, though, I think the best solution will be to start using autoconf-2.50 (it has a better design) and make a few changes to configure.in to support it.
Committed to cvs... rolled back to older patch in vim-core, vim and gvim. This removes the EGREP patch. Changed vim.eclass to use autoconf-2.1