#30668 closed defect (fixed)
Prepare for autoconf-2.71
Reported by: | mjo | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | sage-9.4 |
Component: | build | Keywords: | |
Cc: | mkoeppe, fbissey, dimpase, vbraun | Merged in: | |
Authors: | Dima Pasechnik, Michael Orlitzky | Reviewers: | Dima Pasechnik, Matthias Koeppe |
Report Upstream: | Not yet reported upstream; Will do shortly. | Work issues: | |
Branch: | 9bfbc41 (Commits, GitHub, GitLab) | Commit: | |
Dependencies: | Stopgaps: |
Description (last modified by )
Autoconf is finally getting an update after 8 years, and there are some breaking changes. A beta version has been released for testing:
https://lists.gnu.org/archive/html/autoconf/2020-09/msg00006.html
We should try to bootstrap sage with the new version to make sure everything works before any end-users get a chance to.
This ticket also unbreaks make targets such as distclean
, which rely on normal return from ./bootstrap
, for these on autoconf 2.71
Change History (54)
comment:1 Changed 23 months ago by
comment:2 Changed 23 months ago by
Lots of people clone the git repo and run ./bootstrap
. They're who I had in mind.
comment:3 Changed 23 months ago by
I think it's a good idea to check whether we can point out some issued, before the release is final.
comment:4 Changed 22 months ago by
Bootstrap output (cleaned up):
configure.ac:392: warning: back quotes and double quotes must not be escaped in: multiple installation records for $SPKG_NAME: m4_newline($(ls -l "$SAGE_SPKG_INST/$SPKG_NAME"-*)) m4_newline([only one should exist, so please delete some or all of these files and re-run \"$srcdir/configure\"]) m4/sage_spkg_configures.m4:191: warning: The macro `AC_FOREACH' is obsolete. m4/sage_spkg_configures.m4:191: warning: The macro `AC_PROG_CC_C99' is obsolete. m4/sage_spkg_configures.m4:204: warning: The macro `AC_FOREACH' is obsolete. m4/sage_spkg_configures.m4:261: warning: The macro `AC_TRY_LINK' is obsolete. m4/sage_spkg_configures.m4:261: warning: The macro `AC_TRY_RUN' is obsolete.
comment:5 Changed 22 months ago by
AC_TRY_LINK comes from ppl.m4, and has an easy replacement. Reported upstream at https://www.cs.unipr.it/mantis/view.php?id=2751
comment:6 Changed 22 months ago by
AC_TRY_RUN, too: https://www.cs.unipr.it/mantis/view.php?id=2752
comment:7 Changed 22 months ago by
AC_FOREACH: http://savannah.gnu.org/patch/index.php?9983
comment:8 Changed 22 months ago by
- Milestone changed from sage-9.2 to sage-9.3
comment:9 Changed 22 months ago by
Dropping the backslashes that it complains about in m4/sage_spkg_collect.m4
doesn't seem to hurt anything (output does not change):
-
m4/sage_spkg_collect.m4
diff --git a/m4/sage_spkg_collect.m4 b/m4/sage_spkg_collect.m4 index 7cba7252c4..3867bc16c9 100644
a b for DIR in $SAGE_ROOT/build/pkgs/*; do 183 183 multiple installation records for $SPKG_NAME: 184 184 m4_newline($(ls -l "$SAGE_SPKG_INST/$SPKG_NAME"-*)) 185 185 m4_newline([only one should exist, so please delete some or all 186 of these files and re-run \"$srcdir/configure\"])186 of these files and re-run "$srcdir/configure"]) 187 187 ])) 188 188 ]) 189 189 stampfile=yes
comment:10 Changed 18 months ago by
- Milestone changed from sage-9.3 to sage-9.4
Setting new milestone based on a cursory review of ticket status, priority, and last modification date.
comment:11 Changed 17 months ago by
- Summary changed from Prepare for autoconf-2.70 to Prepare for autoconf-2.71
on Gentoo, autoconf is now version 2.71. Running autoupdate m4/*
produces mostly backward-compatible changes.
comment:12 Changed 17 months ago by
- Branch set to u/dimpase/configure/autoconf271
- Commit set to ce12b5f650a2f2c4d61dc790c442a5b80deb72b5
New commits:
ce12b5f | mostly autupdate's results
|
comment:13 follow-up: ↓ 14 Changed 17 months ago by
I think that leaves only the obsolete AC_PROG_CC_C99
in build/pkgs/gcc/spkg-configure.m4
. The new autoconf docs say that we can replace
AC_LANG_PUSH(C) if test -z "$CC"; then SAGE_MUST_INSTALL_GCC([a C compiler is missing]) fi # Save compiler before checking for C99 support save_CC=$CC # Check that we can compile C99 code AC_PROG_CC_C99() if test "x$ac_cv_prog_cc_c99" = xno; then SAGE_MUST_INSTALL_GCC([your C compiler cannot compile C99 code]) fi # restore original CC CC=$save_CC AC_LANG_POP()
with
if test -z "$CC"; then SAGE_MUST_INSTALL_GCC([a C compiler is missing]) fi if test "x$ac_cv_prog_cc_c99" = xno; then SAGE_MUST_INSTALL_GCC([your C compiler cannot compile C99 code]) fi
since we already call AC_PROG_CC()
, and it now sets $ac_cv_prog_cc_c99
.
But that would skip the C99 check for people using older autoconf. Should we...
- ignore that problem, or
- set the minimum version of autoconf required to 2.70, or
- just leave the
AC_PROG_CC_C99()
alone for now and fix it in the future?
comment:14 in reply to: ↑ 13 Changed 17 months ago by
Replying to mjo:
Should we[...]
- set the minimum version of autoconf required to 2.70, or
[...]
No, that would be too disruptive
comment:15 Changed 17 months ago by
- Branch changed from u/dimpase/configure/autoconf271 to u/mjo/ticket/30668
- Commit changed from ce12b5f650a2f2c4d61dc790c442a5b80deb72b5 to b717a71f1849ca126909b08daaef37aec251f395
- Status changed from new to needs_review
This looks sufficient for both autoconf-2.69 and autoconf-2.71.
New commits:
b717a71 | Trac #30668: don't run obsolete AC_PROG_CC_C99 macro in GCC check.
|
comment:16 follow-up: ↓ 17 Changed 17 months ago by
As you could check,
if test "x$ac_cv_prog_cc_c99" = xno; then SAGE_MUST_INSTALL_GCC([your C compiler cannot compile C99 code]) fi
can be removed, as nothing sets ac_cv_prog_cc_c99
any more.
comment:17 in reply to: ↑ 16 Changed 17 months ago by
Replying to dimpase:
as nothing sets
ac_cv_prog_cc_c99
any more.
Of course I haven't tested on a system with a brand-new autoconf and a twenty-year-old gcc, but the documentation for >=autoconf-2.70 says that AC_PROG_CC
can now set it:
https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/C-Compiler.html
comment:18 Changed 17 months ago by
- Milestone changed from sage-9.4 to sage-9.3
- Reviewers set to Dima Pasechnik
- Status changed from needs_review to positive_review
OK, fine, thanks. I'm bumping it to 9.3, perhaps there is still room...
comment:19 Changed 17 months ago by
- Status changed from positive_review to needs_work
diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 index bd753b3..423ab25 100644 --- a/m4/ax_check_compile_flag.m4 +++ b/m4/ax_check_compile_flag.m4 @@ -37,7 +37,7 @@ #serial 6 AC_DEFUN([AX_CHECK_COMPILE_FLAG], -[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +[AC_PREREQ([2.69])dnl for _AC_LANG_PREFIX and AS_VAR_IF AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
Changes like this are not good. These are files from autoconf-archive, and their versions are identified by #serial
. Don't make changes within them. If necessary, get a newer version from autoconf-archive.
comment:20 Changed 17 months ago by
well, the archive still has these old versions, e.g.: http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_check_compile_flag.m4
comment:21 Changed 17 months ago by
Well, bumping the AC_PREREQ
of these macros is certainly not needed for this ticket. There is already AC_PREREQ([2.69])
in configure.ac
, so what are you trying to achieve by these changes?
comment:22 Changed 17 months ago by
http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_absolute_header.m4 has a newer version.
For other autoconf-archive macros that actually need changing, it would probably be good to prepare a pull request.
comment:23 Changed 17 months ago by
- Reviewers changed from Dima Pasechnik to Dima Pasechnik, Matthias Koeppe
comment:24 Changed 17 months ago by
One reason I changed the version in these files was that autoupdate script changes them, to 2.71.
comment:25 Changed 17 months ago by
It sure looked like an automatically made change. But it should not be on the ticket.
comment:26 Changed 17 months ago by
I can revert ax_c_check_flag.m4 change.
How about extra quotes to be put in in
ax_check_compile_flag.m4 ?
Would you object to 2.64
becoming [2.64]
?
comment:27 follow-up: ↓ 29 Changed 17 months ago by
Is the quoting fix needed to suppress warnings with the new version? Then it should be upstreamed...
comment:28 Changed 17 months ago by
- Milestone changed from sage-9.3 to sage-9.4
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date.
comment:29 in reply to: ↑ 27 Changed 17 months ago by
Replying to mkoeppe:
Is the quoting fix needed to suppress warnings with the new version? Then it should be upstreamed...
no, no warning without quotes.
comment:30 Changed 15 months ago by
ping?
comment:31 Changed 15 months ago by
- Branch changed from u/mjo/ticket/30668 to u/dimpase/ticket/30668
- Commit changed from b717a71f1849ca126909b08daaef37aec251f395 to 97b554d4b4396b8ab132041debc8c800376c831c
- Status changed from needs_work to needs_review
comment:33 Changed 15 months ago by
And also, what is this:
-AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL]) +AU_ALIAS([AX_CHECK_OPENSSL], [AX_CHECK_OPENSSL])
comment:34 follow-up: ↓ 35 Changed 15 months ago by
our m4/ax_*
files are not pristine upstream, e.g. check m4/ax_check_root.m4
.
We do fix bugs there. Thus I think you're too strict in demanding these be left untouched.
As to comment:33 goes, that's what the automatic update did.
I guess this means that this AU_ALIAS
may be deleted.
comment:35 in reply to: ↑ 34 Changed 15 months ago by
Replying to dimpase:
our
m4/ax_*
files are not pristine upstream, e.g. checkm4/ax_check_root.m4
. We do fix bugs there. Thus I think you're too strict in demanding these be left untouched.
comment 22. PR for upstream
comment:36 Changed 15 months ago by
- Commit changed from 97b554d4b4396b8ab132041debc8c800376c831c to 826df39abf9577f92ba77c6ffc8b713489e0b04a
Branch pushed to git repo; I updated commit sha1. New commits:
826df39 | use updated ax_absolute_header.m4 from savannah.gnu.org
|
comment:37 Changed 15 months ago by
- Report Upstream changed from N/A to Not yet reported upstream; Will do shortly.
I'll ask on autoconf mailing list how/if they want updates
comment:38 Changed 15 months ago by
- Status changed from needs_work to needs_review
comment:39 Changed 15 months ago by
by the way, I noticed that Gentoo went back to 2.69, for a reason stated on https://packages.gentoo.org/packages/sys-devel/autoconf as
Has unidentified race condition on very fast CPUs that causes maintainer- mode to be triggered. Most likely caused by the following upstream commit: https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=aba75f6d4a9c875a9d5d90a07c6b3678db66a4bf
but this supposed bug does not seem to be on Gentoo bug tracker, nor reported on bug-autoconf mailing list.
comment:40 Changed 15 months ago by
this leaves me without a ready to use system I can test these updates.
comment:41 Changed 15 months ago by
- Status changed from needs_review to needs_work
comment:42 Changed 15 months ago by
You can unmask autoconf-2.71 on Gentoo by adding the line sys-devel/autoconf:2.71
to /etc/portage/package.unmask
.
I am sceptical of the unreported race condition, but have too many other things to worry about at the moment.
comment:43 Changed 15 months ago by
- Commit changed from 826df39abf9577f92ba77c6ffc8b713489e0b04a to 9bfbc41a51fec38af3b04109830b30951f27156f
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
9bfbc41 | update for autoconf 2.71
|
comment:44 Changed 15 months ago by
- Status changed from needs_work to needs_review
I've removed all the changes to ax_* files - except the one that was updated upstream, so I included this update here.
comment:45 Changed 15 months ago by
- Status changed from needs_review to positive_review
comment:46 Changed 15 months ago by
weirdly, SAGE_SPKG_CONFIGURE_BOOST
creeps up in a warning, even though full boost
package is gone.
configure.ac:43: installing 'config/missing' m4/sage_spkg_configures.m4:500: warning: SAGE_SPKG_CONFIGURE_BOOST is m4_require'd but not m4_defun'd m4/sage_spkg_configure.m4:159: SAGE_SPKG_DEPCHECK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:500: the top level
feels like wrong quoting somewhere?
As well:
% ./configure --help | grep boost --with-system-boost_cropped={no|yes (default)|force (exit with an error if no usable version is found)} detect and use an existing system boost_cropped --with-boost[=ARG] use Boost library from a standard location --with-boost-libdir=LIB_DIR Force given directory for boost libraries. Note that fails and you know exactly where your boost
comment:47 follow-up: ↓ 48 Changed 15 months ago by
the latter is fixed by https://trac.sagemath.org/ticket/31575#comment:19
I'll open another ticket for this.
comment:48 in reply to: ↑ 47 Changed 15 months ago by
Replying to dimpase:
the latter is fixed by https://trac.sagemath.org/ticket/31575#comment:19
I'll open another ticket for this.
fixed by #31871
comment:49 Changed 14 months ago by
- Cc vbraun added
- Priority changed from major to critical
please merge this soon, a number of distros use autoconf 2.70+ now, and it breaks CI stuff not to support it properly.
comment:50 Changed 14 months ago by
- Priority changed from critical to blocker
- Type changed from task to defect
Made it a blocker, as I am tired of seeing
configure.ac:43: installing 'config/missing' m4/sage_spkg_configures.m4:515: warning: The macro `AC_PROG_CC_C99' is obsolete. m4/sage_spkg_configures.m4:515: You should run autoupdate. ./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:515: the top level m4/sage_spkg_configures.m4:515: warning: The macro `AC_FOREACH' is obsolete. m4/sage_spkg_configures.m4:515: You should run autoupdate. ./lib/autoconf/general.m4:191: AC_FOREACH is expanded from... m4/ax_absolute_header.m4:41: AX_ABSOLUTE_HEADER is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_configure.m4:159: SAGE_SPKG_DEPCHECK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:515: the top level m4/sage_spkg_configures.m4:515: warning: The macro `AC_TRY_LINK' is obsolete. m4/sage_spkg_configures.m4:515: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_configure.m4:159: SAGE_SPKG_DEPCHECK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:515: the top level m4/sage_spkg_configures.m4:517: warning: The macro `AC_FOREACH' is obsolete. m4/sage_spkg_configures.m4:517: You should run autoupdate. ./lib/autoconf/general.m4:191: AC_FOREACH is expanded from... m4/ax_absolute_header.m4:41: AX_ABSOLUTE_HEADER is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:517: the top level m4/sage_spkg_configures.m4:531: warning: The macro `AC_FOREACH' is obsolete. m4/sage_spkg_configures.m4:531: You should run autoupdate. ./lib/autoconf/general.m4:191: AC_FOREACH is expanded from... m4/ax_absolute_header.m4:41: AX_ABSOLUTE_HEADER is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... ./lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from... ./lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:531: the top level m4/sage_spkg_configures.m4:595: warning: The macro `AC_TRY_RUN' is obsolete. m4/sage_spkg_configures.m4:595: You should run autoupdate. ./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from... m4/ppl.m4:29: AM_PATH_PPL is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_configure.m4:159: SAGE_SPKG_DEPCHECK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:595: the top level m4/sage_spkg_configures.m4:595: warning: The macro `AC_TRY_LINK' is obsolete. m4/sage_spkg_configures.m4:595: You should run autoupdate. ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... m4/ppl.m4:29: AM_PATH_PPL is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_configure.m4:159: SAGE_SPKG_DEPCHECK is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... m4/sage_spkg_configures.m4:595: the top level configure.ac:447: warning: back quotes and double quotes must not be escaped in: multiple installation records for $SPKG_NAME: m4_newline($(ls -l "$SAGE_SPKG_INST/$SPKG_NAME"-*)) m4_newline([only one should exist, so please delete some or all of these files and re-run \"$srcdir/configure\"]) lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... m4/sage_spkg_collect.m4:69: SAGE_SPKG_COLLECT is expanded from... configure.ac:447: the top level
every time I run ./bootstrap
also, make distclean
is broken for me without this branch.
comment:51 Changed 13 months ago by
- Description modified (diff)
comment:52 Changed 13 months ago by
comment:53 Changed 13 months ago by
- Branch changed from u/dimpase/ticket/30668 to 9bfbc41a51fec38af3b04109830b30951f27156f
- Resolution set to fixed
- Status changed from positive_review to closed
comment:54 Changed 13 months ago by
- Commit 9bfbc41a51fec38af3b04109830b30951f27156f deleted
Thanks, Volker.
Were "typos" (well, unprintable chars - thanks Michael for spotting these) in the list of authors tripping up your scripts?
Well, fortunately end users do not run autoconf.