attempting Sage build on M1

768 views
Skip to first unread message

kcrisman

unread,
May 28, 2021, 3:45:54 PM5/28/21
to sage-devel
I am on a MacBook Air with M1 chip, attempting to build Sage 9.3 from scratch.  I just installed as many Homebrew packages as I could from the install directions, though some optional ones (ffmpeg, for instance) led to aborts.  I have sourced the homebrew build env just to make sure.  Hopefully any progress will help with https://trac.sagemath.org/ticket/30592 which has various details and links regarding building Sage on Macs with the M1 ARM chip. 

In this attempt, I ran into trouble pretty quickly.  While

Warning: gmp 6.2.1 is already installed and up-to-date.

unfortunately Sage only wants 6.2.0 and so I get

[gmp-6.2.0] configure: error: Oops, mp_limb_t is 64 bits, but the assembler code

[gmp-6.2.0] in this configuration expects 32 bits.

[gmp-6.2.0] Error configuring GMP (with CFLAGS unset).

Any thoughts would be welcome.   Not sure if trying to get Homebrew to install 6.2.0 is really the right solution.  Thanks!


Dima Pasechnik

unread,
May 28, 2021, 4:07:07 PM5/28/21
to sage-...@googlegroups.com
On Fri, 28 May 2021 at 20:46, kcrisman <kcri...@gmail.com> wrote:
I am on a MacBook Air with M1 chip, attempting to build Sage 9.3 from scratch.  I just installed as many Homebrew packages as I could from the install directions, though some optional ones (ffmpeg, for instance) led to aborts.  I have sourced the homebrew build env just to make sure.  Hopefully any progress will help with https://trac.sagemath.org/ticket/30592 which has various details and links regarding building Sage on Macs with the M1 ARM chip. 

In this attempt, I ran into trouble pretty quickly.  While

Warning: gmp 6.2.1 is already installed and up-to-date.

unfortunately Sage only wants 6.2.0 and so I get

I don’t understand this - I think we don’t require 6.2.0 (and 6.2.0 won’t work on M1, I think)

Did you source .homebrew-build-env ?

Post top level config.log




[gmp-6.2.0] configure: error: Oops, mp_limb_t is 64 bits, but the assembler code



[gmp-6.2.0] in this configuration expects 32 bits.



[gmp-6.2.0] Error configuring GMP (with CFLAGS unset).

Any thoughts would be welcome.   Not sure if trying to get Homebrew to install 6.2.0 is really the right solution.  Thanks!












--


You received this message because you are subscribed to the Google Groups "sage-devel" group.


To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.


To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/43c86537-a1d0-4f19-9bf2-b378ca559bb8n%40googlegroups.com.


kcrisman

unread,
May 29, 2021, 9:41:27 AM5/29/21
to sage-devel

unfortunately Sage only wants 6.2.0 and so I get

I don’t understand this - I think we don’t require 6.2.0 (and 6.2.0 won’t work on M1, I think)

That is possible, though for some reason Homebrew installed 6.2.1  Here is some of what Sage was asking for.

====================================================

Setting up build directory for gmp-6.2.0

Finished extraction

No patch files found in ../patches

****************************************************

Host system:

Darwin GC07781 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8$

****************************************************

C compiler: gcc

C compiler version:

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLine$

Apple clang version 12.0.5 (clang-1205.0.22.9)

Target: arm64-apple-darwin20.3.0

Thread model: posix

InstalledDir: /Library/Developer/CommandLineTools/usr/bin

****************************************************

Building a 64-bit version of GMP, which is the default.

Building GMP with the C++ interface and (also) static libraries.

Checking what CFLAGS GMP would use if they were empty...


 
Did you source .homebrew-build-env ?

Yup, I thought I mentioned that above.


 
Post top level config.log


Sure thing.  I noticed this suspicious bit in it, for starters.

configure:10535: g++ -std=gnu++11 -o conftest    conftest.cpp -lm  >&5

Undefined symbols for architecture arm64:

  "___gmpq_cmp_z", referenced from:

      _main in conftest-b295d5.o

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

configure:10535: $? = 1

configure: failed program was:

| /* confdefs.h */


 
config.log

Matthias Koeppe

unread,
May 29, 2021, 12:07:51 PM5/29/21
to sage-devel
From the top of config.log:

PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /Library/TeX/texbin
PATH: /usr/texbin
PATH: /Applications/MathApps
PATH: /Users/karl.crisman/Downloads/git-trac-command/bin
PATH: /Users/karl.crisman/Library/Haskell/bin

The ARM version of homebrew is installed in /opt/homebrew, not /usr/local.
Best to first install it and put it in your PATH 

kcrisman

unread,
May 29, 2021, 9:05:44 PM5/29/21
to sage-devel
The ARM version of homebrew is installed in /opt/homebrew, not /usr/local.
Best to first install it and put it in your PATH 

I see now that it isn't that already-installed Homebrew is smart enough to put ARM stuff in that location, but it actually needs two separate installs.  This is going to be a pain ... I'll report back more later, at least now the GMP issue seems (?) to be resolved.

Various comments:
* See e.g. https://osxdaily.com/2021/02/06/installing-homebrew-apple-silicon-mac-native/ which (apparently wrongly?) says, "If you’re already running Homebrew you should be able to just update the package manager to get the latest version with native Apple Silicon support. Alternately, you can run the installer again." but that is apparently not what happened.  Anyway, the Homebrew-provided script https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh will auto-detect chip type.  Eventually we'll want to update our instructions regarding some of these things - I would imagine that others would (like me) have legacy installs when they move to an ARM Mac (in this case, one provided by my employer, who also handled the migration).  That includes the warning about /opt/homebrew.

* Anyway, after doing this, making sure the "new" brew is first in my PATH, and re-sourcing the homebrew in my Sage directory, I still get plenty of errors during brew like  "Error: Failed to read Mach-O binary: /opt/homebrew/Cellar/arb/2.19.0_1/include/acb_poly.h" but hopefully not a problem.

* I needed to upgrade to 9.4.beta0 due to #31838

* SSL: this message is interesting with regard to SSL support - will we still have to 'hand-enable' SSL on Python?  But Sage "make" is still installing the openssl spkg as one might expect from the keg-only message.

==> openssl@1.1

A CA file has been bootstrapped using certificates from the system

keychain. To add additional certificates, place .pem files in

  /opt/homebrew/etc/openssl@1.1/certs


and run

  /opt/homebrew/opt/openssl@1.1/bin/c_rehash


openssl@1.1 is keg-only, which means it was not symlinked into /opt/homebrew,

because macOS provides LibreSSL.


If you need to have openssl@1.1 first in your PATH, run:

  echo 'export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"' >> ~/.profile


For compilers to find openssl@1.1 you may need to set:

  export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"

  export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"


For pkg-config to find openssl@1.1 you may need to set:

  export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"

kcrisman

