I just built for this architecture successfully using "tox -e docker-ubuntu-groovy-standard-arm64v8" (on my Intel MBP). That's slightly newer than ubuntu-focal (20.04)
sage -t --random-seed=0 src/sage/algebras/quatalg/quaternion_algebra_cython.pyx [10 tests, 0.17 s] ---------------------------------------------------------------------- All tests passed! On Tuesday, November 2, 2021 at 9:13:25 AM UTC-7 William Stein wrote: > This is a quick update about building the 9.5.beta5 version of Sage on an > M1 Mac under Docker aarch64 Linux. > > After installing Tachyon system wide, the build completes. This Cython > module won't import due to an issue with libgomp, which > is evidently some openMP parallel computing library, failing with > " /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS > block". > See below for the failed test. > > A quick search reveals this discussion of exactly this sort of problem: > > https://github.com/opencv/opencv/issues/14884 > > It sounds like a bug in how SageMath is built (or the library is imported) > that will need a workaround on aarch64. This comment > > https://github.com/opencv/opencv/issues/14884#issuecomment-815632861 > > seems most actionable. > > I was NOT able to reproduce this by just starting sage or Python and > importing modules. It has something to > do with how doctests are run. > > The suggestion in the github issue I link to above to use LD_PRELOAD > *does* work, i.e., > > LD_PRELOAD=/lib/aarch64-linux-gnu/libgomp.so.1 ./sage -t > src/sage/algebras/quatalg/quaternion_algebra_cython.pyx > ... > works fine. I might just set LD_PRELOAD for cocalc-docker if nobody has a > better idea. I'm keeping track of all these > issues with Sage + aarch64 here: > https://github.com/sagemathinc/cocalc-docker/issues/138 > > --- > > root@8bff70fbbc1c:/usr/local/sage# ./sage -t > src/sage/algebras/quatalg/quaternion_algebra_cython.pyx > no stored timings available > Running doctests with ID 2021-11-02-15-54-57-8a128eb1. > Git branch: HEAD > Using > --optional=build,debian,dochtml,pip,sage,sage.geometry.polyhedron,sage.rings.real_double,sage_spkg > Doctesting 1 file. > Traceback (most recent call last): > File "/usr/local/sage/src/bin/sage-runtests", line 151, in <module> > err = DC.run() > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/doctest/control.py", > > line 1254, in run > self.run_doctests() > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/doctest/control.py", > > line 951, in run_doctests > self.dispatcher = DocTestDispatcher(self) > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/doctest/forker.py", > > line 1614, in __init__ > init_sage(controller) > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/doctest/forker.py", > > line 192, in init_sage > controller.load_environment() > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/doctest/control.py", > > line 572, in load_environment > return import_module(self.options.environment) > File "/usr/lib/python3.8/importlib/__init__.py", line 127, in > import_module > return _bootstrap._gcd_import(name[level:], package, level) > File "<frozen importlib._bootstrap>", line 1014, in _gcd_import > File "<frozen importlib._bootstrap>", line 991, in _find_and_load > File "<frozen importlib._bootstrap>", line 975, in > _find_and_load_unlocked > File "<frozen importlib._bootstrap>", line 671, in _load_unlocked > File "<frozen importlib._bootstrap_external>", line 848, in exec_module > File "<frozen importlib._bootstrap>", line 219, in > _call_with_frames_removed > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/repl/ipython_kernel/all_jupyter.py", > > line 5, in <module> > from sage.all_cmdline import * > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/all_cmdline.py", > > line 19, in <module> > from sage.all import * > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/all.py", > > line 129, in <module> > from sage.algebras.all import * > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/algebras/all.py", > > line 21, in <module> > import sage.algebras.catalog as algebras > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/algebras/catalog.py", > > line 80, in <module> > from sage.algebras.quatalg.quaternion_algebra import QuaternionAlgebra > as Quaternion > File > "/usr/local/sage/local/var/lib/sage/venv-python3.8/lib/python3.8/site-packages/sage/algebras/quatalg/quaternion_algebra.py", > > line 69, in <module> > from . import quaternion_algebra_cython > File "sage/algebras/quatalg/quaternion_algebra_cython.pyx", line 1, in > init sage.algebras.quatalg.quaternion_algebra_cython > (build/cythonized/sage/algebras/quatalg/quaternion_algebra_cython.cpp:6215) > File "sage/matrix/matrix_integer_dense.pyx", line 1, in init > sage.matrix.matrix_integer_dense > (build/cythonized/sage/matrix/matrix_integer_dense.cpp:57704) > ImportError: /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory > in static TLS block > > On Mon, Nov 1, 2021 at 5:33 PM William Stein <[email protected]> wrote: > >> >> >> On Mon, Nov 1, 2021 at 4:35 PM Dima Pasechnik <[email protected]> wrote: >> >>> >>> >>> On Mon, Nov 1, 2021 at 11:28 PM William Stein <[email protected]> wrote: >>> >>>> Great idea. Thanks Dima! >>>> >>>> On Mon, Nov 1, 2021 at 3:37 PM Dima Pasechnik <[email protected]> wrote: >>>> >>>>> >>>>> >>>>> On Mon, Nov 1, 2021 at 10:18 PM William Stein <[email protected]> >>>>> wrote: >>>>> >>>>>> I tried to build sage-9.5.beta5 on a very clean Linux Ubuntu:20.04 >>>>>> image with standard dev packages (in Docker) but on an ARM aarch64 >>>>>> architecture instead of Intel. It fails with Tachyon simply saying >>>>>> "Error: >>>>>> Sorry, your platform isn't supported by Tachyon and/or Sage. >>>>>> Exiting...". >>>>>> I don't know what that is about. >>>>>> >>>>> I found https://trac.sagemath.org/ticket/23712 which is a 2-year old >>>>>> ticket about how upgrading Tachyon is needed " to make Sage work on >>>>>> arm64/aarch64." >>>>>> >>>>>> Any suggestions? My goal is to make an aarch64 version of the >>>>>> cocalc-docker image. Is there an easy workaround for this problem, or >>>>>> should I just do some hack to disable building tachyon (since it is a >>>>>> runtime only dependency)? Is the right way to disable building a >>>>>> standard >>>>>> package these days still to touch some file somewhere, or did that >>>>>> change? >>>>>> >>>>> >>> by the way, it would be great to know if our usual "install as many >>> system packages as ./configure advises >>> at the end" scheme works well on aarch64, don't stop at tachyon please. >>> >> >> Good idea, definitely. >> >> Is there an official Dockerfile for building Sage these days somewhere? >> I'm using one that I found years ago from @ebray, and all that >> advertisement about the fantastic support for system-wide packages (which I >> forgot about) is hidden behind automation. [searches...]. Yes, there is: >> >> https://github.com/sagemath/sage/blob/develop/docker/Dockerfile >> >> That's a pretty enormous Dockerfile, and I imagine it solves many >> subtle problems. A cursory glance suggests that it installs a minimal >> collection of system-wide packages. Maybe somebody should try what you >> just suggested (modify it to depend on system packages) starting with that >> Dockerfile too, to see how it goes (or as a different CI test)... >> >> William >> >> >> >> >>> >>> >>> >>>>> Just install the system tachyon package, and let ./configure do its >>>>> job. >>>>> You don't need to build it. >>>>> >>>>> >>>>>> >>>>>> gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) >>>>>> **************************************************** >>>>>> Package 'tachyon' is currently not installed >>>>>> No legacy uninstaller found for 'tachyon'; nothing to do >>>>>> >>>>>> **************************************************************************************** >>>>>> Error: Sorry, your platform isn't supported by Tachyon and/or Sage. >>>>>> Exiting... >>>>>> >>>>>> **************************************************************************************** >>>>>> >>>>>> real 0m0.013s >>>>>> user 0m0.007s >>>>>> sys 0m0.009s >>>>>> >>>>>> ************************************************************************ >>>>>> Error installing package tachyon-0.98.9.p7 >>>>>> >>>>>> ************************************************************************ >>>>>> Please email sage-devel (http://groups.google.com/group/sage-devel) >>>>>> explaining the problem and including the log files >>>>>> /usr/local/sage/logs/pkgs/tachyon-0.98.9.p7.log >>>>>> and >>>>>> /usr/local/sage/config.log >>>>>> Describe your computer, operating system, etc. >>>>>> If you want to try to fix the problem yourself, *don't* just cd to >>>>>> /usr/local/sage/local/var/tmp/sage/build/tachyon-0.98.9.p7 and type >>>>>> 'make' or whatever is appropriate. >>>>>> Instead, the following commands setup all environment variables >>>>>> correctly and load a subshell for you to debug the error: >>>>>> (cd '/usr/local/sage/local/var/tmp/sage/build/tachyon-0.98.9.p7' && >>>>>> '/usr/local/sage/sage' --buildsh) >>>>>> When you are done debugging, you can type "exit" to leave the >>>>>> subshell. >>>>>> >>>>>> ************************************************************************ >>>>>> >>>>>> On Sat, Oct 30, 2021 at 2:54 PM Samuel Lelievre <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> 2021-10-30 18:34:21 UTC, Emmanuel Charpentier: >>>>>>> > >>>>>>> > After rebuilding and reinstalling the same (really) >>>>>>> > optional packages, `ptestlong` gets exactly one >>>>>>> > (reproducible) failure, i. e. the one reported by >>>>>>> > Samuel Lelièvre. >>>>>>> > >>>>>>> > I am at loss as to why I needed to rebuild 9.5 >>>>>>> > from sratch instead of upgrading from 9.3. Ideas? >>>>>>> >>>>>>> I'm sure you mean: "why I needed to rebuild 9.5.beta5 >>>>>>> from scratch instead of upgrading from 9.5.beta3". >>>>>>> >>>>>>> Not sure why a distclean was needed in that case. >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "sage-release" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/sage-release/422c4441-dfb2-4b97-85d6-7f706a2be402n%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/sage-release/422c4441-dfb2-4b97-85d6-7f706a2be402n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> William (http://wstein.org) >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "sage-release" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/sage-release/CACLE5GBVsNZbe%2BnikwGR-uxsL8WWVSk1EzEqziR--DT-ERTs_A%40mail.gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/sage-release/CACLE5GBVsNZbe%2BnikwGR-uxsL8WWVSk1EzEqziR--DT-ERTs_A%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "sage-release" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/sage-release/CAAWYfq3FDgxH_UOcEhMY1wvbLkvEPkMhjchtPMDJ1X6YzG7DmQ%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/sage-release/CAAWYfq3FDgxH_UOcEhMY1wvbLkvEPkMhjchtPMDJ1X6YzG7DmQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> >>>> >>>> -- >>>> William (http://wstein.org) >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "sage-release" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sage-release/CACLE5GAHQpnqrfC74jimwXA-UXU4j%2BLSE98tvW2%3DyMQ%2BC05okw%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/sage-release/CACLE5GAHQpnqrfC74jimwXA-UXU4j%2BLSE98tvW2%3DyMQ%2BC05okw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "sage-release" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sage-release/CAAWYfq3HSp6ZsRqWPQBSJPQU3%3DQa1owhk4tMGpa3j5Wsqxg3zQ%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/sage-release/CAAWYfq3HSp6ZsRqWPQBSJPQU3%3DQa1owhk4tMGpa3j5Wsqxg3zQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> William (http://wstein.org) >> > > > -- > William (http://wstein.org) > -- You received this message because you are subscribed to the Google Groups "sage-release" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/9497b1ce-756a-4605-973a-cc577ea65355n%40googlegroups.com.
