Opened 2 years ago

Last modified 10 days ago

#30494 positive_review defect

Meta-ticket: Support Xcode 12

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: porting Keywords: macOS, Xcode
Cc: John Palmieri, Dima Pasechnik, Samuel Lelièvre, Volker Braun Merged in:
Authors: Reviewers: Dima Pasechnik
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

Xcode 12 was publicly released on 2020-09-16.

Sage does not build from source using Xcode 12.2 beta, released 2020.09.17, clang version 12.0.0 (clang-1200.0.32.4)

Failing packages (blockers):

Failing packages with replacements available via homebrew:

Failing optional packages:

Failing experimental packages:

Tickets:

  • #30487 - GH Actions: Test also with Xcode 12 beta
  • #27754 - Upgrade: Python 3.8.5
  • #28022 - Downgrade rubiks to optional
  • #31227 - Accept /usr/bin/python3 from XCode 12.3 on macOS 10.15 (Catalina)

Follow-up:

  • #30651 - Meta-ticket: support macOS 11

Attachments (3)

config.log (38.2 KB) - added by John Palmieri 2 years ago.
gf2x config.log
gf2x-1.3.0-cc_for_build_stdlib.patch (1.4 KB) - added by Emmanuel Thomé 2 years ago.
symmetrica-xcode12.patch (5.6 KB) - added by John Palmieri 2 years ago.
Attempting to patch symmetrica to build with Xcode 12

Download all attachments as: .zip

Change History (136)

comment:1 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:2 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:3 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:4 Changed 2 years ago by John Palmieri

For what it's worth, I was trying to build without setting MACOSX_DEPLOYMENT_TARGET at all: I removed those lines from src/bin/sage-env.

comment:5 Changed 2 years ago by Matthias Köppe

Note that these lines are only executed when using python3 installed from spkg, not system python

comment:6 Changed 2 years ago by Dima Pasechnik

looks like this should wait till 9.3

comment:7 Changed 2 years ago by John Palmieri

Sure, Big Sur is still in beta.

comment:8 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:9 Changed 2 years ago by John Palmieri

Xcode 12 has been released, and it causes breakage with Catalina, so perhaps this should be a blocker for 9.2. (For example I now cannot build Sage: I upgraded a laptop to a beta release of Big Sur, and on my main machine Xcode updated itself to version 12 overnight.)

comment:10 Changed 2 years ago by Matthias Köppe

Cc: Samuel Lelièvre added
Priority: criticalblocker

I agree. It would be good to figure out if the upstream maintainers of these packages are already aware of these issues.

comment:11 Changed 2 years ago by Dima Pasechnik

Can we score an https://en.wikipedia.org/wiki/Developer_Transition_Kit_(2020) - and Apple ARM prototype for developers somehow? It might be very useful for testing. Probably a Raspberry Pi with a 64-bit OS comes close, but not as much.

comment:12 Changed 2 years ago by Matthias Köppe

This is unrelated to this ticket.

comment:13 Changed 2 years ago by Matthias Köppe

I have opened #30592 (Meta-ticket: Port to Apple silicon) for that. Let's keep the present ticket focused please. No new hardware is required.

comment:14 Changed 2 years ago by John Palmieri

It seems that when configuring gf2x and ecl, at least, something like -Wall is being used. I see this kind of thing in the config.log files for those:

conftest.c:4:3: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
  exit(0);
  ^
conftest.c:4:3: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 error generated.

Is there some setting in Xcode's command-line tools that has changed, causing these errors?

comment:15 Changed 2 years ago by John Palmieri

Similar with ecm:

configure:13286: clang -O2 -pedantic -fomit-frame-pointer -m64 -mtune=nehalem -march=nehalem  -c conftes1.c >&5 && clang -O2 -pedantic -fomit-frame-pointer -m64 -mtune=nehalem -march=nehalem -c conftes2.s >&5 && clang -O2 -pedantic -fomit-frame-pointer -m64 -mtune=nehalem -march=nehalem  conftes1.o conftes2.o >&5
conftes1.c:4:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main () { underscore_test(); }
^
conftes1.c:4:11: error: implicit declaration of function 'underscore_test' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
main () { underscore_test(); }
          ^
1 warning and 1 error generated.

comment:16 Changed 2 years ago by Emmanuel Thomé

Hi,

I just learned about this ticket. (me = upstream gf2x)

I don't have access to a box of this kind, so I can't test. (all I have is macOS 10.15.5 + XCode 11.6).

It looks like latest xcode doesn't like the tests that are generated by autotools, right ? If yes, does a autoreconf with fresh autotools fix the problem ?

E.

comment:17 Changed 2 years ago by John Palmieri

The Sage build log for symmetrica contains:

hiccup.c:478:3: error: implicit declaration of function 'set_multiplier' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                set_multiplier(S_MO_K(S_L_S(a)));
                ^

comment:18 in reply to:  16 ; Changed 2 years ago by John Palmieri

Replying to thome:

Hi,

I just learned about this ticket. (me = upstream gf2x)

I don't have access to a box of this kind, so I can't test. (all I have is macOS 10.15.5 + XCode 11.6).

I'm seeing this on OS X 10.15.6 after an upgrade to Xcode 12. You could try upgrading to Xcode 12, if you're willing to take that risk.

It looks like latest xcode doesn't like the tests that are generated by autotools, right ? If yes, does a autoreconf with fresh autotools fix the problem ?

I'm not an expert in this sort of thing, but I don't think this will work. autoreconf would help if Sage's top-level configure script were running into problems, but the problems are coming from Sage packages. Those are just tarballs, and running autoreconf once won't help with those. For what it's worth, I unpacked the gf2x tarball and ran autoreconf on it, but I got the same error.