unread,
May 29, 2021, 9:42:19 PM5/29/21
to sage-devel
source SAGE_ROOT/.homebrew-build-env is currently not enough to get it to use that version of openblas from the keg.  
 
I get instead there this below.  It wouldn't let me attach full log, see instead http://www.math.gordon.edu/~kcrisman/openblas-0.3.13.log  - but in principle there shouldn't BE a log.  Yes, I am using the right brew this time: PATH: /opt/homebrew/bin/ is first in config.log as expected now.  

On an unrelated note, while installing the recommended additional dependencies at https://doc.sagemath.org/html/en/installation/source.html#macos-recommended-installation (just to see what happens) I had a lot of trouble installing graphviz - had to restart the brew install graphviz three or four times, with errors like this: Error: Directory not empty @ dir_s_rmdir - /private/tmp/d20210529-60954-c7c262  Eventually it did succeed, but worth knowing.  (Also, boost is listed on both sets of things to brew install.)

Anyway, here - thanks to all very much for any ideas regarding the crucial openblas, it would be great to have this running. 

[openblas-0.3.13] gcc -c -O2 -g  -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DNO_AVX512 -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DMAX_PARALLEL_NUMBER=1 -DUSE_TLS -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.13\" -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=_ -DASMFNAME=__ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I. -O2 -DMAX_STACK_ALLOC=2048 -Wall -DF_INTERFACE_GFORT -fPIC -DNO_AVX512 -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DMAX_PARALLEL_NUMBER=1 -DUSE_TLS -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.13\" -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=_samax_k -DASMFNAME=_samax_k_ -DNAME=samax_k_ -DCNAME=samax_k -DCHAR_NAME=\"samax_k_\" -DCHAR_CNAME=\"samax_k\" -DNO_AFFINITY -I.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE  -DUSE_ABS -UUSE_MIN ../kernel/arm64/amax.S -o samax_k.o

[openblas-0.3.13] make[6]: *** No rule to make target `../kernel/arm64/amin.S', needed by `samin_k.o'.  Stop.

Matthias Koeppe

unread,
May 30, 2021, 2:55:40 AM5/30/21
to sage-devel
config.log please

Dima Pasechnik

unread,
May 30, 2021, 5:08:14 AM5/30/21
to sage-devel
you need Homebrew Python3 installed, I think it comes with ssl.


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.

kcrisman

unread,
May 31, 2021, 9:34:28 AM5/31/21
to sage-devel
attached
config.log

kcrisman

unread,
May 31, 2021, 9:34:55 AM5/31/21
to sage-devel
On Sunday, May 30, 2021 at 5:08:14 AM UTC-4 dim...@gmail.com wrote:
you need Homebrew Python3 installed, I think it comes with ssl.


Looks like I have that already.

Warning: python@3.9 3.9.5 is already installed and up-to-date.

To reinstall 3.9.5, run:

  brew reinstall python@3.9


 

kcrisman

unread,
May 31, 2021, 1:57:22 PM5/31/21
to sage-devel

Belay all of that.  I am going to start from scratch with source for 9.4.beta0 from http://mirrors.mit.edu/sage/devel/index.html because I am mixing up two different sets of installs somehow.

Dima Pasechnik

unread,
May 31, 2021, 2:32:08 PM5/31/21
to sage-devel


On Mon, 31 May 2021, 18:57 kcrisman, <kcri...@gmail.com> wrote:

Belay all of that.  I am going to start from scratch with source for 9.4.beta0 from http://mirrors.mit.edu/sage/devel/index.html because I am mixing up two different sets of installs somehow.


it is better to install the source using git, as you will need to apply patches on top of 9.4.beta0


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.

kcrisman

unread,
May 31, 2021, 3:52:12 PM5/31/21
to sage-devel
it is better to install the source using git, as you will need to apply patches on top of 9.4.beta0


Sure, this was just the quickest thing now to make sure I was actually starting with the right thing after having messed up a couple attempts somehow.

Currently a whole slew of stuff is compiling nicely.  The only thing that has failed is iml, see attached, and presumably the following is the most relevant:

ld: warning: dylib (/opt/homebrew/opt/gcc/lib/gcc/11/libgfortran.5.dylib) was built for newer macOS version (11.3) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/opt/gcc/lib/gcc/11/libgomp.1.dylib) was built for newer macOS version (11.3) than being linked (11.0)
ld: file not found: @rpath/libgcc_s.1.1.dylib for architecture arm64

Quick search suggests I may need to have actual Xcode installed and not just CLT.  Also interesting is that I'm actually on 11.2.3 which is neither 11.3 nor 11.0.  Or is it maybe MACOSX_DEPLOYMENT_TARGET rearing its ugly head again?  I note that #18272 was indeed merged in 9.4.beta0.  And, ridiculously, 

$ MACOSX_DEPLOYMENT_TARGET=11.2 make

allows compiling to continue successfully through as well as docbuild.

So that is certainly good news; this was the only problem I encountered with vanilla 9.4.beta0 tarball + the recommended homebrew packages and sourcing them.

I'll report back on any test failures separately.

iml-1.0.4p1.p2.log

kcrisman

unread,
May 31, 2021, 4:23:59 PM5/31/21
to sage-devel
Not as bad as you might think on the test failures.  make ptest gives the following - many or even most of which seem to be plotting errors exactly like this one (and even "plot(x)" does not work from the CLI, same error):

    ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so, 2): Symbol not found: _opj_create_compress
      Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so
      Expected in: flat namespace

However, I did see some of this type as well in the sage/numerical tests:

    ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so, 2): Symbol not found: _cholmod_l_allocate_dense
      Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
      Expected in: flat namespace
     in /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so

I didn't see any others in a first read through, though it's a very long log file of course (attached).  Thanks for any thoughts - honestly, this is a lot closer to being ready to roll than I had dared anticipate.

----------------------------------------------------------------------

sage -t --random-seed=0 src/sage/plot/plot3d/base.pyx  # Timed out

sage -t --random-seed=0 src/sage/symbolic/expression.pyx  # 7 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/integration_doctest.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/plot3d/plot3d.py  # Timed out

sage -t --random-seed=0 src/sage/plot/plot3d/shapes2.py  # Timed out

sage -t --random-seed=0 src/sage/plot/plot3d/parametric_plot3d.py  # Timed out

sage -t --random-seed=0 src/sage/plot/plot3d/implicit_plot3d.py  # Timed out

sage -t --random-seed=0 src/sage/plot/plot3d/platonic.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/geometry/polyhedron/base.py  # 6 doctests failed

sage -t --random-seed=0 src/sage/plot/plot3d/list_plot3d.py  # 14 doctests failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/vector_calculus/vector_calc_cartesian.rst  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/vector_calculus/vector_calc_change.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/schemes/elliptic_curves/ell_rational_field.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/manifolds/differentiable/integrated_curve.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/plot/graphics.py  # 76 doctests failed

