Bug 2143718
| Summary: | FTBFS with autoconf 2.72 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Frédéric Bérat <fberat> |
| Component: | anjuta | Assignee: | Gwyn Ciesla <gwync> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | cosimo.cecchi, gnome-sig, gwync, klember, moez.roy, rakesh.pandit |
| Target Milestone: | --- | Keywords: | FutureFeature |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | All | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2022-11-18 21:18:42 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2143303 | ||
There may be a mistake in the proposed patch, AC_MSG_RESULT(yes) and AC_MSG_RESULT(no) may need to be inverted. Please check carefully. Works as is with both autoconf 2.71 and 2.72. Thanks! (In reply to Gwyn Ciesla from comment #2) > Works as is with both autoconf 2.71 and 2.72. Thanks! Thanks, can you please provide a link to the patch upstream if you sent it to them ? I didn't. |
Autoconf 2.72 seems to be under preparation upstream, I therefore started to build dependent components to verify that they can be built once it lands in Fedora. Your component fails to build with the new version of autoconf, due to the following error: --- + make -j2 CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /builddir/build/BUILD/anjuta-3.34.0/missing aclocal-1.16 -I m4 configure.ac:526: error: AC_REQUIRE: circular dependency of _AC_PROG_EGREP_TRADITIONAL ./lib/autoconf/general.m4:2771: AC_EGREP_CPP is expanded from... configure.ac:470: CHECK_HEADER_DEFINE is expanded from... lib/m4sugar/m4sh.m4:688: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:695: AS_IF is expanded from... ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... ./lib/autoconf/programs.m4:381: _AC_PROG_EGREP_TRADITIONAL is expanded from... ./lib/autoconf/general.m4:2771: AC_EGREP_CPP is expanded from... configure.ac:470: CHECK_HEADER_DEFINE is expanded from... configure.ac:526: the top level autom4te: error: /usr/bin/m4 failed with exit status: 1 aclocal-1.16: error: autom4te failed with exit status: 1 make: *** [Makefile:589: aclocal.m4] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.mDWPH9 (%build) Bad exit status from /var/tmp/rpm-tmp.mDWPH9 (%build) --- After investigation, it looks like there is a mixture of circular dependency (maybe introduced by autoconf 2.72) and bad quoting. The proposed patch is the following: --- diff -r -U5 anjuta-3.34.0.old/configure.ac anjuta-3.34.0/configure.ac --- anjuta-3.34.0.old/configure.ac 2022-11-17 14:53:51.042100150 +0100 +++ anjuta-3.34.0/configure.ac 2022-11-17 17:07:23.233317448 +0100 @@ -468,21 +468,21 @@ dnl ------------------------- dnl CHECK_HEADER_DEFINE(LABEL, HEADER [,ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ] ]) AC_DEFUN([CHECK_HEADER_DEFINE], [ AC_MSG_CHECKING("if $1 is defined in $2") - AC_EGREP_CPP(yes, -[#include <$2> -#ifdef $1 - yes + AC_PREPROC_IFELSE( +[[#include <$2> +#ifndef $1 +#error not defined #endif -], [ +]], [ AC_MSG_RESULT(yes) - $3 + [$3] ], [ AC_MSG_RESULT(no) - $4 + [$4] ]) ]) dnl Checks for header files. AC_CHECK_HEADERS(dirent.h fcntl.h fnmatch.h stat.h stdlib.h string.h stdint.h) AC_CHECK_HEADERS(time.h types.h unistd.h) diff -r -U5 anjuta-3.34.0.old/configure.ac.webkit anjuta-3.34.0/configure.ac.webkit --- anjuta-3.34.0.old/configure.ac.webkit 2022-11-17 14:53:50.954100638 +0100 +++ anjuta-3.34.0/configure.ac.webkit 2022-11-17 17:07:46.886183426 +0100 @@ -468,21 +468,21 @@ dnl ------------------------- dnl CHECK_HEADER_DEFINE(LABEL, HEADER [,ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ] ]) AC_DEFUN([CHECK_HEADER_DEFINE], [ AC_MSG_CHECKING("if $1 is defined in $2") - AC_EGREP_CPP(yes, -[#include <$2> -#ifdef $1 - yes + AC_PREPROC_IFELSE( +[[#include <$2> +#ifndef $1 +#error not defined #endif -], [ +]], [ AC_MSG_RESULT(yes) - $3 + [$3] ], [ AC_MSG_RESULT(no) - $4 + [$4] ]) ]) dnl Checks for header files. AC_CHECK_HEADERS(dirent.h fcntl.h fnmatch.h stat.h stdlib.h string.h stdint.h) AC_CHECK_HEADERS(time.h types.h unistd.h) --- Please have a look, and check that I didn't forget anything.