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.

Reply via email to