sage -t --random-seed=0 src/sage/combinat/root_system/root_lattice_realizations.py  # 7 doctests failed

sage -t --random-seed=0 src/sage/combinat/root_system/plot.py  # 9 doctests failed

sage -t --random-seed=0 src/sage/plot/plot3d/parametric_surface.pyx  # 3 doctests failed

sage -t --random-seed=0 src/sage/calculus/functional.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/geometry/hyperplane_arrangement/plot.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/plot/plot.py  # 61 doctests failed

sage -t --random-seed=0 src/sage/manifolds/differentiable/vectorfield.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/vector_calculus/vector_calc_plane.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/schemes/curves/projective_curve.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/contour_plot.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/schemes/riemann_surfaces/riemann_surface.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/misc/sagedoc.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/schemes/curves/affine_curve.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/schemes/elliptic_curves/heegner.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/manifolds/chart.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/geometry/polyhedron/plot.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/graphs/generic_graph.py  # 29 doctests failed

sage -t --random-seed=0 src/sage/manifolds/point.py  # 2 doctests failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/sandpile.rst  # 9 doctests failed

sage -t --random-seed=0 src/sage/plot/plot3d/index_face_set.pyx  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/geometry/polyhedra_quicktutorial.rst  # 3 doctests failed

sage -t --random-seed=0 src/sage/plot/multigraphics.py  # 46 doctests failed

sage -t --random-seed=0 src/doc/ru/tutorial/tour_plotting.rst  # 6 doctests failed

sage -t --random-seed=0 src/doc/en/tutorial/tour_plotting.rst  # 6 doctests failed

sage -t --random-seed=0 src/sage/plot/point.py  # 6 doctests failed

sage -t --random-seed=0 src/doc/pt/tutorial/tour_plotting.rst  # 6 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/graphique_doctest.py  # 14 doctests failed

sage -t --random-seed=0 src/doc/de/tutorial/tour_plotting.rst  # 6 doctests failed

sage -t --random-seed=0 src/sage/geometry/lattice_polytope.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/ja/tutorial/tour_plotting.rst  # 6 doctests failed

sage -t --random-seed=0 src/doc/en/prep/Advanced-2DPlotting.rst  # 9 doctests failed

sage -t --random-seed=0 src/sage/graphs/graph.py  # 22 doctests failed

sage -t --random-seed=0 src/sage/combinat/words/paths.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/calculus/calculus.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/functions/bessel.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/manifolds/differentiable/curve.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/plot/plot3d/implicit_surface.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/groups/perm_gps/cubegroup.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/dynamics/complex_dynamics/mandel_julia.py  # 28 doctests failed

sage -t --random-seed=0 src/sage/rings/polynomial/polynomial_element.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/modules/free_module_element.pyx  # 2 doctests failed

sage -t --random-seed=0 src/doc/en/prep/Symbolics-and-Basic-Plotting.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/matrix/matrix2.pyx  # 5 doctests failed

sage -t --random-seed=0 src/sage/plot/polygon.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/plot/circle.py  # 6 doctests failed

sage -t --random-seed=0 src/doc/ca/intro/index.rst  # 5 doctests failed

sage -t --random-seed=0 src/sage/plot/disk.py  # 7 doctests failed

sage -t --random-seed=0 src/sage/geometry/hyperplane_arrangement/arrangement.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/line.py  # 3 doctests failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/Multivariable-Calculus.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/plot3d/tachyon.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/combinat_doctest.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/categories/semigroups.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/sandpiles/sandpile.py  # 6 doctests failed

sage -t --random-seed=0 src/doc/fr/tutorial/tour_plotting.rst  # 6 doctests failed

sage -t --random-seed=0 src/sage/groups/braid.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/tests/book_stein_ent.py  # 4 doctests failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/geometry/polyhedra_tutorial.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/generators/smallgraphs.py  # 6 doctests failed

sage -t --random-seed=0 src/sage/rings/polynomial/multi_polynomial_ideal.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/manifolds/differentiable/tangent_vector.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/tableau.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/graph_plot.py  # 16 doctests failed

sage -t --random-seed=0 src/sage/plot/matrix_plot.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/plot/animate.py  # 5 doctests failed

sage -t --random-seed=0 src/sage/calculus/desolvers.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/interacts/test_jupyter.rst  # 19 doctests failed

sage -t --random-seed=0 src/sage/geometry/toric_plotter.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/plot/bezier_path.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/rings/asymptotic/asymptotic_ring.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/streamline_plot.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/functions/hypergeometric.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/explicit_methods_in_number_theory/elliptic_curves.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/complex_plot.pyx  # 2 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/graphtheory_doctest.py  # 8 doctests failed

sage -t --random-seed=0 src/sage/plot/arrow.py  # 9 doctests failed

sage -t --random-seed=0 src/sage/geometry/triangulation/point_configuration.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/modular/overconvergent/genus0.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/calculus/riemann.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/tutorial.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/posets/posets.py  # 5 doctests failed

sage -t --random-seed=0 src/sage/graphs/digraph.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/combinat/crystals/letters.pyx  # 3 doctests failed

sage -t --random-seed=0 src/sage/schemes/elliptic_curves/ell_point.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/modular/btquotients/btquotient.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/prep/Calculus.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/calculus/transforms/fft.pyx  # 4 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/geometry/triangulation/element.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/graphs/graph_list.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/permutation.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/categories/coxeter_groups.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/finite_state_machine.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/connectivity.pyx  # 3 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/sol/graphique_doctest.py  # 6 doctests failed

sage -t --random-seed=0 src/sage/misc/package.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/categories/finite_coxeter_groups.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/schemes/elliptic_curves/ell_generic.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/density_plot.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/categories/category.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/de/thematische_anleitungen/sage_gymnasium.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/en/constructions/plotting.rst  # 4 doctests failed

sage -t --random-seed=0 src/doc/en/constructions/calculus.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/cluster_algebra_quiver/quiver.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/cluster_algebra_quiver/cluster_seed.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/finance/time_series.pyx  # 2 doctests failed

sage -t --random-seed=0 src/sage/geometry/hyperbolic_space/hyperbolic_point.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/matrix/matrix_gf2e_dense.pyx  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/words/finite_word.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/plot/plot_field.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/numerical/interactive_simplex_method.py  # 6 doctests failed

sage -t --random-seed=0 src/sage/geometry/cone.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/dynamics/complex_dynamics/mandel_julia_helper.pyx  # 32 doctests failed

sage -t --random-seed=0 src/sage/schemes/elliptic_curves/period_lattice_region.pyx  # 2 doctests failed

sage -t --random-seed=0 src/sage/geometry/fan.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/stats/distributions/discrete_gaussian_lattice.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/categories/primer.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/explicit_methods_in_number_theory/introduction.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/knots/link.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/calculus_doctest.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/sol/calculus_doctest.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/es/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/doc/de/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/sage/calculus/ode.pyx  # 9 doctests failed

