Subject: Re: pkg/13625: /bin/sh eval fails in common configure test when $MAKE contains '/'
To: None <,>
From: John Darrow <>
List: netbsd-bugs
Date: 08/03/2001 16:57:24
Okay, it turns out that the supposed "success/failure" on bash had more
to do with the number of slashes instead of starting with '.', since
bash does search-and-replace in variable expansions using '/'...

It looks like a fix has been added to autoconf somewhere between 2.1
(the buggy version in devel/m4) and 2.13 (present in sysutils/amanda).

The 2.13 fixed version is as follows:

echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
echo "configure:894: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then

The sed expression marked by ^^^^^ above is what fixes this.

The question is, how do we handle this for source tarballs which
contain pre-2.13 configure scripts?  Do we simply start BUILD_DEPENDing
on autoconf everywhere?  And what about things like devel/m4 which are
required to build autoconf in the first place?

At least the following packages are broken, there may be others (the
bulk build got this far before I restarted it with just 'make' instead
of '/usr/bin/make'):


Also, the error message from sh could be more helpful in this case:
something like "ac_cv_prog_make_/usr/bin/make_set: illegal variable
name" would actually give you a clue as to what's wrong, instead of
forcing you to guess which part of the whole convoluted line is
actually causing the error...


John Darrow - Senior Technical Specialist               Office: 630/752-5201
Computing Services, Wheaton College, Wheaton, IL 60187  Fax:    630/752-5968
Pager via email:      Pager:  630/316-0707