Bug 59077
| Summary: | autoconf is creating incorrect shell script with AC_TRY_LINK() | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Raw Hide | Reporter: | Phil Copeland <copeland> |
| Component: | autoconf | Assignee: | Jens Petersen <petersen> |
| Status: | CLOSED DUPLICATE | QA Contact: | Brian Brock <bbrock> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 1.0 | ||
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2002-01-30 23:05:38 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Sigh,
Ok, so this was in actual fact a problem of parsing
AC_TRY_LINK([#include <utmpx.h>
],,
AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN)))
,LIBS="$oldlibs")
translated to autoconf-2.52-6 speak is
[AC_CHECK_HEADER(dwarf.h,
[AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN)],
[AC_CHECK_HEADER(elf.h,
[AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN)])])]
,LIBS="$oldlibs")
ie heavy quoting required.
Phil
=--=
|
Description of Problem: autoconf is creating incorrect shell script from a configure.in file Version-Release number of selected component (if applicable): autoconf-2.52-6 How Reproducible: AC_TRY_LINK([#include <utmpx.h> ],, AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN), AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))) ,LIBS="$oldlibs") This structure is used in a number of default gnu packages Actual Results: autoconf-2.52-6 ... # So? What about this header? case $ac_header_compiler:$ac_header_preproc in yes:no else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 fi Expected Results: autoconf-2.13-9 ... oldlibs="$LIBS" LIBS="$LIBS -lelf" echo "checking SVR4" 1>&6 echo "configure:1467: checking SVR4" >&5 cat > conftest.$ac_ext <<EOF #line 1469 "configure" #include "confdefs.h" #include <utmpx.h> int main() { ; return 0; } EOF if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && t est -s conftest${ac_exeext}; then rm -rf conftest* ac_safe=`echo "dwarf.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dwarf.h""... $ac_c" 1>&6 echo "configure:1481: checking for dwarf.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF #line 1486 "configure" #include "confdefs.h" #include <dwarf.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1491: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi Additional Information: This is not limited to screen, which is where I first tripped over this, other src rpms are also suffering as a result