Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#29053 closed enhancement (fixed)

Add debian/fedora/arch/conda package information to build/pkgs, generate Dockerfiles and installation help; add tox.ini

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-9.1
Component: build Keywords:
Cc: Dima Pasechnik, Erik Bray, Antonio Rojas, Isuru Fernando, Timo Kaufmann Merged in:
Authors: Matthias Koeppe Reviewers: Dima Pasechnik
Report Upstream: N/A Work issues:
Branch: 23c6334 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

https://doc.sagemath.org/html/en/installation/source.html#linux-recommended-installation gives apt-get install and yum install command lines to install system packages that will be recognized by build/pkgs/SPKG/spkg-configure.m4.

Several packages are missing, see comments in https://trac.sagemath.org/attachment/ticket/27824/Dockerfile-ubuntu-minimal

This ticket puts this information on a per-package basis into build/pkgs/SPKG/distros/debian.txt, .../fedora.txt, .../arch.txt for the following purposes:

  • sage -info SPKG prints out this information.
  • Provide a tox.ini that generates and runs Dockerfiles that test the installation on various systems. Example (running 3 builds in parallel):
       $ tox -p auto -e archlinux-latest,ubuntu-focal-minimal,debian-buster-maximal
    ⠸
    

Incidental change on this ticket:

  • Mark gfortran as a type=standard package. It is a prereq of standard package numpy. Its status as a type=optional package predates the clarifications brought by the development of the spkg-configure.m4 mechanism (#27330).

Possible follow-up and related tickets:

  • #29087 - Add a GitHub workflow that runs this automatically, with many parallel jobs.
  • Also the apt-cyg command lines at https://trac.sagemath.org/wiki/Cygwin64Port could be generated in the same way.
  • #26964: Aggregate and format it (during ./bootstrap) to produce the command lines shown in the manual. This ticket already prepares it by moving these command lines into separate .txt files.
  • #29041: at ./bootstrap time, generate src/requirements.txt, src/constraints.txt, src/setup.cfg [install_requires] from build/pkgs
  • #28745: Add SAGE_ROOT/environment.yml for conda env create -f.
  • Add to tox.ini a conda run (either with a fresh environment or fresh conda install) without docker - to test with macOS conda
  • Add to tox.ini a homebrew run (with a fresh install not in /usr/local)

Resources:

Change History (82)

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

Branch: u/mkoeppe/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time

comment:2 Changed 3 years ago by git

Commit: 3a5cfb7703396f606cea2403070db012e0c8e294

Branch pushed to git repo; I updated commit sha1. New commits:

3a5cfb7build/pkgs/*/debian.txt: Add optional packages

comment:3 Changed 3 years ago by git

Commit: 3a5cfb7703396f606cea2403070db012e0c8e29479d912e78343da940734450643695d6b860d8683

Branch pushed to git repo; I updated commit sha1. New commits:

79d912ebuild/pkgs/*/fedora.txt: New, from installation manual 9.0

comment:4 Changed 3 years ago by git

Commit: 79d912e78343da940734450643695d6b860d86838a739b101261939d7b2d5eae5086aa465b5b1c53

Branch pushed to git repo; I updated commit sha1. New commits:

8a739b1sage -info: Print info on equivalent system packages

comment:5 Changed 3 years ago by git

Commit: 8a739b101261939d7b2d5eae5086aa465b5b1c53221c3449d65d48bec25c2d10f96c9654d3289db0

Branch pushed to git repo; I updated commit sha1. New commits:

3ef64c4Document the debian.txt, fedora.txt files.
ebee631Add build/pkgs/gcc/fedora.txt
221c344Strip comments from debian.txt, fedora.txt files

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

Description: modified (diff)

comment:7 Changed 3 years ago by Dima Pasechnik

how do you generate these per package?

by the way, Arch has namewise a naming scheme close to Gentoo and Homebrew.

comment:8 in reply to:  7 Changed 3 years ago by Matthias Köppe

Replying to dimpase:

how do you generate these per package?

I created these files by manual copy-paste from the installation manual.

comment:9 Changed 3 years ago by git

Commit: 221c3449d65d48bec25c2d10f96c9654d3289db0ff4a5516324039e37a585763def9ebc3d68e503e

Branch pushed to git repo; I updated commit sha1. New commits:

46957b4tox.ini: New - test spkg-configure on ubuntu docker images
ce99fadMerge tag '9.1.beta1' into t/29053/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time
0dd2c03build/bin/sage-spkg: Reformat the install command to 1 line
b5abc8bbuild/bin/sage-spkg: fixup
97b09deMake gfortran a standard package - it is a prereq of standard package numpy
ff4a551Fix typo

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

Component: documentationbuild
Description: modified (diff)
Summary: Installation manual: Generate 'apt-get install' and 'yum install' lines from build/pkgs at ./bootstrap timeAdd debian/fedora package information to build/pkgs, generate Dockerfiles and installation help

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

Description: modified (diff)

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

Cc: Erik Bray added
Description: modified (diff)

comment:13 Changed 3 years ago by git

Commit: ff4a5516324039e37a585763def9ebc3d68e503e0c2148ee60f045564f3d90739ae674e89a7c3d85

Branch pushed to git repo; I updated commit sha1. New commits:

a472a9aAdd fedora and debian Docker tests
1a31b40src/doc/en/installation/{debian|fedora}[-optional].txt
0c2148emore envs

comment:14 Changed 3 years ago by git

Commit: 0c2148ee60f045564f3d90739ae674e89a7c3d85e38dd8ea72ec87473bb51ec818012725bf3d6110

Branch pushed to git repo; I updated commit sha1. New commits:

e38dd8esrc/doc/en/installation/source.rst: Use literalinclude

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

Status: newneeds_review

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

Authors: Matthias Koeppe

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

Description: modified (diff)
Summary: Add debian/fedora package information to build/pkgs, generate Dockerfiles and installation helpAdd debian/fedora/arch package information to build/pkgs, generate Dockerfiles and installation help

comment:18 Changed 3 years ago by git

Commit: e38dd8ea72ec87473bb51ec818012725bf3d611053273a295852da1203cb2c9999c8481d3740c209

Branch pushed to git repo; I updated commit sha1. New commits:

3f46309tox.ini: Add arch build
53273a2build/pkgs/xz/debian.txt: fixup

comment:19 Changed 3 years ago by git

Commit: 53273a295852da1203cb2c9999c8481d3740c20915fa95deb818f6bb4a735433eb0e759d40ffdbaf

Branch pushed to git repo; I updated commit sha1. New commits:

15fa95dbuild/bin/sage-spkg: Add arch to 'sage -info SPKG'

comment:20 Changed 3 years ago by git

Commit: 15fa95deb818f6bb4a735433eb0e759d40ffdbaf7a2d4114cf22bfc433a75fb002f1a87a1df32109

Branch pushed to git repo; I updated commit sha1. New commits:

7a2d411Add more arch, fedora packages; by default, do not configure with force

comment:21 Changed 3 years ago by git

Commit: 7a2d4114cf22bfc433a75fb002f1a87a1df321093c382c91651a18d05cc24cc00e6080ccf507306e

Branch pushed to git repo; I updated commit sha1. New commits:

3c382c9fixup

comment:22 Changed 3 years ago by Dima Pasechnik

Cc: Antonio Rojas added

gf2x 1.3.0 is also on Arch, so you can add it (package name gf2x). It'll work after #29081 is merged.

comment:23 Changed 3 years ago by Dima Pasechnik

You've changed build/pkgs/gfortran/type to standard - is this intentional?

comment:24 in reply to:  23 ; Changed 3 years ago by Matthias Köppe

Replying to dimpase:

You've changed build/pkgs/gfortran/type to standard - is this intentional?

Yes - it's an intended correction.

comment:25 in reply to:  24 ; Changed 3 years ago by Dima Pasechnik

Replying to mkoeppe:

Replying to dimpase:

You've changed build/pkgs/gfortran/type to standard - is this intentional?

Yes - it's an intended correction.

can this be documented - ideally both here and in the commit message?

I guess it was optional just as it predated the spkg-configure.m4 machinery, and it was not fixed then, right?

comment:26 in reply to:  25 Changed 3 years ago by Matthias Köppe

Replying to dimpase:

Replying to mkoeppe:

Replying to dimpase:

You've changed build/pkgs/gfortran/type to standard - is this intentional?

Yes - it's an intended correction.

can this be documented - ideally both here and in the commit message?

The commit message already says:

​97b09de	Make gfortran a standard package - it is a prereq of standard package numpy

I guess it was optional just as it predated the spkg-configure.m4 machinery, and it was not fixed then, right?

Yes, I agree with this theory.

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

Description: modified (diff)

I've added a comment on the ticket summary.

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

Cc: Isuru Fernando added
Description: modified (diff)

comment:29 Changed 3 years ago by Isuru Fernando

Can you use just one file? Or put them into a new folder inside?

comment:30 Changed 3 years ago by git

Commit: 3c382c91651a18d05cc24cc00e6080ccf507306e6bba0237d554692663407bc4e419e69ec8758b17

Branch pushed to git repo; I updated commit sha1. New commits:

985d036add info on cbc, gf2x, gfan, nauty
6bba023build/bin/write-dockerfile.sh: test all BLAS-using packages

comment:31 in reply to:  29 Changed 3 years ago by Matthias Köppe

Replying to isuruf:

Can you use just one file? Or put them into a new folder inside?

Good suggestion, I'll put them into a new subfolder.

I'm also looking for a good solution for distro versioning. For example, ubuntu before bionic is missing many packages

comment:32 Changed 3 years ago by git

Commit: 6bba0237d554692663407bc4e419e69ec8758b17dfd5bf6cb0c5db735aa3411b614135dcf2eddaa0

Branch pushed to git repo; I updated commit sha1. New commits:

dfd5bf6Move files into build/pkgs/SPKG/distros/debian.txt etc.

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

Description: modified (diff)

comment:34 Changed 3 years ago by Isuru Fernando

Branch: u/mkoeppe/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_timeu/isuruf/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time
Commit: dfd5bf6cb0c5db735aa3411b614135dcf2eddaa01cfa89b91b766030c361ef0e04474b7a4a639258

Added conda as well. We can generate the environment.yml from this.


New commits:

1cfa89bAdd conda.txt

comment:35 Changed 3 years ago by Isuru Fernando

There are some packages here that don't have spkg-configure.m4. Should those be removed?

comment:36 Changed 3 years ago by Isuru Fernando

Did you use a script to generate src/doc/en/installation/fedora.txt?

comment:37 in reply to:  35 Changed 3 years ago by Matthias Köppe

Replying to isuruf:

There are some packages here that don't have spkg-configure.m4. Should those be removed?

No, that's OK and good preparation for when that is added. I'll update the scripts to only use packages that do have spkg-configure.m4`.

comment:38 in reply to:  34 Changed 3 years ago by Matthias Köppe

Replying to isuruf:

Added conda as well. We can generate the environment.yml from this.


New commits:

1cfa89bAdd conda.txt

Great! Thanks very much

comment:39 in reply to:  36 Changed 3 years ago by Matthias Köppe

Replying to isuruf:

Did you use a script to generate src/doc/en/installation/fedora.txt?

No, not yet. This is only taken out from the manual. I haven't written the formatting script yet.

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

Branch: u/isuruf/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_timeu/mkoeppe/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time

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

Commit: 1cfa89b91b766030c361ef0e04474b7a4a6392580f2b16ed34c87b583bb75791a8ff843cf52af530

More changes at https://github.com/mkoeppe/sage/commits/test-29053-on-29051


New commits:

80d2f90build/pkgs/debian-bootstrap.txt: Add pkg-config
d31441eremove nonexisting fedora package
e4c2bf8build/pkgs/arch.txt: Add gcc
c55071fbuild/pkgs/debian.txt: add g++
ea04ee7build/pkgs/debian.txt: python3-minimal->python3
b4e90a0build/bin/write-dockerfile.sh: Only install a package if it has spkg-configure.m4
0f2b16ebuild/bin/sage-spkg: Explain to user what will be done with the system package

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

@isuruf: Compiling python3 on conda-forge gives me an error that looks like it's related to ffi - https://github.com/mkoeppe/sage/runs/410329852

comment:43 Changed 3 years ago by Antonio Rojas

Arch package sage-data-elliptic_curves corresponds to Sage's elliptic_curves, not to the optional database_cremona_ellcurve

comment:44 in reply to:  42 ; Changed 3 years ago by Isuru Fernando

Replying to mkoeppe:

@isuruf: Compiling python3 on conda-forge gives me an error that looks like it's related to ffi - https://github.com/mkoeppe/sage/runs/410329852

Looks like you are not activating the conda environment.

comment:45 Changed 3 years ago by git

Commit: 0f2b16ed34c87b583bb75791a8ff843cf52af530ddcac277d5f5ca60c1c9165c729a47d0e2329025

Branch pushed to git repo; I updated commit sha1. New commits:

ddcac27Squashed commit of the following:

comment:46 Changed 3 years ago by git

Commit: ddcac277d5f5ca60c1c9165c729a47d0e23290258c30f07c1a4bd4231989d8b71de48e2d94713bb4

Branch pushed to git repo; I updated commit sha1. New commits:

8c30f07Arch package sage-data-elliptic_curves corresponds to Sage's elliptic_curves, not to the optional database_cremona_ellcurve

comment:47 in reply to:  43 Changed 3 years ago by Matthias Köppe

Replying to arojas:

Arch package sage-data-elliptic_curves corresponds to Sage's elliptic_curves, not to the optional database_cremona_ellcurve

Thank you! Fixed.

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

Description: modified (diff)

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

Ready for review.

comment:50 Changed 3 years ago by git

Commit: 8c30f07c1a4bd4231989d8b71de48e2d94713bb48592e017d552ccd7944046d44bd6e74ffb601c1c

Branch pushed to git repo; I updated commit sha1. New commits:

8592e01build/pkgs/fedora.txt: Add findutils, which

comment:51 Changed 3 years ago by git

Commit: 8592e017d552ccd7944046d44bd6e74ffb601c1c2ad9a975b3fab72a39d5e0f262fe322655b0ad3c

Branch pushed to git repo; I updated commit sha1. New commits:

3d9565ffixup conda
7e59a6fbuild/bin/write-dockerfile.sh: Add commands to activate conda env
2ad9a97Merge tag '9.1.beta2' into t/29053/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time

comment:52 Changed 3 years ago by git

Commit: 2ad9a975b3fab72a39d5e0f262fe322655b0ad3c9fca2309c95314fa6c948ddddf9b63f1b4d18f8c

Branch pushed to git repo; I updated commit sha1. New commits:

9fca230add doc

comment:53 Changed 3 years ago by git

Commit: 9fca2309c95314fa6c948ddddf9b63f1b4d18f8cf6cbb8a2abd149a84d2c11bfeb38db614e6de70e

Branch pushed to git repo; I updated commit sha1. New commits:

f6cbb8aadd centos-{7,8}

comment:54 Changed 3 years ago by git

Commit: f6cbb8a2abd149a84d2c11bfeb38db614e6de70e843ca764bdbf9385aed1b69b7928b91871363ee9

Branch pushed to git repo; I updated commit sha1. New commits:

c651058on centos, IGNORE_MISSING_SYSTEM_PACKAGES=yes
98edff6Add build/pkgs/gfortran/distros/fedora.txt
843ca76build/pkgs/fedora.txt: Add python3

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

Summary: Add debian/fedora/arch package information to build/pkgs, generate Dockerfiles and installation helpAdd debian/fedora/arch/conda package information to build/pkgs, generate Dockerfiles and installation help

comment:56 in reply to:  44 ; Changed 3 years ago by Matthias Köppe

Replying to isuruf:

Replying to mkoeppe:

@isuruf: Compiling python3 on conda-forge gives me an error that looks like it's related to ffi - https://github.com/mkoeppe/sage/runs/410329852

Looks like you are not activating the conda environment.

Thank you! That helped. But now (https://github.com/mkoeppe/sage/runs/412042067), still in the python3 build, I am hitting again #29012:

Testing importing of various modules...
ctypes module imported OK
math module imported OK
hashlib module imported OK
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/sage/local/var/tmp/sage/build/python3-3.7.3.p1/src/Lib/crypt.py", line 3, in <module>
    import _crypt
ModuleNotFoundError: No module named '_crypt'
crypt module failed to import

comment:57 Changed 3 years ago by Isuru Fernando

Looks like python's setup.py doesn't find the conda compiler's sysroot. https://github.com/python/cpython/blob/v3.7.3/setup.py#L867

comment:58 Changed 3 years ago by git

Commit: 843ca764bdbf9385aed1b69b7928b91871363ee9bd6a5457b27b498115ed43171b38a129ba5de50d

Branch pushed to git repo; I updated commit sha1. New commits:

bd6a545tox.ini: Add debian stretch, put sid last

comment:59 Changed 3 years ago by git

Commit: bd6a5457b27b498115ed43171b38a129ba5de50d23c6334cf2927a4d917a27b3963471e8242d86a3

Branch pushed to git repo; I updated commit sha1. New commits:

23c6334build/pkgs/openblas/distros/arch.txt: Add lapack, cblas

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

Description: modified (diff)

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

Summary: Add debian/fedora/arch/conda package information to build/pkgs, generate Dockerfiles and installation helpAdd debian/fedora/arch/conda package information to build/pkgs, generate Dockerfiles and installation help; add tox.ini

comment:62 Changed 3 years ago by Dima Pasechnik

there are no distros/ for boost_cropped/ for some reason. (I've added these on #29100)

comment:63 Changed 3 years ago by Dima Pasechnik

looks OK to me.

comment:64 Changed 3 years ago by Dima Pasechnik

Reviewers: Dima Pasechnik
Status: needs_reviewpositive_review

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

Thank you!

comment:66 Changed 3 years ago by Dima Pasechnik

What's suprising to me is that these GH Actions don't time out, as these builds take quite a while...

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

It's quite generous - it provides 6 hours per job and up to 20 Jobs in parallel.

comment:68 Changed 3 years ago by Volker Braun

Branch: u/mkoeppe/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time23c6334cf2927a4d917a27b3963471e8242d86a3
Resolution: fixed
Status: positive_reviewclosed

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

Commit: 23c6334cf2927a4d917a27b3963471e8242d86a3
Description: modified (diff)

added follow-up ticket to the description

comment:70 Changed 3 years ago by Timo Kaufmann

Cc: Timo Kaufmann added

comment:71 Changed 3 years ago by Erik Bray

Somehow missed this in the fervor over other issues, but this kicks ass, thank you! I'll open a ticket to adding cygwin to this as well. repology.org also just recently added Cygwin.

comment:72 Changed 3 years ago by Erik Bray

One thing I might suggest is that rather than having the distro-specific commands hard-coded in sage-spkg, they could go in a text file or something, with the option to override and/or add support for other distros without having to patch sage-spkg.

That could be done in a follow-up though.

comment:73 in reply to:  71 Changed 3 years ago by Dima Pasechnik

Replying to embray:

Somehow missed this in the fervor over other issues, but this kicks ass, thank you! I'll open a ticket to adding cygwin to this as well. repology.org also just recently added Cygwin.

see, mkoeppe practically buried me under his tickets, and then came you with #29118 :P

comment:74 in reply to:  71 Changed 3 years ago by Matthias Köppe

Replying to embray:

I'll open a ticket to adding cygwin to this as well. repology.org also just recently added Cygwin.

The cygwin ticket is #29106 (Add cygwin package information). It would be great if also corresponding CI scripts could be added, to help elevate the cygwin platform to a first class target for sage.

comment:75 in reply to:  72 Changed 3 years ago by Matthias Köppe

Replying to embray:

One thing I might suggest is that rather than having the distro-specific commands hard-coded in sage-spkg, they could go in a text file or something, with the option to override and/or add support for other distros without having to patch sage-spkg.

That could be done in a follow-up though.

Thanks, I have added this suggestion to #29146, which already has a number of ideas for improvements.

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

Branch: 23c6334cf2927a4d917a27b3963471e8242d86a3u/mkoeppe/23c6334cf2927a4d917a27b3963471e8242d86a3

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

Branch: u/mkoeppe/23c6334cf2927a4d917a27b3963471e8242d86a323c6334cf2927a4d917a27b3963471e8242d86a3

(sorry, pushed to the wrong ticket by accident)

comment:78 Changed 3 years ago by François Bissey

Somehow in recent merges I experienced failure to build the documentation in sage-on-gentoo. It seems the literalinclude are causing me trouble.

[installat] The HTML pages are in ../../build_doc/html/en/installation.
Error building the documentation.
Traceback (most recent call last):
  File "sage_setup/docbuild/__main__.py", line 2, in <module>
    main()
  File "/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/sage_setup/docbuild/__init__.py", line 1720, in main
    builder()
  File "/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/sage_setup/docbuild/__init__.py", line 336, in _wrapper
    build_many(build_other_doc, L)
  File "/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/sage_setup/docbuild/__init__.py", line 280, in build_many
    _build_many(target, args, processes=NUM_THREADS)
  File "/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/sage_setup/docbuild/utils.py", line 283, in build_many
    raise worker_exc.original_exception
OSError: /dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/doc/en/installation/source.rst:228: WARNING: Include file '/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/doc/en/installation/debian.txt' not found or reading it failed

I am thinking of removing the installation instruction from sage-on-gentoo but I am curious at what could have caused this. Especially when you consider that it started happening sometime after this ticket was merged. My last successful build of volker's branch is dated 20th of February and would corresponding to the first merging attempt of #21785.

comment:79 in reply to:  78 Changed 3 years ago by Matthias Köppe

Replying to fbissey:

Somehow in recent merges I experienced failure to build the documentation in sage-on-gentoo. It seems the literalinclude are causing me trouble.

[installat] The HTML pages are in ../../build_doc/html/en/installation.
Error building the documentation.
...
OSError: /dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/doc/en/installation/source.rst:228: WARNING: Include file '/dev/shm/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/doc/en/installation/debian.txt' not found or reading it failed

Yes, as of #26964, these files are being generated by bootstrap and are not sources in the git tree any more.

Distributors should build either from a bootstrapped source tree or from a sagelib sdist (see ticket #21516 - Fix sagelib sdist (src/setup.py sdist); which needs help).

I am thinking of removing the installation instruction from sage-on-gentoo

Yes, there's no point in shipping the installation manual with a distribution package.

comment:80 Changed 3 years ago by François Bissey

I see, a sagelib sdist is a good development as it makes it more like a regular python package I guess. But right now I am missing the ability to build sagelib directly from git head. Thanks for explanation.

comment:81 Changed 3 years ago by Dima Pasechnik

This has missed build/pkgs/r/ from #28884. I've opened #29273 to deal with it.

comment:82 in reply to:  56 Changed 3 years ago by Isuru Fernando

Replying to mkoeppe:

Replying to isuruf:

Replying to mkoeppe:

@isuruf: Compiling python3 on conda-forge gives me an error that looks like it's related to ffi - https://github.com/mkoeppe/sage/runs/410329852

Looks like you are not activating the conda environment.

Thank you! That helped. But now (https://github.com/mkoeppe/sage/runs/412042067), still in the python3 build, I am hitting again #29012:

Testing importing of various modules...
ctypes module imported OK
math module imported OK
hashlib module imported OK
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/sage/local/var/tmp/sage/build/python3-3.7.3.p1/src/Lib/crypt.py", line 3, in <module>
    import _crypt
ModuleNotFoundError: No module named '_crypt'
crypt module failed to import

This patch might help https://github.com/conda-forge/python-feedstock/blob/master/recipe/patches/0014-Fix-cross-compilation-on-Debian-based-distros.patch

Note: See TracTickets for help on using tickets.