(This is with autoreconf 2.69 installed via homebrew. I did brew upgrade first. I'm not sure how to get a "fresh autotools".)

Changed 2 years ago by John Palmieri

Attachment: config.log added

gf2x config.log

comment:19 Changed 2 years ago by John Palmieri

Here is the config.log for gf2x, in case it helps.

Last edited 2 years ago by John Palmieri (previous) (diff)

comment:20 Changed 2 years ago by John Palmieri

I'm happy to run some experiments, if you have suggestions.

comment:21 in reply to:  14 ; Changed 2 years ago by Matthias Köppe

Replying to jhpalmieri:

It seems that when configuring gf2x and ecl, at least, something like -Wall is being used. I see this kind of thing in the config.log files for those:

conftest.c:4:3: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
  exit(0);
  ^
conftest.c:4:3: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
1 error generated.

Is there some setting in Xcode's command-line tools that has changed, causing these errors?

I think errors like this are usually from code incorrectly assuming that some header pulls in some other header. Adding the correct includes should fix this.

comment:22 in reply to:  18 Changed 2 years ago by Emmanuel Thomé

Replying to jhpalmieri:

I don't have access to a box of this kind, so I can't test. (all I have is macOS 10.15.5 + XCode 11.6).

I'm seeing this on OS X 10.15.6 after an upgrade to Xcode 12. You could try upgrading to Xcode 12, if you're willing to take that risk.

Not light-heartedly for sure. It's a mac mini that has been living in an office of (very) mac-averse researchers for years and years, crawling under the ram demands of the latest macOS (and actually last it can support).

It looks like latest xcode doesn't like the tests that are generated by autotools, right ? If yes, does a autoreconf with fresh autotools fix the problem ?

I'm not an expert in this sort of thing, but I don't think this will work. autoreconf would help if Sage's top-level configure script were running into problems, but the problems are coming from Sage packages.

I didn't make myself clear. Of course I mean autoreconf for gf2x.

Those are just tarballs, and running autoreconf once won't help with those. For what it's worth, I unpacked the gf2x tarball and ran autoreconf on it, but I got the same error.

ok.

(This is with autoreconf 2.69 installed via homebrew. I did brew upgrade first. I'm not sure how to get a "fresh autotools".)

doesn't say much. 2.69 is the banner under which all autoconf version have been presenting themselves for 8 years. IDK about the others, but I suspect autoconf is at fault here anyway.

comment:23 in reply to:  21 Changed 2 years ago by John Palmieri

The gf2x configure script says

cat >conftest.c <<EOF
int
main ()
{
  exit(0);
}
EOF

and it looks like this is the file causing the problems. How is this generated? autotools? Should autotools be adding some includes?

Edit: this is in config/acinclude.m4.

Last edited 2 years ago by John Palmieri (previous) (diff)

Changed 2 years ago by Emmanuel Thomé

comment:24 Changed 2 years ago by Emmanuel Thomé

grr. trac deleted my comment. Try the patch above. This will fix both the autoconf input (just in case) and output (so that you don't have to rerun autoconf, a plain ./configure would do). These bits of the config checks are created by m4 code that sits in gf2x, so it's really a gf2x bug.

comment:25 Changed 2 years ago by John Palmieri

That looks good: ./configure; make; make check now works. Thanks!

comment:26 in reply to:  14 Changed 2 years ago by Emmanuel Thomé

Replying to jhpalmieri:

It seems that when configuring gf2x and ecl, at least, something like -Wall is being used.

I think that -Wall is not the problem. We're witnessing a -Werror behaviour here. That is odd. -Werror in config checks is a bit extreme, and easily counter-productive. config checks that battle the -Werror reports might well defeat the grand portability goal of autoconf

The catch with my patch above is that because of this -Werror behaviour, I think that more failures are likely to show up down the line. (well, you seem to say that it works fine. good!)

Last edited 2 years ago by Emmanuel Thomé (previous) (diff)

comment:27 Changed 2 years ago by John Palmieri

I can do the same kind of fix with ecl: add #include <stdlib.h> in the configure script. I'm not sure what to do with ecm or symmetrica. I haven't looked at scipy yet at all.

comment:28 Changed 2 years ago by John Palmieri

Description: modified (diff)

I've put the gf2x fix on #30593.

comment:29 Changed 2 years ago by John Palmieri

Description: modified (diff)

Change for ecl is at #30594. I don't know if it's the best approach, but it appears to work.

comment:30 Changed 2 years ago by Samuel Lelièvre

Found only one somewhat related discussion on the SciPy issue tracker

Might be worth opening a ticket there.

comment:32 Changed 2 years ago by John Palmieri

Thank you for finding the older scipy issue, by the way.

comment:33 Changed 2 years ago by Paul Zimmermann

for the gmp-ecm issue, please can you report it on the ecm-discuss@… list, configuring it outside of Sage, and specifying which release you used?

comment:34 Changed 2 years ago by Dima Pasechnik

I cannot reproduce the breakade you are talking about. It all works for me with Xcode 12.0 on macOS 10.15.6. The latest Xcode 12 beta is in fact 12.2.beta. I'll check with it shortly.

comment:35 Changed 2 years ago by Dima Pasechnik

Cc: Volker Braun added
Description: modified (diff)
Priority: blockercritical

Downgraded to critical, as this is about a beta, which should not stop the release.

Volker, what is your take on this? This is all about betaOS/beta tools. Would be nice to have in 9.2 fixed, but not strictly necessary.

comment:36 Changed 2 years ago by Dima Pasechnik

Priority: criticalblocker

sorry for noise - it turns out that to properly reinstall command line tools, one needs to sudo rm -rf /Library/Developer/CommandLineTools Once I did the latter, and reinstalled, I got clang 12 there, too.

That is, XCode 12 (stable) also suffers from these ailments.

comment:37 in reply to:  33 ; Changed 2 years ago by Dima Pasechnik

Replying to zimmerma:

for the gmp-ecm issue, please can you report it on the ecm-discuss@… list, configuring it outside of Sage, and specifying which release you used?

I can report directly on gmp-ecm bug tracker - but it's still on gforge. Are you planning to move to https://gitlab.inria.fr/ ?

comment:38 in reply to:  37 Changed 2 years ago by Dima Pasechnik

Replying to dimpase:

Replying to zimmerma:

for the gmp-ecm issue, please can you report it on the ecm-discuss@… list, configuring it outside of Sage, and specifying which release you used?

I can report directly on gmp-ecm bug tracker - but it's still on gforge. Are you planning to move to https://gitlab.inria.fr/ ?

Reported on https://gforge.inria.fr/tracker/index.php?func=detail&aid=21856&group_id=135&atid=623

comment:39 Changed 2 years ago by Paul Zimmermann

thanks. Yes it is planned to move to gitlab, when I find some time to do so...

comment:40 Changed 2 years ago by Dima Pasechnik

Description: modified (diff)

comment:41 Changed 2 years ago by Paul Zimmermann

the gmp-ecm issue is fixed upstream, and waiting for a new release, the patch at the link in comment 38 can be used in Sage.

comment:42 in reply to:  41 Changed 2 years ago by Dima Pasechnik

Replying to zimmerma:

the gmp-ecm issue is fixed upstream, and waiting for a new release, the patch at the link in comment 38 can be used in Sage.

it is already in #30600 - with a configure patch too, naturally (as we don't require autotools).

comment:43 Changed 2 years ago by Dima Pasechnik

as to symmetrica - I don't grok its code. It seems that set_root_multiplier is a no-op?

% cd upstream/symmetrica-2.0
% grep -R set_root_mu .
./hiccup.c:	set_root_multiplier (OP extra);
./hiccup.c:		set_root_multiplier(S_MO_K(S_L_S(a)));
./hiccup.c:set_root_multiplier (extra) OP extra;
./hiccup.c:		set_root_multiplier(S_MO_K(S_L_S(a)));

comment:44 Changed 2 years ago by John Palmieri

I don't really know what I'm doing, but I feel like I've made some progress with symmetrica with the attached patch and with this change to Sage:

  • build/pkgs/symmetrica/spkg-install.in

    diff --git a/build/pkgs/symmetrica/spkg-install.in b/build/pkgs/symmetrica/spkg-install.in
    index bc5d8e5f26..a071b6fece 100644
    a b cd src 
    44# as it has (syntactically) nothing in common with ours.
    55cp -f ../patches/makefile makefile || exit $?
    66
    7 export CFLAGS="-O2 -g $CFLAGS -fPIC -DFAST -DALLTRUE"
     7export CFLAGS="-O2 -g $CFLAGS -fPIC -DFAST -DALLTRUE -DUNDEF"
    88
    99sdh_make
    1010sdh_install libsymmetrica.a "$SAGE_LOCAL/lib"

I don't know if this is a good approach, though.

Changed 2 years ago by John Palmieri

Attachment: symmetrica-xcode12.patch added

Attempting to patch symmetrica to build with Xcode 12

comment:45 Changed 2 years ago by John Palmieri

Description: modified (diff)

openblas: same kind of issue

lapacke_cggsvp_work.c:52:9: error: implicit declaration of function 'cggsvp_' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        LAPACK_cggsvp( &jobu, &jobv, &jobq, &m, &p, &n, a, &lda, b, &ldb, &tola,
        ^

comment:46 Changed 2 years ago by John Palmieri

Description: modified (diff)

And readline, too:

../terminal.c:242:7: error: implicit declaration of function 'ioctl' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (ioctl (tty, TIOCGWINSZ, &window_size) == 0)
      ^

comment:47 Changed 2 years ago by John Palmieri

Upgrading to readline 8.0 worked for me. Is there a ticket for that?

comment:48 Changed 2 years ago by John Palmieri

Description: modified (diff)

I opened #30603 for readline.

comment:49 Changed 2 years ago by Matthias Köppe

comment:50 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:51 Changed 2 years ago by Dima Pasechnik

Description: modified (diff)
Milestone: sage-9.3sage-9.2

I have a patch for scipy that makes it build - posting on #30604 in a moment.

comment:52 in reply to:  49 ; Changed 2 years ago by Dima Pasechnik

Replying to mkoeppe:

openblas - see https://github.com/xianyi/OpenBLAS/issues/2805

I am using openblas from Homebrew, it works with XCode 12 (on macOS 10), no?

comment:53 in reply to:  49 Changed 2 years ago by John Palmieri

Replying to mkoeppe:

openblas - see https://github.com/xianyi/OpenBLAS/issues/2805

With that patch I don't get the "implicit declaration" errors, but instead I get errors like

lapacke_dggsvp_work.c:49:71: error: too many arguments to function call, expected 21, have 24
                       &tolb, k, l, u, &ldu, v, &ldv, q, &ldq, iwork, tau, work,
                                                                      ^~~~~~~~~~

comment:54 Changed 2 years ago by John Palmieri

I tried upgrading to OpenBLAS 0.3.10, but I get the same problem.

comment:55 in reply to:  52 Changed 2 years ago by John Palmieri

Replying to dimpase:

Replying to mkoeppe:

openblas - see https://github.com/xianyi/OpenBLAS/issues/2805

I am using openblas from Homebrew, it works with XCode 12 (on macOS 10), no?

Yes, that works fine for me. Same for readline, but both of those were reported as failures on sage-release.

comment:56 Changed 2 years ago by Matthias Köppe

Perhaps the Xcode 12 tickets for packages for which we can use working homebrew packages should be considered "critical", not "blockers" - but they need to be fixed too.

comment:57 Changed 2 years ago by John Palmieri

Sure, sounds good.

comment:58 Changed 2 years ago by John Palmieri

I think we're just down to symmetrica now, combined with a reasonable set of homebrew packages. I don't know enough (read: any) C to be able to do anything meaningful with symmetrica, though.

comment:59 Changed 2 years ago by Dima Pasechnik

I'll fix symmetrica, no worries

comment:60 Changed 2 years ago by Dima Pasechnik

Description: modified (diff)

comment:61 Changed 2 years ago by John Palmieri

Description: modified (diff)

I opened #30610 for OpenBLAS, not that I know how to fix it.

comment:62 Changed 2 years ago by John Palmieri

Description: modified (diff)

mpir has a similar issue: its configure script fails because of the same sort of error. Again, the homebrew package works just fine.

comment:63 Changed 2 years ago by John Palmieri

python3 builds with Xcode 12 on OS X 10.15.6, which is nice. It failed the last time I tried it with OS X 11, but maybe that's just a MACOSX_DEPLOYMENT_TARGET misconfiguration. It can be dealt with later, in any case.

comment:64 Changed 2 years ago by John Palmieri

gsl fails. Its config.log says

configure:3504: gcc -g -O2   -L/Users/palmieri/Desktop/Sage_stuff/sage_builds/TESTING/new-xcode/sage-9.2.beta12/local/lib -Wl,-rpath,/Users/palmieri/Desktop/Sage_stuff/sage_builds/TESTING/new-xcode/sage-9.2.beta12/local/lib  conftest.c -lopenblas -lm >&5
ld: library not found for -lopenblas
clang: error: linker command failed with exit code 1 (use -v to see invocation)
configure:3508: $? = 1
configure:3546: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "gsl"
| #define PACKAGE_TARNAME "gsl"
| #define PACKAGE_VERSION "2.6"
| #define PACKAGE_STRING "gsl 2.6"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "gsl"
| #define VERSION "2.6"
| #define RELEASED /**/
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3551: error: in `/Users/palmieri/Desktop/Sage_stuff/sage_builds/TESTING/new-xcode/sage-9.2.beta12/local/var/tmp/sage/build/gsl-2.6/src':
configure:3553: error: C compiler cannot create executables
See `config.log' for more details

(This is the only config.log file around, so I'm not sure what it's talking about.) Maybe the homebrew installations of openblas and gsl are confusing it. To be honest, I'm not sure that Sage's gsl built with the homebrew openblas before.

comment:65 Changed 2 years ago by John Palmieri

r also fails, with some familiar errors and an unexpected one:

conftest.c:250:11: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    char *ver = BZ2_bzlibVersion();
          ^     ~~~~~~~~~~~~~~~~~~
conftest.c:251:5: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
    exit(strcmp(ver, "1.0.6") < 0);
    ^
conftest.c:251:5: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
conftest.c:251:10: error: implicitly declaring library function 'strcmp' with type 'int (const char *, const char *)' [-Werror,-Wimplicit-function-declaration]
    exit(strcmp(ver, "1.0.6") < 0);
         ^
conftest.c:251:10: note: include the header <string.h> or explicitly provide a declaration for 'strcmp'

and then

configure:42275: result: no
configure:42281: checking whether bzip2 support suffices
configure:42288: error: bzip2 library and headers are required

(This is using the system bzip2 installation.)

Last edited 2 years ago by John Palmieri (previous) (diff)

comment:66 Changed 2 years ago by John Palmieri

Description: modified (diff)

comment:67 Changed 2 years ago by John Palmieri

Description: modified (diff)

comment:68 Changed 2 years ago by Dima Pasechnik

Description: modified (diff)

comment:69 Changed 2 years ago by John Palmieri

There is a problem with another package, but I can't figure out which. If I run

$ ./configure --with-system-boost_cropped=no --with-system-curl=yes --with-system-freetype=no --with-system-glpk=no --with-system-gmp=no --with-system-libffi=no --with-system-libgd=no --with-system-libpng=no --with-system-mpc=no --with-system-mpfi=no --with-system-mpfr=no --with-system-ninja_build=no --with-system-ntl=no --with-system-pkgconf=no --with-system-ppl=no --with-system-python3=no --with-system-sqlite=no --with-system-suitesparse=no --with-system-yasm=no --with-system-zeromq=no --with-system-zlib

then Sage builds, but the docs fail with this:

Warning: Missing title for sage.combinat.posets.mobile
[combinat ] building [inventory]: targets for 378 source files that are out of date
[combinat ] updating environment: [new config] 378 added, 0 changed, 0 removed
------------------------------------------------------------------------
0   signals.cpython-38-darwin.so        0x000000011139862a print_backtrace + 58
1   signals.cpython-38-darwin.so        0x000000011139c277 sigdie + 39
2   signals.cpython-38-darwin.so        0x000000011139c1f0 sigdie_for_sig + 256
3   libsystem_platform.dylib            0x00007fff6a9965fd _sigtramp + 29
4   ???                                 0xf687400000000001 0x0 + 17764237623930388481
5   libsystem_c.dylib                   0x00007fff6a86c808 abort + 120
6   libsystem_malloc.dylib              0x00007fff6a96250b has_default_zone0 + 0
7   libsystem_malloc.dylib              0x00007fff6a96540f malloc_report + 151
8   memory.cpython-38-darwin.so         0x000000033a29b144 __pyx_f_4sage_3ext_6memory_sage_sig_free + 20
9   polyhedron.cpython-38-darwin.so     0x000000034423eb71 _ZN23Parma_Polyhedra_Library10PolyhedronD2Ev + 49
10  polyhedron.cpython-38-darwin.so     0x000000034423d742 _ZL47__pyx_tp_dealloc_3ppl_10polyhedron_C_PolyhedronP7_object + 82
11  libpython3.8.dylib                  0x000000010f4fe76e dict_dealloc + 510
12  libpython3.8.dylib                  0x000000010f52f83c subtype_clear + 252
13  libpython3.8.dylib                  0x000000010f611c6b collect + 3563
14  libpython3.8.dylib                  0x000000010f612135 _PyObject_GC_Alloc + 389
15  libpython3.8.dylib                  0x000000010f6121a5 _PyObject_GC_New + 21
16  libpython3.8.dylib                  0x000000010f5ff9ab PyTraceBack_Here + 155
17  category_object.cpython-38-darwin.s 0x000000011246d177 __Pyx_AddTraceback + 839
18  category_object.cpython-38-darwin.s 0x0000000112472795 __pyx_f_4sage_9structure_15category_object_14CategoryObject_getattr_from_category + 453
19  category_object.cpython-38-darwin.s 0x0000000112472f90 __pyx_tp_getattro_4sage_9structure_15category_object_CategoryObject + 64
20  cachefunc.cpython-38-darwin.so      0x0000000112272703 __pyx_pw_4sage_4misc_9cachefunc_24CachedMethodCallerNoArgs_1__init__ + 2275
21  libpython3.8.dylib                  0x000000010f520774 type_call + 292
22  cachefunc.cpython-38-darwin.so      0x0000000112250d71 __Pyx_PyObject_Call + 97
23  cachefunc.cpython-38-darwin.so      0x000000011226784b __pyx_tp_descr_get_4sage_4misc_9cachefunc_CachedMethod + 1579
24  libpython3.8.dylib                  0x000000010f50e527 _PyObject_GenericGetAttrWithDict + 487
25  category_object.cpython-38-darwin.s 0x0000000112472f62 __pyx_tp_getattro_4sage_9structure_15category_object_CategoryObject + 18
26  libpython3.8.dylib                  0x000000010f50e77c _PyObject_GetMethod + 268
27  libpython3.8.dylib                  0x000000010f5a7e91 _PyEval_EvalFrameDefault + 29489
28  libpython3.8.dylib                  0x000000010f4cbe2d function_code_fastcall + 237
29  libpython3.8.dylib                  0x000000010f4cb2aa _PyObject_FastCallDict + 218
30  libpython3.8.dylib                  0x000000010f4cc993 _PyObject_Call_Prepend + 131
31  libpython3.8.dylib                  0x000000010f525354 slot_tp_init + 180
32  libpython3.8.dylib                  0x000000010f520774 type_call + 292
33  libpython3.8.dylib                  0x000000010f4cb476 _PyObject_MakeTpCall + 374
34  libpython3.8.dylib                  0x000000010f5aba0c call_function + 652
35  libpython3.8.dylib                  0x000000010f5a806a _PyEval_EvalFrameDefault + 29962
...
[snip]
...
457 libpython3.8.dylib                  0x000000010f5ac967 _PyEval_EvalCodeWithName + 3287
458 libpython3.8.dylib                  0x000000010f4cbfad _PyFunction_Vectorcall + 253
459 libpython3.8.dylib                  0x000000010f4cb7c4 PyVectorcall_Call + 100
460 libpython3.8.dylib                  0x000000010f6107d3 pymain_run_module + 179
461 libpython3.8.dylib                  0x000000010f60fec8 Py_RunMain + 1416
462 libpython3.8.dylib                  0x000000010f6106b3 pymain_main + 403
463 libpython3.8.dylib                  0x000000010f61070b Py_BytesMain + 43
464 libdyld.dylib                       0x00007fff6a79dcc9 start + 1
465 ???                                 0x0000000000000006 0x0 + 6
------------------------------------------------------------------------
Unhandled SIGABRT: An abort() occurred.
This probably occurred because a *compiled* module has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Python will now terminate.
------------------------------------------------------------------------

I've tried configuring with a subset of those packages specified, but I haven't been able to narrow it down.

comment:70 Changed 2 years ago by Matthias Köppe

There's some ppl stuff in the backtrace, so that would be my first guess

comment:71 Changed 2 years ago by John Palmieri

I saw that, too. I thought I'd checked it, but I'll try again. (Taking a working build and then doing ./sage -f ppl resulted in a successful build, but I'll try from scratch.)

comment:72 Changed 2 years ago by John Palmieri

After running

./configure --with-system-glpk=no --with-system-gmp=no --with-system-ppl=no

sagelib fails to build, and there are lots of messages like this:

ld: illegal thread local variable reference to regular symbol __ZN3NTL20ZZXFac_InitNumPrimesE for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1

comment:73 Changed 2 years ago by Matthias Köppe

This might be unrelated breakage coming from homebrew's ntl/flint packages - tracked at #29339/#27764

comment:74 Changed 2 years ago by Matthias Köppe

Best to remove these from the homebrew installation. In some situations these packages seem to leak into Sage even with --with-system...=no, as reported recently on sage-devel

comment:75 Changed 2 years ago by John Palmieri

Okay, after removing homebrew's ntl, I see the failure in comment:69 with ./configure --with-system-glpk=no --with-system-gmp=no --with-system-ppl=no. For what it's worth, if I do make distclean, followed by the above configure command, followed by export SAGE_CHECK=yes and make ppl, then ppl passes its test suite.

comment:76 Changed 2 years ago by John Palmieri

glpk pass its test suite, and gmp shows one failure:

../../test-driver: line 107: 32897 Abort trap: 6           "$@" > $log_file 2>&1
FAIL: t-sqrlo

comment:77 Changed 2 years ago by Matthias Köppe

Reviewers: https://github.com/mkoeppe/sage/actions/runs/264223897

comment:78 Changed 2 years ago by Matthias Köppe

Reviewers: https://github.com/mkoeppe/sage/actions/runs/264223897https://github.com/mkoeppe/sage/actions/runs/264540655

comment:79 in reply to:  76 ; Changed 2 years ago by Dima Pasechnik

Replying to jhpalmieri:

glpk pass its test suite, and gmp shows one failure:

../../test-driver: line 107: 32897 Abort trap: 6           "$@" > $log_file 2>&1
FAIL: t-sqrlo

Did you try with Sage's GMP 6.1.2? It's old. I tried building and testing GMP 6.2.0, all its tests pass. For the record, it's on kabylake-apple-darwin19.6.0, clang version 1200.0.32.4

This is the same GMP version as on Homebrew, so it should be OK to use the latter.

comment:80 in reply to:  76 Changed 2 years ago by Dima Pasechnik

Last edited 2 years ago by Dima Pasechnik (previous) (diff)

comment:81 Changed 2 years ago by Dima Pasechnik

Description: modified (diff)

I've opened #30625 to update GMP

comment:82 in reply to:  79 Changed 2 years ago by John Palmieri

Replying to dimpase:

Replying to jhpalmieri:

glpk pass its test suite, and gmp shows one failure:

../../test-driver: line 107: 32897 Abort trap: 6           "$@" > $log_file 2>&1
FAIL: t-sqrlo

Did you try with Sage's GMP 6.1.2?

Yes: using Sage's gmp, glpk, and ppl leads to failures when building the documentation (and also doctest failures along the same lines): see comment:69. I was trying to see if the packages passed their test suites after seeming to install correctly.

comment:83 Changed 2 years ago by Dima Pasechnik

I also see an error in a scipy selftest, related to Cython.

comment:84 Changed 2 years ago by Dima Pasechnik

R does not build, as its bzlib2 check fails. Indeed, the corr. C test has undeclared external functions

configure:42230: checking if bzip2 version >= 1.0.6
configure:42258: clang -o conftest  -g -O2  -fPIC -fPIC   -L/Users/dima/software/sagetrac-mirror/local/lib/R/lib -Wl,-rpath,/Users/dima/software/sagetrac-mirror/local/lib/R/lib -L/Users/dima/software/sage
trac-mirror/local/lib -Wl,-rpath,/Users/dima/software/sagetrac-mirror/local/lib  conftest.c -lbz2 -lz -licucore -ldl -lm  -liconv >&5
conftest.c:251:11: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
    char *ver = BZ2_bzlibVersion();
          ^     ~~~~~~~~~~~~~~~~~~
conftest.c:252:5: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
    exit(strcmp(ver, "1.0.6") < 0);
    ^
conftest.c:252:5: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
conftest.c:252:10: error: implicitly declaring library function 'strcmp' with type 'int (const char *, const char *)' [-Werror,-Wimplicit-function-declaration]
    exit(strcmp(ver, "1.0.6") < 0);
         ^
conftest.c:252:10: note: include the header <string.h> or explicitly provide a declaration for 'strcmp'
1 warning and 2 errors generated.
Version 0, edited 2 years ago by Dima Pasechnik (next)

comment:85 Changed 2 years ago by Dima Pasechnik

gsl did build well with the patch for openblas from #30610

comment:86 Changed 2 years ago by Dima Pasechnik

Description: modified (diff)

see #30631 for an R fix

comment:87 Changed 2 years ago by Dima Pasechnik

giac builds, but hangs on startup. And some giac-related tests time out too.

comment:88 Changed 2 years ago by Dima Pasechnik

With beta13, #29061, #28623, #30486 (i.e. arb 2.18) and flint(2.6.1)+ntl+gmp+mpfr+mpc+mpfi+readline(and deps)+boost from Homebrew - but openblas, gsl, R built by Sage (with the updates), all the long tests pass. So this seems to be sorted, more or less.

Last edited 2 years ago by Dima Pasechnik (previous) (diff)

comment:89 Changed 2 years ago by John Palmieri

I agree that the Xcode 12 issue is in good shape, but not OS X 11. I'm trying to build on a beta version of that and Python is failing to build. First, Sage insists on building Python because its check for sqlite3 fails:

configure:30755: ./conftest
Assertion failed: (strcmp(sqlite3_libversion(),SQLITE_VERSION)==0), function main, file conftest.cpp, line 73.
./configure: line 3360:  9722 Abort trap: 6           ./conftest$ac_exeext
configure:30755: $? = 134
configure: program exited with status 134
...
configure:30759: result: no
configure:30787: no suitable system package found for SPKG sqlite

This also triggers the Python build. That fails because: first it failed to build the zlib module. When I installed Sage's zlib, then it started complaining that it couldn't build the readline module. I'm still trying...

comment:90 Changed 2 years ago by Matthias Köppe

It would be worth checking whether using the homebrew package for sqlite is helpful

comment:91 Changed 2 years ago by John Palmieri

It's installed.

By installing Sage's sqlite and readline (and by unsetting MACOSX_DEPLOYMENT_TARGET — don't know if this was necessary), I've gotten python3 to build. Now scipy is causing problems, even with #30604:

  /usr/local/bin/gfortran -Wall -g -Wall -g -undefined dynamic_lookup -bundle -bundle -undefined dynamic_lookup -L/Users/palmieri/Sage/sage-9.2.beta13/local/lib -Wl,-rpath,/Users/palmieri/Sage/sage-9.2.beta13/local/lib build/temp.macosx-11.0-x86_64-3.8/scipy/integrate/_quadpackmodule.o -L/usr/local/Cellar/openblas/0.3.10_1/lib -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -L/Users/palmieri/Sage/sage-9.2.beta13/local/lib -Lbuild/temp.macosx-11.0-x86_64-3.8 -lquadpack -lmach -lopenblas -lopenblas -lgfortran -o build/lib.macosx-11.0-x86_64-3.8/scipy/integrate/_quadpack.cpython-38-darwin.so
  gfortran: warning: couldn't understand version 11.0
  ld: library not found for -lgcc_s.10.4
  collect2: error: ld returned 1 exit status
  Running from SciPy source directory.
  /Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/site-packages/numpy/distutils/system_info.py:838: UserWarning: Specified path /usr/local/include/python3.8 is invalid.
    return self.get_paths(self.section, key)
  error: Command "/usr/local/bin/gfortran -Wall -g -Wall -g -undefined dynamic_lookup -bundle -bundle -undefined dynamic_lookup -L/Users/palmieri/Sage/sage-9.2.beta13/local/lib -Wl,-rpath,/Users/palmieri/Sage/sage-9.2.beta13/local/lib build/temp.macosx-11.0-x86_64-3.8/scipy/integrate/_quadpackmodule.o -L/usr/local/Cellar/openblas/0.3.10_1/lib -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/gcc/x86_64-apple-darwin19/10.2.0/../../.. -L/Users/palmieri/Sage/sage-9.2.beta13/local/lib -Lbuild/temp.macosx-11.0-x86_64-3.8 -lquadpack -lmach -lopenblas -lopenblas -lgfortran -o build/lib.macosx-11.0-x86_64-3.8/scipy/integrate/_quadpack.cpython-38-darwin.so" failed with exit status 1
  Building wheel for scipy (PEP 517): finished with status 'error'
  ERROR: Failed building wheel for scipy

comment:92 Changed 2 years ago by Matthias Köppe

Try with gfortran from the spkg. My guess is that the homebrew package for gfortran is not ready yet for macOS 11

comment:93 Changed 2 years ago by John Palmieri

I did that, and now numpy won't build:

build_src
building py_modules sources
creating build
creating build/src.macosx-11.0-x86_64-3.8
creating build/src.macosx-11.0-x86_64-3.8/numpy
creating build/src.macosx-11.0-x86_64-3.8/numpy/distutils
building library "npymath" sources
gfortran: warning: couldn't understand version 11.0

gfortran: warning: couldn't understand version 11.0

gfortran: warning: couldn't understand version 11.0

gfortran: warning: couldn't understand version 11.0

Running from numpy source directory.
/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
  warnings.warn(msg)
Traceback (most recent call last):
  File "setup.py", line 499, in <module>
    setup_package()
  File "setup.py", line 491, in setup_package
    setup(**metadata)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/core.py", line 169, in setup
    return old_setup(**new_attr)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/site-packages/setuptools/__init__.py", line 163, in setup
    return distutils.core.setup(**attrs)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/install.py", line 60, in run
    r = self.setuptools_run()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/install.py", line 34, in setuptools_run
    return distutils_install.run(self)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/command/install.py", line 545, in run
    self.run_command('build')
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/build.py", line 40, in run
    old_build.run(self)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/build_src.py", line 144, in run
    self.build_sources()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/build_src.py", line 155, in build_sources
    self.build_library_sources(*libname_info)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/build_src.py", line 288, in build_library_sources
    sources = self.generate_sources(sources, (lib_name, build_info))
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/build_src.py", line 378, in generate_sources
    source = func(extension, build_dir)
  File "numpy/core/setup.py", line 650, in get_mathlib_info
    st = config_cmd.try_link('int main(void) { return 0;}')
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/lib/python3.8/distutils/command/config.py", line 241, in try_link
    self._check_compiler()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/command/config.py", line 79, in _check_compiler
    self.fcompiler = new_fcompiler(compiler=self.fcompiler,
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/fcompiler/__init__.py", line 880, in new_fcompiler
    compiler = get_default_fcompiler(plat, requiref90=requiref90,
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/fcompiler/__init__.py", line 851, in get_default_fcompiler
    compiler_type =  _find_existing_fcompiler(matching_compiler_types,
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/fcompiler/__init__.py", line 803, in _find_existing_fcompiler
    v = c.get_version()
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/fcompiler/__init__.py", line 426, in get_version
    version = CCompiler.get_version(self, force=force, ok_status=ok_status)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/ccompiler.py", line 90, in <lambda>
    m = lambda self, *args, **kw: func(self, *args, **kw)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/ccompiler.py", line 657, in CCompiler_get_version
    version = matcher(output)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/fcompiler/gnu.py", line 278, in version_match
    v = self.gnu_version_match(version_string)
  File "/Users/palmieri/Sage/sage-9.2.beta13/local/var/tmp/sage/build/numpy-1.19.1/src/numpy/distutils/fcompiler/gnu.py", line 80, in gnu_version_match
    raise ValueError(err + version_string)
ValueError: A valid Fortran version was not found in this string:

9.2.0

comment:94 Changed 2 years ago by Dima Pasechnik

let us split this ticket into two, one for XCode 12 on macOS 10, and the other for macOS 11.

comment:95 Changed 2 years ago by Paul Zimmermann

now that the GMP-ECM related issue has been fixed, is there a way I can stop receiving updates from that ticket, which are quite frequent, and no really interesting for me?

comment:96 in reply to:  95 Changed 2 years ago by Samuel Lelièvre

Replying to zimmerma:

now that the GMP-ECM related issue has been fixed, is there a way I can stop receiving updates from that ticket, which are quite frequent, and not really interesting for me?

Sorry, our Trac server does not offer that option.

That could be solved by updating Trac or adding some Trac plugin or moving to a different issue tracker, such as the GitLab one. None of these seems likely to happen very soon.

So far all you can do is filter emails on your side to send such updates to the trash.

Sorry about that.

comment:97 in reply to:  94 Changed 2 years ago by Samuel Lelièvre

Description: modified (diff)
Keywords: macOS Xcode added
Summary: Meta-ticket: Support Xcode 12, macOS 11 Big SurMeta-ticket: Support Xcode 12

Replying to dimpase:

let us split this ticket into two, one for Xcode 12 on macOS 10, and the other for macOS 11.

Done:

comment:98 Changed 2 years ago by Dima Pasechnik

gap_packages need https://git.sagemath.org/sage.git/commit?id=3435c24a53490f484ff28267b61498282c8afbbb from #29314


while I am at it, I keep getting one doctest failure on Singular:

src/sage/interfaces/singular.py
...
sage: a = singular(1) ## line 503 ##
sage: _ = singular._expect.sendline('1+')  # unfinished input ## line 504 ##
sage: try:
    alarm(0.5)
    singular._expect_expr('>')  # interrupt this
except KeyboardInterrupt:
    pass ## line 505 ##
Control-C pressed. Interrupting Singular. Please wait a few seconds...
sage: 2*a ## line 514 ##
------------------------------------------------------------------------
0   signals.cpython-38-darwin.so        0x0000000104bd6622 print_backtrace + 66
1   signals.cpython-38-darwin.so        0x0000000104bda267 sigdie + 39
2   signals.cpython-38-darwin.so        0x0000000104bda213 sigdie_for_sig + 307
...

looks like singals/pexpect trouble

comment:99 Changed 2 years ago by Volker Braun

I'm getting that singular error randomly also on linux

comment:100 Changed 2 years ago by Matthias Köppe

In homebrew-macos-minimal-12 (https://github.com/mkoeppe/sage/runs/1201629992), which builds python3 from SPKG, several doctests fail because of annoying messages

    ld: warning: dylib (/usr/local/lib/libmpfr.dylib) was built for newer macOS version (10.15) than being linked (10.9)

I have opened #30711 for this

comment:101 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:102 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:103 Changed 2 years ago by Matthias Köppe

Reviewers: https://github.com/mkoeppe/sage/actions/runs/264540655

comment:104 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:105 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:106 Changed 2 years ago by John Palmieri

Can this be closed? I can build with Xcode 12, although it's with the support of various homebrew packages. Are minimal homebrew installations workable, or installations without homebrew at all?

(I may be able to test these, but maybe we already know the answers.)

comment:107 Changed 2 years ago by Matthias Köppe

Priority: blockermajor

It's certainly not a blocker any more, but perhaps useful to keep open to keep track of issues in optional/experimental packages

comment:108 Changed 23 months ago by John Palmieri

Can this be closed, or do we still want to keep it open for optional/experimental packages?

comment:109 Changed 23 months ago by Matthias Köppe

Description: modified (diff)

I've added #31227 (Accept /usr/bin/python3 from XCode 12.3 on macOS 10.15 (Catalina))

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

Description: modified (diff)

comment:111 Changed 20 months ago by Matthias Köppe

Milestone: sage-9.3sage-duplicate/invalid/wontfix
Status: newneeds_review

I think we can close it now

comment:112 Changed 20 months ago by Paul Zimmermann

it remains #31314 ?

comment:113 Changed 18 months ago by Matthias Köppe

That one is not really specific to Xcode 12, and we don't need a meta-ticket to keep track of a single open ticket

comment:114 Changed 18 months ago by Paul Zimmermann

then why is it in the description of this ticket? One could remove it from the description?

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

Description: modified (diff)

I've removed the ticket from the description. Let's close this meta-ticket

comment:116 Changed 7 months ago by John Palmieri

What about the optional packages? Do they still fail?

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

Milestone: sage-duplicate/invalid/wontfixsage-9.7
Status: needs_reviewneeds_info

Good point, I again forgot about these. And it turns out they are not being tested - I've opened #33755 for this

comment:118 Changed 7 months ago by John Palmieri

For what it's worth, I tried building rubiks and it seemed to hang. I'm trying again with a fresh Sage install, and also trying a few other packages at the same time.

comment:119 Changed 7 months ago by John Palmieri

Description: modified (diff)

comment:120 Changed 7 months ago by John Palmieri

deformation succeeded for me, so I removed it from the ticket description. polylib fails on two different machines with the old familiar message error: implicit declaration of function. The rubiks build hangs on two different machines shortly after starting:

Building Rubiks cube solvers
Installing rubiks-20070912.p21
for dir in dietz/cu2 dietz/mcube dietz/solver dik reid; do \
		(cd ${dir} && make all)\
	done
g++ -std=gnu++11 -g -O2  -c cu2.cpp
g++ -std=gnu++11 -g -O2  -c main.cpp
g++ -std=gnu++11 -g -O2   -o cu2  cu2.o main.o  -L/Users/jpalmier/Desktop/Sage/sage_builds/TESTING/sage-9.6.rc1/local/lib -Wl,-rpath,/Users/jpalmier/Desktop/Sage/sage_builds/TESTING/sage-9.6.rc1/local/lib 
g++ -std=gnu++11 -g -O2  -c mcube.cpp
g++ -std=gnu++11 -g -O2  -c main.cpp
mcube.cpp:1966:38: warning: if statement has empty body [-Wempty-body]
        else if (fy == 3 && fz == 3) ;
                                     ^
mcube.cpp:1966:38: note: put the semicolon on a separate line to silence this warning
mcube.cpp:1977:38: warning: if statement has empty body [-Wempty-body]
        else if (fx == 3 && fy == 3) ;
                                     ^
mcube.cpp:1977:38: note: put the semicolon on a separate line to silence this warning

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

Description: modified (diff)

comment:122 Changed 7 months ago by John Palmieri

boost is no longer a package, and fricas, e_antic, and csdp all work for me.

comment:123 Changed 7 months ago by John Palmieri

The experimental packages don't matter much (since they're experimental), but lrslib works for me. The others don't. scipoptsuite is broken because the tarball can't be found.

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

I see the hanging build for rubiks now too. This must be a very recent regression. I built it quite recently (before upgrading to macOS Monterey)

comment:125 in reply to:  123 Changed 7 months ago by John Palmieri

Replying to jhpalmieri:

scipoptsuite is broken because the tarball can't be found.

Maybe this is intentional, given SPKG.rst:

We do not have permission to redistribute SCIP or SoPlex. Hence, you
must download it yourself from http://scip.zib.de and put the tarball
``scipoptsuite-VERSION.tgz`` in ``$SAGE_ROOT/upstream``, renaming
it to ``scipoptsuite-VERSION-do-not-distribute.tgz``.

If anyone cares about this package, they should create a better error message: maybe create spkg-preinst.in that tests for the presence of the tarball in upstream and exit with an appropriate message if it's not there. I don't know if that would actually work, or if the tarball is attempted to be downloaded before anything else happens. Anyway, I don't care about this package, so I am not likely to work on it.

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

Yes, it is intentional that there is no upstream_url and no tarball on our mirror.

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

There appears to be an effort to provide a version of scipoptsuite under a free software license. I'll wait for that before putting more effort into packaging it

comment:128 in reply to:  122 Changed 7 months ago by Matthias Köppe

Description: modified (diff)

Replying to jhpalmieri:

boost is no longer a package, and fricas, e_antic, and csdp all work for me.

OK, I've removed them (and lrslib) from the ticket description

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

Description: modified (diff)

comment:130 Changed 3 months ago by Matthias Köppe

Milestone: sage-9.7sage-9.8

comment:131 Changed 3 weeks ago by John Palmieri

Keep this open for polylib? Or close it?

comment:132 Changed 10 days ago by Matthias Köppe

Milestone: sage-9.8sage-duplicate/invalid/wontfix
Status: needs_infoneeds_review

Let's close it.

comment:133 Changed 10 days ago by Dima Pasechnik

Reviewers: Dima Pasechnik
Status: needs_reviewpositive_review
Note: See TracTickets for help on using tickets.