Opened 2 years ago

Closed 2 years ago

Last modified 7 months ago

#30600 closed defect (fixed)

fix ecm on macOS Xcode 12

Reported by: Dima Pasechnik Owned by:
Priority: blocker Milestone: sage-9.2
Component: packages: standard Keywords:
Cc: Matthias Köppe, John Palmieri, Paul Zimmermann Merged in:
Authors: Dima Pasechnik Reviewers: John Palmieri
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: 1991357 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Change History (19)

comment:1 Changed 2 years ago by Dima Pasechnik

Branch: u/dimpase/packages/ecm/xcode12patch
Cc: Matthias Köppe John Palmieri added
Commit: 9a2408c17b9a2771dcdc62540b591e6aba3e0ba3
Status: newneeds_review

New commits:

9a2408cupstream patch to fix ecm configure on XCode 12 clang

comment:2 Changed 2 years ago by John Palmieri

I think that most of the changes to ./configure are unnecessary, and it would be cleaner to use just

diff -u a/configure b/configure
--- a/configure	2016-10-11 02:27:12.000000000 -0700
+++ b/configure	2020-09-18 09:03:06.000000000 -0700
@@ -13265,8 +13253,10 @@
   cat >conftes1.c <<EOF
 #ifdef __cplusplus
 extern "C" { void underscore_test(); }
+#else
+extern void underscore_test();
 #endif
-main () { underscore_test(); }
+int main () { underscore_test(); return 1;}
 EOF
 for tmp_underscore in "" "_"; do
   cat >conftes2.s <<EOF

(I assume that you got this by running autoreconf after making the changes to acinclude.m4. Maybe upstream's configure was already out of sync, which is where the other changes came from?)

comment:3 Changed 2 years ago by Dima Pasechnik

Cc: Paul Zimmermann added

comment:4 Changed 2 years ago by Dima Pasechnik

sure, it's just the result of an autoreconf run. I don't think we should be bothered by this, it's clearly a temporary patch, to go away with a new ecm release.

comment:5 Changed 2 years ago by John Palmieri

Reviewers: John Palmieri
Status: needs_reviewpositive_review

comment:6 Changed 2 years ago by Volker Braun

Status: positive_reviewneeds_work

Build depends on autotools:

Building ecm-7.0.4.p2
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /var/lib/buildbot/slave/sage_git/build/local/var/tmp/sage/build/ecm-7.0.4.p2/src/missing aclocal-1.16 -I m4
/var/lib/buildbot/slave/sage_git/build/local/var/tmp/sage/build/ecm-7.0.4.p2/src/missing: line 81: aclocal-1.16: command not found
WARNING: 'aclocal-1.16' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:808: recipe for target 'aclocal.m4' failed
make[5]: *** [aclocal.m4] Error 127
make[5]: Failed to remake makefile 'Makefile'.
make[5]: Target 'all' not remade because of errors.

comment:7 Changed 2 years ago by Paul Zimmermann

Build depends on autotools: [...]

[speaking as upstream developer] I believe this has to be fixed on the Sage side, since the vanilla 7.0.4 tarball should not depend on autotools.

comment:8 Changed 2 years ago by John Palmieri

I think we can just patch configure, not acinclude.m4, and that shouldn't trigger running aclocal. I see this problem intermittently (running make ecm-clean; make), but if I remove the part of the patch for acinclude.m4, I don't see it any more.

comment:9 Changed 2 years ago by John Palmieri

Branch: u/dimpase/packages/ecm/xcode12patchu/jhpalmieri/packages/ecm/xcode12patch

comment:10 Changed 2 years ago by John Palmieri

Commit: 9a2408c17b9a2771dcdc62540b591e6aba3e0ba31991357509eafcea66abacc34735022da0221f46
Status: needs_workpositive_review

New commits:

1991357trac 30600: don't patch acinclude.m4, to avoid running aclocal

comment:11 Changed 2 years ago by Dima Pasechnik

ok, good catch!

comment:12 Changed 2 years ago by Paul Zimmermann

it would be cleaner to run autoreconf after having patched acinclude.m4, and use the updated configure file (which is auto-generated)

comment:13 in reply to:  12 Changed 2 years ago by John Palmieri

Replying to zimmerma:

it would be cleaner to run autoreconf after having patched acinclude.m4, and use the updated configure file (which is auto-generated)

I think that's how Dima produced the patch in the first place. I just removed the part of the patch affecting acinclude.m4.

comment:14 in reply to:  12 Changed 2 years ago by Dima Pasechnik

Replying to zimmerma:

it would be cleaner to run autoreconf after having patched acinclude.m4, and use the updated configure file (which is auto-generated)

this what I did - but I only took updates of acinclude.m4 and ./configure, not the complete stuff. My fault.

comment:15 Changed 2 years ago by Volker Braun

Branch: u/jhpalmieri/packages/ecm/xcode12patch1991357509eafcea66abacc34735022da0221f46
Resolution: fixed
Status: positive_reviewclosed

comment:16 Changed 22 months ago by Matthias Köppe

Commit: 1991357509eafcea66abacc34735022da0221f46

Paul, is there any chance that a new release will be made soon with these updates?

comment:17 Changed 22 months ago by Paul Zimmermann

I've put a candidate tarball at https://members.loria.fr/PZimmermann/ecm-7.0.5-dev.tar.gz, please can you confirm it is ok? If so, I will make a new release.

comment:18 in reply to:  17 Changed 7 months ago by Paul Zimmermann

Replying to zimmerma:

I've put a candidate tarball at https://members.loria.fr/PZimmermann/ecm-7.0.5-dev.tar.gz, please can you confirm it is ok? If so, I will make a new release.

still waiting for an answer...

comment:19 Changed 7 months ago by Matthias Köppe

Sorry, let's take this to #31325

Note: See TracTickets for help on using tickets.