PreTeXtBook / pretext-cli

Command line interface for quickly creating, authoring, and building PreTeXt documents.
https://pretextbook.org
GNU General Public License v3.0
17 stars 17 forks source link

Upgrade SageMath in codespace #723

Open StevenClontz opened 5 months ago

StevenClontz commented 5 months ago

In https://github.com/TeamBasedInquiryLearning/precalculus/issues/165 we hit an issue where the version 9.2 of SageMath in our codespace hits a bug when detect_poles=True, which is fixed at least in SageMath 9.7. Can we upgrade our codespace SageMath to the most recent version?

oscarlevin commented 4 months ago

This turns out to be harder than I thought. Except for Arch and Void linux, no distribution seems to offer 10.x sagemath. So that means either completely redoing the pretext-docker using one of those linux distributions, or installing sagemath from source (which apparently requires 10GB of storage space, and takes upwards of 30 minutes after you have all the build dependencies).

So how necessary is this? Or perhaps, I'd welcome a PR on https://github.com/oscarlevin/pretext-docker.

rbeezer commented 4 months ago

Well, the origin story for PreTeXt is to support placing Sage in textbooks. A local install is necessary for the "sageplot" element. And also for doctesting "sage" elements, which is an under-appreciated feature. So, it would be shame to not support these features.

A few years back, packages in distributions were unreliable.

In the plus column, building from source is usually easy and reliable.

On May 20, 2024 3:28:19 AM GMT+03:00, Oscar Levin @.***> wrote:

This turns out to be harder than I thought. Except for Arch and Void linux, no distribution seems to offer 10.x sagemath. So that means either completely redoing the pretext-docker using one of those linux distributions, or installing sagemath from source (which apparently requires 10GB of storage space, and takes upwards of 30 minutes after you have all the build dependencies).

So how necessary is this? Or perhaps, I'd welcome a PR on https://github.com/oscarlevin/pretext-docker.

siwelwerd commented 4 months ago

So how necessary is this?

From our project's perspective, I think we've managed to work around this particular bug in SageMath.

StevenClontz commented 4 months ago

@oscarlevin any chance your experimentation here pushed a change to your Docker image that causes Sage to no longer be installed?

oscarlevin commented 4 months ago

Fixed the issue with the docker image so at least the old 9.2 version gets installed now.

To get a more recent version,

  1. installing from source seems to be a no-go: codespaces run out of disk space during the build.
  2. Arch linux is a no-go: Playwright does not support Arch.
  3. Maybe working inside a Conda environment would work, although I'm not sure how to make sage available (the install directions say you need to activate with conda activate sage.
  4. Perhaps upgrading the debian version used in codespaces could bring us to 9.5.6, but that won't solve this particular bug, as far as I know.