sage -t --random-seed=0 src/doc/ru/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/sage/combinat/parallelogram_polyomino.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/pt/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/sage/plot/arc.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/sage/matroids/matroid.pyx  # 4 doctests failed

sage -t --random-seed=0 src/sage/plot/text.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/plot/histogram.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/e_one_star.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/pt/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/ja/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/sage/functions/exp_integral.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/modular/arithgroup/farey_symbol.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/calculus/transforms/dwt.pyx  # 4 doctests failed

sage -t --random-seed=0 src/sage/plot/bar_chart.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/fully_packed_loop.py  # 2 doctests failed

sage -t --random-seed=0 src/doc/ja/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/fr/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/plot/misc.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/fr/tutorial/tour_algebra.rst  # 3 doctests failed

sage -t --random-seed=0 src/doc/es/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/hu/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/it/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/de/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/plot/ellipse.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/tr/a_tour_of_sage/index.rst  # 2 doctests failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/Differential-Equations.rst  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/Graphs-and-Discrete.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/symbolic/expression_conversions.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/geometry/voronoi_diagram.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/combinat/interval_posets.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/dyck_word.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/libs/pynac/pynac.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/generic_graph_pyx.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/plane_partition.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/pt/tutorial/tour_functions.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/functions/gamma.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/Number-Theory.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/crystals/mv_polytopes.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/bipartite_graph.py  # 2 doctests failed

sage -t --random-seed=0 src/doc/fr/tutorial/tour_functions.rst  # 1 doctest failed

sage -t --random-seed=0 src/doc/ja/tutorial/tour_functions.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/generators/random.py  # 3 doctests failed

sage -t --random-seed=0 src/sage/plot/colors.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/de/tutorial/tour_functions.rst  # 1 doctest failed

sage -t --random-seed=0 src/doc/ru/tutorial/tour_functions.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/dynamics/cellular_automata/glca.py  # 2 doctests failed

sage -t --random-seed=0 src/doc/en/tutorial/tour_functions.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/functions/transcendental.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/calculus/interpolators.pyx  # 4 doctests failed

sage -t --random-seed=0 src/sage/tests/books/computational-mathematics-with-sagemath/sol/recequadiff_doctest.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/repl/rich_output/backend_doctest.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/misc/persist.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/coding/code_bounds.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/words/morphism.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/categories/finite_posets.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/probability/probability_distribution.pyx  # 4 doctests failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/lie/crystals.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/functions/airy.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/game_theory/normal_form_game.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/scatter_plot.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/root_system/root_system.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/subword_complex.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/rings/complex_interval.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/geometry/polyhedron/ppl_lattice_polygon.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/repl/rich_output/pretty_print.py  # 5 doctests failed

sage -t --random-seed=0 src/sage/graphs/comparability.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/matroids/matroids_plot_helpers.py  # 6 doctests failed

sage -t --random-seed=0 src/doc/en/prep/Intro-Tutorial.rst  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/Statistics-and-Distributions.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/set_partition.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/Interact.rst  # 4 doctests failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/numerical_sage/scipy.rst  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/constructions/interface_issues.rst  # 2 doctests failed

sage -t --random-seed=0 src/sage/combinat/yang_baxter_graph.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/dynamics/cellular_automata/elementary.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/coding/source_coding/huffman.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/base/c_graph.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/words/suffix_trees.py  # 4 doctests failed

sage -t --random-seed=0 src/doc/en/developer/coding_basics.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/stats/intlist.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/numerical/optimize.py  # 10 doctests failed

sage -t --random-seed=0 src/sage/plot/hyperbolic_polygon.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/ordered_tree.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/geometry/pseudolines.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/combinat/binary_tree.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/game_theory/matching_game.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/geometry/hyperplane_arrangement/hyperplane.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/faq/faq-usage.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/misc/sage_timeit.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/hyperbolic_arc.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/algebraic_combinatorics/n_cube.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/spanning_tree.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/line_graph.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/hyperbolic_regular_polygon.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/functions/prime_pi.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/graphs/schnyder.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/prep/Quickstarts/NumAnalysis.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/primitive.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/plot/step.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/rings/padics/padic_base_generic.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/stats/hmm/hmm.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/categories/examples/finite_weyl_groups.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/rings/semirings/non_negative_integer_semiring.py  # 2 doctests failed

sage -t --random-seed=0 src/doc/en/prep/Programming.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/stats/hmm/distributions.pyx  # 1 doctest failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/algebraic_combinatorics/walks.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/repl/rich_output/display_manager.py  # 4 doctests failed

sage -t --random-seed=0 src/sage/categories/examples/finite_semigroups.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/calculus/interpolation.pyx  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/crystals/crystals.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/repl/image.py  # 39 doctests failed

sage -t --random-seed=0 src/sage/graphs/cliquer.pyx  # 2 doctests failed

sage -t --random-seed=0 src/sage/numerical/sdp.pyx  # 35 doctests failed

sage -t --random-seed=0 src/sage/numerical/backends/cvxopt_backend.pyx  # 17 doctests failed

sage -t --random-seed=0 src/sage/numerical/backends/cvxopt_sdp_backend.pyx  # 21 doctests failed

sage -t --random-seed=0 src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst  # 8 doctests failed

sage -t --random-seed=0 src/sage/__init__.py  # 2 doctests failed

sage -t --random-seed=0 src/sage/docs/conf.py  # 1 doctest failed

sage -t --random-seed=0 src/doc/it/faq/faq-usage.rst  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/fully_commutative_elements.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/combinat/path_tableaux/frieze.py  # 1 doctest failed

sage -t --random-seed=0 src/sage/rings/complex_mpfr.pyx  # 1 doctest failed

ptest.log

Dima Pasechnik

unread,
Jun 1, 2021, 11:24:07 AM6/1/21
to sage-devel
On Mon, May 31, 2021 at 9:24 PM kcrisman <kcri...@gmail.com> wrote:
>
> Not as bad as you might think on the test failures. make ptest gives the following - many or even most of which seem to be plotting errors exactly like this one (and even "plot(x)" does not work from the CLI, same error):
>
> ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so, 2): Symbol not found: _opj_create_compress
> Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so
> Expected in: flat namespace
>
apparently _imaging.cpython-39-darwin.so does not link to the right libraries.
What's the output of

otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so

?

PIL comes from pillow package, which has its own build system...





> However, I did see some of this type as well in the sage/numerical tests:
>
> ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so, 2): Symbol not found: _cholmod_l_allocate_dense
> Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
> Expected in: flat namespace
> in /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so

same as for PIL, the output

otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so

please. (As well, cvxopt does its own config...)
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/d694b259-7a19-4ca2-9638-2cd89ac91539n%40googlegroups.com.

Dima Pasechnik

