Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 35319 - vim-core-6.2-r5 failed: macro AC_PROG_EGREP undefined
Summary: vim-core-6.2-r5 failed: macro AC_PROG_EGREP undefined
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Vim Maintainers
URL:
Whiteboard:
Keywords:
: 35329 35387 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-12-08 02:28 UTC by Steffen Oschatz
Modified: 2003-12-09 05:03 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steffen Oschatz 2003-12-08 02:28:40 UTC
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"
Comment 1 Peter Jensen 2003-12-08 02:45:34 UTC
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.
Comment 2 Steffen Oschatz 2003-12-08 03:44:55 UTC
same problem when emerging gvim - the workaround above works fine also for this case
Comment 3 Martin Holzer (RETIRED) gentoo-dev 2003-12-08 05:06:18 UTC
*** Bug 35329 has been marked as a duplicate of this bug. ***
Comment 4 Aron Griffis (RETIRED) gentoo-dev 2003-12-08 06:08:14 UTC
I broke this last night while fixing something else... :-(
I'll get it fixed this morning.
Comment 5 Aron Griffis (RETIRED) gentoo-dev 2003-12-08 13:32:03 UTC
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
Comment 6 Ciaran McCreesh 2003-12-08 15:55:22 UTC
*** Bug 35387 has been marked as a duplicate of this bug. ***
Comment 7 Olivier Crete (RETIRED) gentoo-dev 2003-12-08 15:59:35 UTC
should be WANT_AUTOCONF_2_5=1 and not WANT_AUTOCONF=2.5
Comment 8 Olivier Crete (RETIRED) gentoo-dev 2003-12-08 16:26:37 UTC
alright, I fixed it myself.
Comment 9 Aron Griffis (RETIRED) gentoo-dev 2003-12-09 04:27:59 UTC
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.
Comment 10 Aron Griffis (RETIRED) gentoo-dev 2003-12-09 04:58:30 UTC
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.
Comment 11 Aron Griffis (RETIRED) gentoo-dev 2003-12-09 05:03:33 UTC
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