Differences between revisions 181 and 513 (spanning 332 versions)
Revision 181 as of 2015-05-31 09:13:09
Size: 12261
Editor: ?TobiasHansen
Comment: add flask_oldsessions to list of sagenb dependencies
Revision 513 as of 2019-01-22 08:48:46
Size: 9855
Editor: Infinity0
Comment: ipywidgets and jupyter-notebook RC bugs fixed
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Some people within [[DebianScience]] would like to package again Sage for Debian. An old version of Sage got packaged long time ago by Tim Abbott, but, because of lack of maintainance, it became totally unusable and was removed from Debian. The status pages ([[http://people.debian.org/~thansen/debian-sage-status.html|master branch]], [[http://people.debian.org/~thansen/debian-sage-dev-status.html|develop branch]]) give an overview about package versions in Sage and Debian. If you want to help out, pick one of the open tasks or issues below and get going. Or contact us via the [[http://lists.debian.org/debian-science/|mailing list]] or in #debian-science on irc.oftc.net. Some people within [[DebianScience]] have again packaged [[https://packages.debian.org/source/sid/sagemath|Sage for Debian]]. This is one of the most complex packages in Debian and will need continual maintenance - we are always looking for new contributors! If you want to help out, read below to learn how to build the package from source, then pick one of the [[#Open_tasks|open tasks]] and get going. You can contact us via the [[https://lists.alioth.debian.org/mailman/listinfo/debian-science-sagemath|mailing list]] or in #debian-science on irc.oftc.net.
Line 3: Line 3:
= Steps to get an up-to-date Sage standard suite in Debian = <<TableOfContents()>>

= Build from source =

Our packages in the Debian official archives should be buildable using the [[https://www.debian.org/doc/manuals/maint-guide/build.en.html|normal Debian build processes]]. This is for users that wish to build from source, as well as build bots.

For maintainers, our development workflow is to build from [[https://salsa.debian.org/science-team/sagemath|our git repository]]. Important elements are the build dependencies of Sage, patches for Sage and a script called "pruner" that uses autoconf to determine if the necessary packages are installed.

||{{{git clone --recursive https://salsa.debian.org/science-team/sagemath.git && cd sagemath}}}|| Recursive git clone to also get sage which is included as a git submodule.||

To work with this repository, you must start with '''Debian unstable''' (sid) with [[DebianExperimental|experimental]] sources enabled. It is nice - optional, but highly recommended - to do this in an schroot, which you can set up using the instructions in [[sbuild]], after which you'll probably need to apply the following workarounds: <<FootNote(If your build fails with "Permission denied", try adding the following line to `/etc/schroot/sbuild/fstab`: __`tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0`__ - more details [[https://falstaff.agner.ch/2013/10/29/setting-up-schroot-for-python-multiprocessing/|here]])>>. <<FootNote(If your build fails with "out of pty devices", log into the chroot using __`sudo sbuild-shell source:${chroot_name}`__ then run __`rm /dev/ptmx && mknod -m 666 /dev/ptmx c 5 2`__ - more details in DebianBug:817236.)>>. Next, see `debian/README.source` section "Local system patches", for any workarounds you might have to apply. Then:

||{{{debian/rules build-dep-maint}}}|| Install packages that are required before installing the build dependencies. ||

To build the package, run:

||{{{debian/rules build-dep}}}|| Install build dependencies; you may need to run `apt-get -f install` afterwards. If this fails, install `aptitude` then try it again. ||
||{{{debian/rules reset}}}|| Apply patches and force-reset the upstream sage submodule. ||
||{{{debian/rules prune}}} || Run the pruner script. Check that the output matches the one below. ||
||{{{debian/rules build}}} || Build sage and run the test suite. ||
||{{{fakeroot debian/rules binary}}} || Build the Debian packages. ||

The output of the pruner tells you in the end which dependencies were not found on the machine ("__`XXX will not come from Debian`__").
Since all dependencies should come from Debian, such a line normally indicates that something went wrong. The pruner should only output __`XXX system packages will be used`__.
Otherwise, if you are sure that you want to try this, you could go on nevertheless. Sage will then try to download and build the missing dependencies in the build step, before Sage itself is built.

See `debian/README.source` for further details, such as how to debug the failing doctests. We allow a cetain number of tests to fail, it's always good to lower the number of failing tests.<<FootNote(It's perhaps "not worth it" for us to lower it to 0, since the final 20 or so are not "hard" errors but are uninteresting differences like different but equivalent symbolic mathematical expressions or slightly different random number algorithms; these are generally caused by different versions of dependencies in Debian. "Fixing" them would simply involve patching Debian's Sage to expect different values. This is good for documentation purposes but you may also decide that your time is better spent doing other, more important, tasks.)>>

Once you are happy with the full build process, you can try a test release build:

||{{{debian/rules release-experimental}}} || Build using [[sbuild]], with experimental sources enabled. ||

= Open tasks =

The status pages ([[http://people.debian.org/~thansen/debian-sage-status.html|master]], [[http://people.debian.org/~thansen/debian-sage-dev-status.html|develop]]) give an overview about package versions in Sage and Debian. Current high-priority tasks are:

 1. Deal with RC bugs in sagemath and its dependencies (see [[https://tracker.debian.org/teams/debian-sagemath/|tracker]]).
 1. Get the number of failed doctests down (see [[http://people.debian.org/~thansen/sage-test-status.html|unstable]], [[http://people.debian.org/~thansen/sage-test-status-experimental.html|experimental]]).
 1. Upstream patches that are suitable for upstream (see [[https://salsa.debian.org/science-team/sagemath/blob/experimental/debian/patches/series|series]]).
 1. Package new sagemath versions and dependencies in experimental, upload everything to unstable together.

See `debian/TODO` for more tasks and more details.

== Buster roadmap ==

The buster freeze [[https://release.debian.org/buster/freeze_policy.html|is approaching]]. Right now sagemath is on track to hopefully migrate to buster on January 22. After that we can still improve the package if we upload at least 5 days before the soft freeze on February 12. Please test the sagemath package!

Things that should be looked at until the beginning of February:

 * Fix build on mipsel and mips64el.
 * Fix `sage/matrix/matrix_double_dense.pyx # Testing error: no result` when testing in parallel. (This causes tests to be rerun.)
 * Figure out why installing gap-io causes many test failures.
 * Fix linking issues with `ld --as-needed`: DebianBug:919573
 * Apply gap patch: DebianBug:919679
 * Fix numpy deprecation warnings from matplotlib: DebianBug:918819

= Updating Sage in Debian =

Every version of Sage is tested upstream with a specific version of each dependency (see our status pages). It is not always possible to provide the same versions of all dependencies in Debian. It is however advisable to follow the versions as closely as possible, especially for specialized math packages, which tend to have less stable interfaces than general purpose libraries.

This means that each update of the package '''sagemath''' comes together with a bunch of updates of other packages. As some of these updates could break the previous sagemath version in unstable, many of these updates should first be uploaded to Debian experimental. The new version of Sage will then be uploaded to experimental as well.

Once the new Sage version has been tested in experimental and is considered ready for unstable, the batch of package updates for this version is migrated from Debian experimental to unstable. This should be coordinated and not take too long, to avoid having a broken '''sagemath''' package in unstable for a long time.

== Testing migration ==

In order to have a working '''sagemath''' package in Debian testing at all times, the whole batch of package updates for a new Sage version needs to migrate to testing together. To this end, the dependencies should declare
{{{
Breaks: sagemath (<< x.y~)
}}}
(where x.y is the new Sage version)
for at least one binary package on which the binary package '''sagemath''' depends.
An exception to this are libraries with a soname jump (if sagemath depends only on the library package). In this case, the new version of the library may migrate to testing before sagemath, because the old library package will be kept around until it is not used anymore.
Line 6: Line 78:
== Satisfying dependencies that are not yet in Debian unstable == = Links =
Line 8: Line 80:
When building Sage against Debian packages as described below,
there are still dependencies that cannot yet be satisfied with packages from Debian unstable. This changes frequently. For now the following packages should be installed from git:
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/cddlib.git;a=summary|cddlib]]
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/rubiks.git;a=summary|rubiks]]
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/sagenb.git;a=summary|sagenb]]
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/singular.git;a=summary|singular]] (use the tag debian/3-1-6+dfsg-1, Sage will use its own singular but this is needed anyway)

maxima and pari need larger modifications and should be installed from these git repositories. They exist to make experimenting with Sage easier and will not be uploaded to Debian in this form:
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/maxima-sage.git;a=summary|maxima-sage]] (see DebianBug:779804)
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/pari-sage.git;a=summary|pari-sage]]

After installing this version of pari, eclib and lcalc have to be rebuilt against the new version:
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/eclib.git;a=summary|eclib]] (beware of DebianBug:786613)
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/lcalc.git;a=summary|lcalc]] (use the branch pari-2.8)

Furthermore one has to rebuild the Debian package of cython 0.22 with patches from sage:

 * [[https://packages.qa.debian.org/c/cython.html|cython]] with embedsignatures.patch and includes.patch from [[http://git.sagemath.org/sage.git/tree/build/pkgs/cython/patches?id=ad3170e29e719419a850a628df130aef5bf17699|here]]

ECL has to be patched to fix a doctest. (We have to check if this patch is still needed with ECL 15):
 * [[https://packages.qa.debian.org/e/ecl.html|ecl]] with the workaround described in DebianBug:777473

With these changes the compilation of Sage 6.7 finishes, but building the documentation fails due to our outdated ipython version. To get around this one can uninstall the ipython Debian package. Then Sage will build and use its own version.

== Building Sage with Debian packages ==

We have a git repository ([[http://anonscm.debian.org/gitweb/?p=debian-science/packages/sagemath.git;a=summary|sagemath]]) to document the steps we currently do to experiment with building Sage against Debian packages. Important elements are the build dependencies of Sage, patches for Sage and a script called "pruner" that uses automake to determine if the necessary packages are installed (see also [[https://lists.debian.org/debian-science/2015/02/msg00024.html|this mail]]).

It is recommended to do these steps one by one:

||{{{git clone --recursive url/to/sagemath.git}}}|| Recursive git clone to also get sage which is included as a git submodule.||
||{{{sudo mk-build-deps --install debian/control}}}|| Install build dependencies that are in unstable (requires Debian unstable). ||
||{{{quilt push -a}}} || Apply patches to Sage. ||
||{{{debian/rules prune}}} || Run the pruner script. ||
||{{{debian/rules build}}} || Build sage and run the test suite (includes pruning if necessary, but not patching). ||

The output of the pruner tells you in the end which dependencies were not found on the machine. These will be downloaded and built in the build step, before Sage itself is built. In the moment the pruner should output something like the following, and it is for now recommended to use these three packages from Sage.
{{{
libgap will not come from debian!
singular will not come from debian!
jmol will not come from debian!
100 system packages will be used
}}}

The following commands clean everything up properly.
||{{{debian/rules clean}}}||Clean up after prune and build.||
||{{{quilt pop -a}}}||Unapply patches.||
||{{{cd sage && git clean -dfx}}}||Clean sage folder (git does not show untracked files from the built due to .gitignore).||
||{{{rm -rf ~/.local/lib/python2.7/site-packages/sage*}}}||Remove sage python library that is installed during the build process.||

== Open tasks ==


||<tablestyle="border:1pt solid"> '''Package''' ||<style="width: 70pt"> '''Bug / Link''' || '''Assigned''' ||'''Comments''' ||
||<-4 style="border-top:1pt solid; border-bottom:1pt solid"> '''Packages that need a new maintainer and an upload to Debian:''' ||
|| jmol || || || There is a request for help, see DebianBug:719330 ||
|| libgap || || || Can maybe be replaced by a wrapper for GAP. ||
|| pexpect-2.0 || || || (Debian pkg: python-pexpect): Debian ships version 2.4, but Sage requires version 2.0 (though one of the necessary patches is already in 2.4). Plotting in the notebook is likely to break with newer versions that are in Debian; and >2.0 is reported to be slow. There is a new upstream version so Sage might update, see [[http://trac.sagemath.org/sage_trac/ticket/10295|this sage bug]]. ||
|| [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/singular.git;a=summary|singular]] || [[https://packages.qa.debian.org/s/singular.html|PTS]] || || singular 3.1.6 is packaged in debian-science's git and Sage >= 6.2 has also 3.1.6; a package for singular 4.0.1 is in the NEW queue, see DebianBug:764475. ||
||<-4 style="border-top:1pt solid; border-bottom:1pt solid"> '''Sage components that need a new maintainer and an upload to Debian:''' ||
|| [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/sagenb.git;a=summary|sagenb]] || || || most dependencies are in Debian now (DebianBug:691509, DebianBug:703541, DebianBug:703531, DebianBug:703533, DebianBug:703534, DebianBug:703535, DebianBug:703536, DebianBug:787311) ||
|| sagetex || || || ||
||<-4 style="border-top:1pt solid; border-bottom:1pt solid"> '''Softwares that need to be packaged:''' ||
|| 4ti2 || || || Singular 4 depends on [[http://www.4ti2.de/|4ti2]]; a package is in the NEW queue, see DebianBug:769997 ||
|| normaliz || || || Singular 4 depends on [[http://www.home.uni-osnabrueck.de/wbruns/normaliz/|normaliz]]; a package is in the NEW queue, see DebianBug:776019 ||
|| surf-alggeo || || || Singular 4 depends on [[http://surf.sourceforge.net/|surf]]; a package is in the NEW queue, see DebianBug:777132 ||
||<-4 style="border-top:1pt solid; border-bottom:1pt solid"> '''Packages that are (hopefully) not needed:''' ||
|| cephes || || || The Cephes Mathematical Library is only needed for systems where the libc doesn't provide appropriate mathematical functions (cygwin and FreeBSD) and so is not required for Debian.||
|| iconv || || || is part of the libc ||
|| [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/mpir.git;a=summary|mpir]] || DebianBug:708391 || || mpir is supposed to be ABI-compatible with [[http://packages.qa.debian.org/g/gmp.html|gmp]]. A lot of math packages use gmp and we hope we can have a purely gmp based Sage in Debian. Combining the two will most likely lead to conflicts, using mpir we would need an extra mpir version of many packages. ||

















== Other known or suspected issues ==

 * ECL has a strange bug in debian (see DebianBug:777473).
 * sage expects to use both ecl and maxima, together, but maxima in debian is using gcl and has no support for ecl ; Snark has fixes for that, but some things (like the above ECL problem) need to clear out before they can be pushed in debian. (see DebianBug:779804)
 * pari in sage's latest has a patch and uses a header file which aren't in the debian package, so one currently needs to modify a few things by hand to get going (see DebianBug:777237)


== Information bits that are no issues ==

 * Sage upstream would like to get rid of flintqs since some recent versions of flint ship with a quadratic sieve (see [[http://trac.sagemath.org/sage_trac/ticket/11792|this ticket]], but it hasn't been done yet). This [[https://groups.google.com/d/msg/flint-devel/lmRdEPV6el8/JNbZ4eTy_n0J|mail of William Hart]] tells more about the state of the quadratic sieve code in both flint and flint2. flintqs was uploaded to Debian for the meantime (but blocked in unstable).


== New build system for Sage (the distribution) ==

this is slightly out of date, also, Sage (the community) is not interested in using packages that another distribution provides.

The Sage library is getting an autotools build system in the course of a [[SummerOfCode2013/Projects#Get_Sage_ready_for_Debian|Google Summer of Code project]]. With the new build system, it can be built against system libraries.
There are tarballs with the code at [[http://tool.em.cs.uni-frankfurt.de/~felix/sage/]]. (There is also a [[https://github.com/felix-salfelder/sage/tree/WIP512|git repository]] but the tarballs are recommended). Note that this is work in progress and problems are expected, but we are happy about testers. The transition of this work into Sage is coordinated via a bunch of [[http://trac.sagemath.org/query?reporter=felixs|Sage tickets]]. We have a Debian package [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/sagelib.git;a=summary|sagelib]] that currently builds metapackages that help installing the build dependencies of Sage. To test building Sage against Debian packages, one should consult the [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/sagelib.git;a=blob;f=debian/control|control file]]. The dependencies of the metapackage sagelib-builddeps-git still need special treatment and can't be just installed from Debian.

The following Debian packages should be installed from the git repositories:
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/sagenb.git;a=summary|sagenb]]
 * [[http://anonscm.debian.org/gitweb/?p=debian-science/packages/singular.git;a=summary|singular]] (branch master-3-1-5, build with DEB_BUILD_OPTIONS=nodoc)

For the remaining packages where the Debian package is missing or is missing features required by Sage, it is currently most convenient to use the versions from Sage. This is done by configuring with

{{{
../configure \
--disable-all \
--enable-{boehm_gc,cython,ecl,flintqs,genus2reduction,maxima,pari,pexpect,pynac,rubiks,sagelib,sagetex,tachyon} \
--with-gmp
}}}

== New build system for Sage (the library) ==

There is some work in progress trying to make sagelib work on top of any software distribution. we use autotools to sort out dependencies, run time paths and provide standard build/installation routines. unlike the first approach, this is heading towards a fork and will likely not play well with the current upstream development process. Experimental tarballs are available at [[http://tool.em.cs.uni-frankfurt.de/~felix/sagelib/]], there is no public git repo yet.


== Old sagemath package ==

The old, buggy sagemath Debian package source code is available at http://snapshot.debian.org/package/sagemath/3.0.5dfsg-5.1/

== Links ==
Line 139: Line 82:
 * [[http://wiki.debian.org/JulienPuydt|Graph of dependencies between Sage packages]]
 * [[http://fedoraproject.org/wiki/SIGs/SciTech/SAGE|Sage in Fedora]]
 * [[http://people.debian.org/~thansen/debian-sage-7.4-status.html|Sage 7.4 in Debian status page]]
 * [[http://people.debian.org/~thansen/sage-test-status.html|Overview over failed doctests in Debian unstable]]
 * [[http://people.debian.org/~thansen/sage-test-status-experimental.html|Overview over failed doctests in Debian experimental]]
 * [[https://salsa.debian.org/science-team/sagemath|Our sagemath git repo]]
 * [[https://lists.alioth.debian.org/mailman/listinfo/debian-science-sagemath|Our mailing list]]
 * [[https://tracker.debian.org/teams/debian-sagemath/|Our team on tracker.debian.org]]

Sage out of Debian:

 * [[http://fedoraproject.org/wiki/SIGs/SciTech/SAGE|Sage in Fedora]] ([[https://apps.fedoraproject.org/packages/sagemath/sources|patches]])
 * [[https://wiki.archlinux.org/index.php/SageMath|Sage in Arch Linux]] ([[https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath|patches]])
 * [[https://github.com/cschwan/sage-on-gentoo/tree/master/sci-mathematics/sage/files|Sage-on-Gentoo patches]]
 * [[https://trac.sagemath.org/query?summary=~upgrade&desc=1&order=status|List of planned package upgrades in the SageMath Trac]]

Historical information:

 * [[https://lists.debian.org/debian-science/2015/02/msg00024.html|E-mail]] announcing the pruner script.
 * [[http://wiki.debian.org/JulienPuydt|Graph of dependencies between Sage 5.2 packages]]
 * Sage [[http://snapshot.debian.org/package/sagemath/|3.0.5]] got packaged long time ago by Tim Abbott, but, because of lack of maintainance, it became totally unusable and was [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=573538|removed]] from Debian.

Some people within DebianScience have again packaged Sage for Debian. This is one of the most complex packages in Debian and will need continual maintenance - we are always looking for new contributors! If you want to help out, read below to learn how to build the package from source, then pick one of the open tasks and get going. You can contact us via the mailing list or in #debian-science on irc.oftc.net.

Build from source

Our packages in the Debian official archives should be buildable using the normal Debian build processes. This is for users that wish to build from source, as well as build bots.

For maintainers, our development workflow is to build from our git repository. Important elements are the build dependencies of Sage, patches for Sage and a script called "pruner" that uses autoconf to determine if the necessary packages are installed.

git clone --recursive https://salsa.debian.org/science-team/sagemath.git && cd sagemath

Recursive git clone to also get sage which is included as a git submodule.

To work with this repository, you must start with Debian unstable (sid) with experimental sources enabled. It is nice - optional, but highly recommended - to do this in an schroot, which you can set up using the instructions in sbuild, after which you'll probably need to apply the following workarounds: 1. 2. Next, see debian/README.source section "Local system patches", for any workarounds you might have to apply. Then:

debian/rules build-dep-maint

Install packages that are required before installing the build dependencies.

To build the package, run:

debian/rules build-dep

Install build dependencies; you may need to run apt-get -f install afterwards. If this fails, install aptitude then try it again.

debian/rules reset

Apply patches and force-reset the upstream sage submodule.

debian/rules prune

Run the pruner script. Check that the output matches the one below.

debian/rules build

Build sage and run the test suite.

fakeroot debian/rules binary

Build the Debian packages.

The output of the pruner tells you in the end which dependencies were not found on the machine ("XXX will not come from Debian"). Since all dependencies should come from Debian, such a line normally indicates that something went wrong. The pruner should only output XXX system packages will be used. Otherwise, if you are sure that you want to try this, you could go on nevertheless. Sage will then try to download and build the missing dependencies in the build step, before Sage itself is built.

See debian/README.source for further details, such as how to debug the failing doctests. We allow a cetain number of tests to fail, it's always good to lower the number of failing tests.3

Once you are happy with the full build process, you can try a test release build:

debian/rules release-experimental

Build using sbuild, with experimental sources enabled.

Open tasks

The status pages (master, develop) give an overview about package versions in Sage and Debian. Current high-priority tasks are:

  1. Deal with RC bugs in sagemath and its dependencies (see tracker).

  2. Get the number of failed doctests down (see unstable, experimental).

  3. Upstream patches that are suitable for upstream (see series).

  4. Package new sagemath versions and dependencies in experimental, upload everything to unstable together.

See debian/TODO for more tasks and more details.

Buster roadmap

The buster freeze is approaching. Right now sagemath is on track to hopefully migrate to buster on January 22. After that we can still improve the package if we upload at least 5 days before the soft freeze on February 12. Please test the sagemath package!

Things that should be looked at until the beginning of February:

  • Fix build on mipsel and mips64el.
  • Fix sage/matrix/matrix_double_dense.pyx  # Testing error: no result when testing in parallel. (This causes tests to be rerun.)

  • Figure out why installing gap-io causes many test failures.
  • Fix linking issues with ld --as-needed: 919573

  • Apply gap patch: 919679

  • Fix numpy deprecation warnings from matplotlib: 918819

Updating Sage in Debian

Every version of Sage is tested upstream with a specific version of each dependency (see our status pages). It is not always possible to provide the same versions of all dependencies in Debian. It is however advisable to follow the versions as closely as possible, especially for specialized math packages, which tend to have less stable interfaces than general purpose libraries.

This means that each update of the package sagemath comes together with a bunch of updates of other packages. As some of these updates could break the previous sagemath version in unstable, many of these updates should first be uploaded to Debian experimental. The new version of Sage will then be uploaded to experimental as well.

Once the new Sage version has been tested in experimental and is considered ready for unstable, the batch of package updates for this version is migrated from Debian experimental to unstable. This should be coordinated and not take too long, to avoid having a broken sagemath package in unstable for a long time.

Testing migration

In order to have a working sagemath package in Debian testing at all times, the whole batch of package updates for a new Sage version needs to migrate to testing together. To this end, the dependencies should declare

Breaks: sagemath (<< x.y~)

(where x.y is the new Sage version) for at least one binary package on which the binary package sagemath depends. An exception to this are libraries with a soname jump (if sagemath depends only on the library package). In this case, the new version of the library may migrate to testing before sagemath, because the old library package will be kept around until it is not used anymore.

Links

Sage out of Debian:

Historical information:

  1. If your build fails with "Permission denied", try adding the following line to /etc/schroot/sbuild/fstab: tmpfs  /dev/shm  tmpfs  rw,nosuid,nodev  0  0 - more details here (1)

  2. If your build fails with "out of pty devices", log into the chroot using sudo sbuild-shell source:${chroot_name} then run rm /dev/ptmx && mknod -m 666 /dev/ptmx c 5 2 - more details in 817236. (2)

  3. It's perhaps "not worth it" for us to lower it to 0, since the final 20 or so are not "hard" errors but are uninteresting differences like different but equivalent symbolic mathematical expressions or slightly different random number algorithms; these are generally caused by different versions of dependencies in Debian. "Fixing" them would simply involve patching Debian's Sage to expect different values. This is good for documentation purposes but you may also decide that your time is better spent doing other, more important, tasks. (3)