unread,
Jun 1, 2021, 11:29:12 AM6/1/21
to sage-devel
On Tue, Jun 1, 2021 at 4:23 PM Dima Pasechnik <dim...@gmail.com> wrote:
>
> On Mon, May 31, 2021 at 9:24 PM kcrisman <kcri...@gmail.com> wrote:
> >
> > Not as bad as you might think on the test failures. make ptest gives the following - many or even most of which seem to be plotting errors exactly like this one (and even "plot(x)" does not work from the CLI, same error):
> >
> > ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so, 2): Symbol not found: _opj_create_compress
> > Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so
> > Expected in: flat namespace
> >
> apparently _imaging.cpython-39-darwin.so does not link to the right libraries.
> What's the output of
>
> otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so
>
> ?
>
> PIL comes from pillow package, which has its own build system...
>
>
>
>
>
> > However, I did see some of this type as well in the sage/numerical tests:
> >
> > ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so, 2): Symbol not found: _cholmod_l_allocate_dense
> > Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
> > Expected in: flat namespace
> > in /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
>
> same as for PIL, the output
>
> otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
>
> please. (As well, cvxopt does its own config...)

see, in https://github.com/cvxopt/cvxopt/blob/master/setup.py there is

if sys.platform.startswith("darwin"):
# macOS
SUITESPARSE_LIB_DIR = '/usr/local/lib'
SUITESPARSE_INC_DIR = '/usr/local/include'
# Guess SUITESPARSE_LIB_DIR and SUITESPARSE_INC_DIR

which is wrong for M1 Homebrew...

kcrisman

unread,
Jun 1, 2021, 2:15:21 PM6/1/21
to sage-devel
apparently _imaging.cpython-39-darwin.so does not link to the right libraries.
What's the output of

otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so

/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so:
/opt/homebrew/opt/zlib/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
/opt/homebrew/opt/libtiff/lib/libtiff.5.dylib (compatibility version 13.0.0, current version 13.0.0)
/opt/homebrew/opt/libxcb/lib/libxcb.1.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)

 




> However, I did see some of this type as well in the sage/numerical tests:
>
> ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so, 2): Symbol not found: _cholmod_l_allocate_dense
> Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
> Expected in: flat namespace
> in /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so

same as for PIL, the output

otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so



/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so:
/opt/homebrew/opt/openblas/lib/libopenblas.0.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5) 

Dima Pasechnik

unread,
Jun 1, 2021, 2:41:21 PM6/1/21
to sage-devel
On Tue, Jun 1, 2021 at 7:15 PM kcrisman <kcri...@gmail.com> wrote:
>
>
>> apparently _imaging.cpython-39-darwin.so does not link to the right libraries.
>> What's the output of
>>
>> otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so
>
>
> /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/PIL/_imaging.cpython-39-darwin.so:
> /opt/homebrew/opt/zlib/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
> /opt/homebrew/opt/libtiff/lib/libtiff.5.dylib (compatibility version 13.0.0, current version 13.0.0)
> /opt/homebrew/opt/libxcb/lib/libxcb.1.dylib (compatibility version 3.0.0, current version 3.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)

OK, so it doesn't link to a JPEG library for some reason - but needs a
symbol from there.
On an inter macOS I see

/usr/local/opt/openjpeg/lib/libopenjp2.7.dylib

among the libraries

Please post logs/pkgs/pillow-8.1.2.log



>
>
>>
>>
>>
>>
>>
>> > However, I did see some of this type as well in the sage/numerical tests:
>> >
>> > ImportError: dlopen(/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so, 2): Symbol not found: _cholmod_l_allocate_dense
>> > Referenced from: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
>> > Expected in: flat namespace
>> > in /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
>>
>> same as for PIL, the output
>>
>> otool -L /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so
>>
>>
>
> /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib/python3.9/site-packages/cvxopt/cholmod.cpython-39-darwin.so:
> /opt/homebrew/opt/openblas/lib/libopenblas.0.dylib (compatibility version 0.0.0, current version 0.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)
>

so it does not link any suitesparse libraries, a bug.

Pldease post logs/pkgs/cvxopt-1.2.6.log


> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/8b014e63-24c1-45f5-8b71-b9570eb12758n%40googlegroups.com.

kcrisman

unread,
Jun 2, 2021, 9:12:04 AM6/2/21
to sage-devel
Some interesting bits of these directly related to the errors in question - similar final linking error in both cases.   

temp.macosx-11-arm64-3.9/src/map.o build/temp.macosx-11-arm64-3.9/src/outline.o build/temp.macosx-11-arm64-3.9/src/path.o -L/opt/homebrew/Cellar/jpeg/9d/lib -L/usr/local/Cellar/openjpeg/2.4.0/lib -L/opt/homebrew/Cellar/libtiff/4.3.0/lib -L/opt/homebrew/Cellar/zlib/1.2.11/lib -L/opt/homebrew/Cellar/freetype/2.10.4/lib -L/usr/local/Cellar/little-cms2/2.12/lib -L/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib -L/opt/homebrew/Cellar/ntl/11.4.4/lib -L/opt/homebrew/Cellar/readline/8.1/lib -L/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib -L/usr/local/lib -L/usr/lib -lopenjp2 -lz -ltiff -lxcb -o build/lib.macosx-11-arm64-3.9/PIL/_imaging.cpython-39-darwin.so
ld: warning: ignoring file /usr/local/Cellar/openjpeg/2.4.0/lib/libopenjp2.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

Is it possibly relevant that this computer was cloned via Time Machine from an Intel laptop?  I note that it is looking in the Intel version of Homebrew for openjpeg.  It looks like I can try to get openjpeg from the ARM Homebrew now.  I'll try reinstalling pillow and building and report back.  But here it is for reference.

Looking for `libopenjp2` using pkg-config.
Appending path /usr/local/Cellar/openjpeg/2.4.0/lib
Appending path /usr/local/Cellar/openjpeg/2.4.0/include/openjpeg-2.4

Anyway, apparently something similar going on here.

  building 'cholmod' extension
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -O2 -g -I/usr/local/include -I/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/include -I/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/C/cholmod.c -o build/temp.macosx-11-arm64-3.9/src/C/cholmod.o
  src/C/cholmod.c:511:17: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (L->minor<n) PY_ERR(PyExc_ArithmeticError, "singular matrix");
          ~~~~~~~~^~
  src/C/cholmod.c:616:17: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (L->minor<n) PY_ERR(PyExc_ArithmeticError, "singular matrix");
          ~~~~~~~~^~
  src/C/cholmod.c:780:17: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (L->minor<n) {
          ~~~~~~~~^~
  src/C/cholmod.c:912:17: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (L->minor<n) {
          ~~~~~~~~^~
  src/C/cholmod.c:1001:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (k=0; k<L->nsuper; k++){
                ~^~~~~~~~~~
  5 warnings generated.
  gcc -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib -Wl,-rpath,/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib -O2 -g build/temp.macosx-11-arm64-3.9/src/C/cholmod.o -L/usr/local/lib -L/opt/homebrew/Cellar/openblas/0.3.15_1/lib -lcholmod -lcolamd -lamd -lsuitesparseconfig -lopenblas -lopenblas -o build/lib.macosx-11-arm64-3.9/cvxopt/cholmod.cpython-39-darwin.so
  ld: warning: ignoring file /usr/local/lib/libcholmod.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libcolamd.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libamd.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libsuitesparseconfig.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

for Pillow there is another linker warning as well, and several similar ones in cvxopt.

ld: warning: ignoring file /usr/local/Cellar/little-cms2/2.12/lib/liblcms2.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

  building 'umfpack' extension
  ld: warning: ignoring file /usr/local/lib/libamd.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libcolamd.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libsuitesparseconfig.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libumfpack.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libcholmod.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64

  building 'amd' extension
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -O2 -g -I/usr/local/include -I/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/include -I/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/C/amd.c -o build/temp.macosx-11-arm64-3.9/src/C/amd.o
  gcc -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib -Wl,-rpath,/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib -O2 -g build/temp.macosx-11-arm64-3.9/src/C/amd.o -L/usr/local/lib -lamd -lsuitesparseconfig -o build/lib.macosx-11-arm64-3.9/cvxopt/amd.cpython-39-darwin.so
  ld: warning: ignoring file /usr/local/lib/libamd.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file /usr/local/lib/libsuitesparseconfig.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64


pillow-8.1.2.log
cvxopt-1.2.6.log

kcrisman

unread,
Jun 2, 2021, 9:17:36 AM6/2/21
to sage-devel
Update: It still is looking in /usr/local even though /opt/homebrew/Cellar/openjpeg/2.4.0/ exists (and probably already did).  It also looks for little-cms2 in /usr/local/Cellar even though that also exists in /opt/homebrew.  Everything else it is looking for in /opt/homebrew, it seems.

kcrisman

unread,
Jun 3, 2021, 12:05:20 PM6/3/21
to sage-devel
Update: It still is looking in /usr/local even though /opt/homebrew/Cellar/openjpeg/2.4.0/ exists (and probably already did).  It also looks for little-cms2 in /usr/local/Cellar even though that also exists in /opt/homebrew.  Everything else it is looking for in /opt/homebrew, it seems.

Any thoughts on how to get Sage to look for the correct openjpeg and little-cms2, or in general to proceed?  But on the plus side most of Sage seemed to work, with that deployment change (though I know we just tried to get rid of it).

Matthias Koeppe

unread,
Jun 3, 2021, 12:57:14 PM6/3/21
to sage-devel
On Thursday, June 3, 2021 at 9:05:20 AM UTC-7 kcrisman wrote:
Update: It still is looking in /usr/local even though /opt/homebrew/Cellar/openjpeg/2.4.0/ exists (and probably already did).  It also looks for little-cms2 in /usr/local/Cellar even though that also exists in /opt/homebrew.  Everything else it is looking for in /opt/homebrew, it seems.

Any thoughts on how to get Sage to look for the correct openjpeg and little-cms2, or in general to proceed?  

You could check if an upgrade of the Pillow package improves the situation, and if not, bring this to the attention of upstream
 

Dima Pasechnik

unread,
Jun 3, 2021, 1:05:17 PM6/3/21
to sage-devel
For cvxopt, you need to patch its setup.py (we already patch it, but
not this bit),
which at the moment says
if sys.platform.startswith("darwin"):
SUITESPARSE_LIB_DIR = '/usr/local/lib'
SUITESPARSE_INC_DIR = '/usr/local/include'

That is, replace /usr/local/ with the correct prefix for M1 Homebrew.

Alternatively you can (probably) use SAGE_SUITESPARSE_PREFIX which is set in
build/bin/sage-build-env-config
to point to the correct location.


On Wed, Jun 2, 2021 at 2:17 PM kcrisman <kcri...@gmail.com> wrote:
>
> Update: It still is looking in /usr/local even though /opt/homebrew/Cellar/openjpeg/2.4.0/ exists (and probably already did). It also looks for little-cms2 in /usr/local/Cellar even though that also exists in /opt/homebrew. Everything else it is looking for in /opt/homebrew, it seems.
>
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/31c19542-42fc-4656-9cb6-5fd8a49aafecn%40googlegroups.com.

Dima Pasechnik

unread,
Jun 3, 2021, 1:10:29 PM6/3/21
to sage-devel
On Wed, Jun 2, 2021 at 2:12 PM kcrisman <kcri...@gmail.com> wrote:
>
> Some interesting bits of these directly related to the errors in question - similar final linking error in both cases.
>
> temp.macosx-11-arm64-3.9/src/map.o build/temp.macosx-11-arm64-3.9/src/outline.o build/temp.macosx-11-arm64-3.9/src/path.o -L/opt/homebrew/Cellar/jpeg/9d/lib -L/usr/local/Cellar/openjpeg/2.4.0/lib -L/opt/homebrew/Cellar/libtiff/4.3.0/lib -L/opt/homebrew/Cellar/zlib/1.2.11/lib -L/opt/homebrew/Cellar/freetype/2.10.4/lib -L/usr/local/Cellar/little-cms2/2.12/lib -L/Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0/local/lib -L/opt/homebrew/Cellar/ntl/11.4.4/lib -L/opt/homebrew/Cellar/readline/8.1/lib -L/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/lib -L/usr/local/lib -L/usr/lib -lopenjp2 -lz -ltiff -lxcb -o build/lib.macosx-11-arm64-3.9/PIL/_imaging.cpython-39-darwin.so
> ld: warning: ignoring file /usr/local/Cellar/openjpeg/2.4.0/lib/libopenjp2.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
>
> Is it possibly relevant that this computer was cloned via Time Machine from an Intel laptop? I note that it is looking in the Intel version of Homebrew for openjpeg. It looks like I can try to get openjpeg from the ARM Homebrew now. I'll try reinstalling pillow and building and report back. But here it is for reference.
>
> Looking for `libopenjp2` using pkg-config.
> Appending path /usr/local/Cellar/openjpeg/2.4.0/lib
> Appending path /usr/local/Cellar/openjpeg/2.4.0/include/openjpeg-2.4

so this is probably where the trouble comes from - pkg-config points
to wrong directory.
Perhaps you need to run

brew install openjpeg

(or brew reinstall openjpeg)

to correct this (although it could be a Homebrew bug, not fixable this way)

Dima
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/9f6d0388-c647-41fa-ba11-7780a2156837n%40googlegroups.com.

kcrisman

unread,
Jun 4, 2021, 7:29:19 AM6/4/21
to sage-devel
On Thursday, June 3, 2021 at 1:05:17 PM UTC-4 dim...@gmail.com wrote:
For cvxopt, you need to patch its setup.py (we already patch it, but
not this bit),
which at the moment says
if sys.platform.startswith("darwin"):
SUITESPARSE_LIB_DIR = '/usr/local/lib'
SUITESPARSE_INC_DIR = '/usr/local/include'

That is, replace /usr/local/ with the correct prefix for M1 Homebrew.



I can report this upstream like you did for https://github.com/cvxopt/cvxopt/issues/174 but I'm not sure whether they would see this as a cvxopt bug since perhaps they don't intend to support Homebrew directly. 

kcrisman

unread,
Jun 4, 2021, 8:12:28 AM6/4/21
to sage-devel
Perhaps you need to run

brew install openjpeg

(or brew reinstall openjpeg)


Apparently doing this and sage -f pillow (+ its dependencies) fixed this problem.  I'm not sure why it was a problem in the first place, though.  Think we need to add openjpeg to the brew list at https://doc.sagemath.org/html/en/installation/source.html#macos-recommended-installation ?

Dima Pasechnik

unread,
Jun 4, 2021, 9:08:19 AM6/4/21
to sage-devel


On Fri, 4 Jun 2021, 13:12 kcrisman, <kcri...@gmail.com> wrote:

Perhaps you need to run

brew install openjpeg

(or brew reinstall openjpeg)


Apparently doing this and sage -f pillow (+ its dependencies) fixed this problem.  I'm not sure why it was a problem in the first place, though.

basically, openjpeg  install was broken in your Homebrew. As it is an optional dependency of pillow, no need to do anything with it.


--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.

kcrisman

unread,
Jun 4, 2021, 9:45:58 AM6/4/21
to sage-devel

Perhaps you need to run

brew install openjpeg

(or brew reinstall openjpeg)


Apparently doing this and sage -f pillow (+ its dependencies) fixed this problem.  I'm not sure why it was a problem in the first place, though.

basically, openjpeg  install was broken in your Homebrew. As it is an optional dependency of pillow, no need to do anything with it.


If I interpret that correctly, it means that only people who already have a non-M1 version of openjpeg in /usr/local would need to then install this version in /opt/homebrew ?  One could imagine that happening to more than one person.  Maybe I misunderstand the word "optional" here.

kcrisman

unread,
Jun 4, 2021, 9:52:00 AM6/4/21
to sage-devel
On what appears to be a completely different note, I cannot use Jupyter.  I can do sage -n and it opens the GUI in the browser, but actually attempting to start a worksheet leads to a massive failure.


$ ./sage -n

┌────────────────────────────────────────────────────────────────────┐

│ SageMath version 9.4.beta0, Release Date: 2021-05-25               │

│ Using Python 3.9.5. Type "help()" for help.                        │

└────────────────────────────────────────────────────────────────────┘

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃ Warning: this is a prerelease version, and it may be unstable.     ┃

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Please wait while the Sage Jupyter Notebook server starts...

[I 09:47:39.007 NotebookApp] Serving notebooks from local directory: /Users/karl.crisman/Downloads/BrewSage/sage-9.4.beta0

[I 09:47:39.008 NotebookApp] Jupyter Notebook 6.1.1 is running at:

[I 09:47:39.008 NotebookApp] http://localhost:8888/?token=152f2191ce419309f6f6bb52d6dadf9c960f9f7b79b6bd32

[I 09:47:39.008 NotebookApp]  or http://127.0.0.1:8888/?token=152f2191ce419309f6f6bb52d6dadf9c960f9f7b79b6bd32

[I 09:47:39.008 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

[C 09:47:39.021 NotebookApp] 

    

    To access the notebook, open this file in a browser:

        file:///Users/karl.crisman/Library/Jupyter/runtime/nbserver-56274-open.html

    Or copy and paste one of these URLs:

        http://localhost:8888/?token=152f2191ce419309f6f6bb52d6dadf9c960f9f7b79b6bd32

     or http://127.0.0.1:8888/?token=152f2191ce419309f6f6bb52d6dadf9c960f9f7b79b6bd32

[I 09:47:53.685 NotebookApp] Creating new notebook in 

[I 09:47:54.755 NotebookApp] Kernel started: b33e9093-4b5c-4adc-bdd5-00c77dc8f021, name: sagemath

[W 09:47:54.785 NotebookApp] 404 GET /nbextensions/jupyter_jsmol/extension.js (::1) 12.22ms referer=http://localhost:8888/notebooks/Untitled.ipynb?kernel_name=sagemath

2021-06-04 09:47:55.787 Python[56372:297026] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString'

*** First throw call stack:

(

0   CoreFoundation                      0x000000019e434c78 __exceptionPreprocess + 240

1   libobjc.A.dylib                     0x000000019e15d0a8 objc_exception_throw + 60

2   Foundation                          0x000000019f11f0f8 __destroy_helper_block_e8_32o40r + 0

3   libffi.dylib                        0x00000001ab174050 ffi_call_SYSV + 80

4   libffi.dylib                        0x00000001ab17c9e4 ffi_call_int + 948

5   _ctypes.cpython-39-darwin.so        0x00000001065d0740 _ctypes_callproc + 864

6   _ctypes.cpython-39-darwin.so        0x00000001065cb1b8 PyCFuncPtr_call + 220

7   Python                              0x0000000104a69590 _PyObject_MakeTpCall + 132

8   Python                              0x0000000104b5ecd8 call_function + 268

9   Python                              0x0000000104b5c664 _PyEval_EvalFrameDefault + 39880

10  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

11  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

12  Python                              0x0000000104b5ec4c call_function + 128

13  Python                              0x0000000104b5c664 _PyEval_EvalFrameDefault + 39880

14  Python                              0x0000000104a6a1fc _PyFunction_Vectorcall + 180

15  Python                              0x0000000104b5ec4c call_function + 128

16  Python                              0x0000000104b5c640 _PyEval_EvalFrameDefault + 39844

17  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

18  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

19  Python                              0x0000000104a6cc98 method_vectorcall + 124

20  Python                              0x0000000104a69e40 PyVectorcall_Call + 184

21  Python                              0x0000000104b5c80c _PyEval_EvalFrameDefault + 40304

22  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

23  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

24  Python                              0x0000000104a698ac _PyObject_FastCallDictTstate + 208

25  Python                              0x0000000104addbf4 slot_tp_init + 188

26  Python                              0x0000000104ae3850 type_call + 300

27  Python                              0x0000000104a6a018 _PyObject_Call + 128

28  Python                              0x0000000104b5c80c _PyEval_EvalFrameDefault + 40304

29  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

30  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

31  Python                              0x0000000104a6cc98 method_vectorcall + 124

32  Python                              0x0000000104b5ec4c call_function + 128

33  Python                              0x0000000104b5c6e8 _PyEval_EvalFrameDefault + 40012

34  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

35  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

36  Python                              0x0000000104b5ec4c call_function + 128

37  Python                              0x0000000104b5c5c4 _PyEval_EvalFrameDefault + 39720

38  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

39  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

40  Python                              0x0000000104b5c80c _PyEval_EvalFrameDefault + 40304

41  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

42  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

43  Python                              0x0000000104b5ec4c call_function + 128

44  Python                              0x0000000104b5c664 _PyEval_EvalFrameDefault + 39880

45  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

46  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

47  Python                              0x0000000104b5ec4c call_function + 128

48  Python                              0x0000000104b5c5c4 _PyEval_EvalFrameDefault + 39720

49  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

50  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

51  Python                              0x0000000104a6cc98 method_vectorcall + 124

52  Python                              0x0000000104b5ec4c call_function + 128

53  Python                              0x0000000104b5c6e8 _PyEval_EvalFrameDefault + 40012

54  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

55  Python                              0x0000000104b4c6a0 builtin_exec + 356

56  Python                              0x0000000104ab90c4 cfunction_vectorcall_FASTCALL + 88

57  Python                              0x0000000104b5ec4c call_function + 128

58  Python                              0x0000000104b5c664 _PyEval_EvalFrameDefault + 39880

59  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

60  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

61  Python                              0x0000000104b5ec4c call_function + 128

62  Python                              0x0000000104b5c664 _PyEval_EvalFrameDefault + 39880

63  Python                              0x0000000104b51a9c _PyEval_EvalCode + 444

64  Python                              0x0000000104a6a2b4 _PyFunction_Vectorcall + 364

65  Python                              0x0000000104bc60f0 pymain_run_module + 208

66  Python                              0x0000000104bc5b1c pymain_run_python + 396

67  Python                              0x0000000104bc594c Py_RunMain + 24

68  Python                              0x0000000104bc6f50 pymain_main + 36

69  Python                              0x0000000104bc71c8 Py_BytesMain + 40

70  libdyld.dylib                       0x000000019e2d5450 start + 4

)

libc++abi: terminating with uncaught exception of type NSException

------------------------------------------------------------------------

(no backtrace available)

------------------------------------------------------------------------

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 09:47:57.759 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports

2021-06-04 09:47:58.371 Python[56417:297606] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** +[NSString stringWithUTF8String:]: NULL cString'

*** First throw call stack:

(

0   CoreFoundation                      0x000000019e434c78 __exceptionPreprocess + 240

1   libobjc.A.dylib                     0x000000019e15d0a8 objc_exception_throw + 60

2   Foundation                          0x000000019f11f0f8 __destroy_helper_block_e8_32o40r + 0

3   libffi.dylib                        0x00000001ab174050 ffi_call_SYSV + 80

4   libffi.dylib                        0x00000001ab17c9e4 ffi_call_int + 948

5   _ctypes.cpython-39-darwin.so        0x00000001046e8740 _ctypes_callproc + 864

6   _ctypes.cpython-39-darwin.so        0x00000001046e31b8 PyCFuncPtr_call + 220

7   Python                              0x00000001028ed590 _PyObject_MakeTpCall + 132

8   Python                              0x00000001029e2cd8 call_function + 268

9   Python                              0x00000001029e0664 _PyEval_EvalFrameDefault + 39880

10  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

11  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

12  Python                              0x00000001029e2c4c call_function + 128

13  Python                              0x00000001029e0664 _PyEval_EvalFrameDefault + 39880

14  Python                              0x00000001028ee1fc _PyFunction_Vectorcall + 180

15  Python                              0x00000001029e2c4c call_function + 128

16  Python                              0x00000001029e0640 _PyEval_EvalFrameDefault + 39844

17  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

18  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

19  Python                              0x00000001028f0c98 method_vectorcall + 124

20  Python                              0x00000001028ede40 PyVectorcall_Call + 184

21  Python                              0x00000001029e080c _PyEval_EvalFrameDefault + 40304

22  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

23  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

24  Python                              0x00000001028ed8ac _PyObject_FastCallDictTstate + 208

25  Python                              0x0000000102961bf4 slot_tp_init + 188

26  Python                              0x0000000102967850 type_call + 300

27  Python                              0x00000001028ee018 _PyObject_Call + 128

28  Python                              0x00000001029e080c _PyEval_EvalFrameDefault + 40304

29  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

30  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

31  Python                              0x00000001028f0c98 method_vectorcall + 124

32  Python                              0x00000001029e2c4c call_function + 128

33  Python                              0x00000001029e06e8 _PyEval_EvalFrameDefault + 40012

34  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

35  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

36  Python                              0x00000001029e2c4c call_function + 128

37  Python                              0x00000001029e05c4 _PyEval_EvalFrameDefault + 39720

38  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

39  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

40  Python                              0x00000001029e080c _PyEval_EvalFrameDefault + 40304

41  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

42  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

43  Python                              0x00000001029e2c4c call_function + 128

44  Python                              0x00000001029e0664 _PyEval_EvalFrameDefault + 39880

45  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

46  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

47  Python                              0x00000001029e2c4c call_function + 128

48  Python                              0x00000001029e05c4 _PyEval_EvalFrameDefault + 39720

49  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

50  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

51  Python                              0x00000001028f0c98 method_vectorcall + 124

52  Python                              0x00000001029e2c4c call_function + 128

53  Python                              0x00000001029e06e8 _PyEval_EvalFrameDefault + 40012

54  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

55  Python                              0x00000001029d06a0 builtin_exec + 356

56  Python                              0x000000010293d0c4 cfunction_vectorcall_FASTCALL + 88

57  Python                              0x00000001029e2c4c call_function + 128

58  Python                              0x00000001029e0664 _PyEval_EvalFrameDefault + 39880

59  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

60  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

61  Python                              0x00000001029e2c4c call_function + 128

62  Python                              0x00000001029e0664 _PyEval_EvalFrameDefault + 39880

63  Python                              0x00000001029d5a9c _PyEval_EvalCode + 444

64  Python                              0x00000001028ee2b4 _PyFunction_Vectorcall + 364

65  Python                              0x0000000102a4a0f0 pymain_run_module + 208

66  Python                              0x0000000102a49b1c pymain_run_python + 396

67  Python                              0x0000000102a4994c Py_RunMain + 24

68  Python                              0x0000000102a4af50 pymain_main + 36

69  Python                              0x0000000102a4b1c8 Py_BytesMain + 40

70  libdyld.dylib                       0x000000019e2d5450 start + 4

)

libc++abi: terminating with uncaught exception of type NSException

------------------------------------------------------------------------

(no backtrace available)

------------------------------------------------------------------------

Dima Pasechnik

unread,
Jun 4, 2021, 11:38:55 AM6/4/21
to sage-devel
optional here means that pillow will use openjpeg if it finds it.
So in your case it found it, but it was broken.
I think this should not have happened on a correctly installed Homebrew.



--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages