Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

Maybe include some "optional" packages by default #14

Open
5 of 11 tasks
embray opened this issue Jan 5, 2018 · 28 comments
Open
5 of 11 tasks

Maybe include some "optional" packages by default #14

embray opened this issue Jan 5, 2018 · 28 comments

Comments

@embray
Copy link
Contributor

embray commented Jan 5, 2018

Until there's a better resolution to the issue of installing optional packages, which is still tricky to get right in all cases, maybe it would be good to include a few of them by default, as long as they're not too large (the real problem is just with large optional packages).

This can be a place to collect a list of optional packages that might be good to include by default in the installer. A few I know:

  • fricas (because I've been explicitly asked to fix its support in Cygwin before)
  • latte_int (someone on ask.sagemath.org was trying to install it)
  • qepcad
  • beautifulsoup
  • sagetex

Notes on support for various optional packages on Windows:

  • 4ti2 - installs successfully with sage -i, some tests fail: https://trac.sagemath.org/ticket/29193
  • bliss - now comes pre-installed
  • coxeter3 - now comes pre-installed
  • cryptominisat - fails at configure time; no fix yet
  • fes - doesn't even have a new-style SPKG yet so no idea if anyone uses this or if it works
  • mcqd - now comes pre-installed
  • meataxe - fails at link time; no fix yet: https://trac.sagemath.org/ticket/29152
  • primecount - now comes pre-installed
  • rst2ipynb - pure Python, but depends on pandoc which is not packaged for Cygwin (nor is Haskell which pandoc uses), so this might be a problem without at a minimum adding SPKGs for these as well...
  • sirocco - doesn't build yet, but has pending fix https://trac.sagemath.org/ticket/29149
  • tdlib - now comes pre-installed
@embray
Copy link
Contributor Author

embray commented Jan 5, 2018

  • fricas builds but has some test failures--it seems to have some of the same failures on Linux too though
  • latte_int fails to build on Cygwin; will have to investigate

@EmmanuelCharpentier
Copy link

For a long time, the installation ocs recommended the installation of database_gap ; however, they deemed it problematic for licensing reasons (I never got any firm advice about this one).

Fricas has indeed some points to it. It is supposed to find any real integral expressible in terms of elementary functions (it doesn't now, but I suspect that its interface is perfectible...).

@nilqed
Copy link

nilqed commented Jan 21, 2018 via email

@embray
Copy link
Contributor Author

embray commented Jan 22, 2018

Per Thierry,

Beyond those considerations, personally, my choices would be,
in a vaguely decreasing order (but this is all very subjective):

  • rst2ipynb
  • cryptominisat
  • cbc
  • latte_int
  • polymake
  • (py)-normaliz
  • gdb
  • d3js, threejs (in order not to leak)
  • fricas
  • qepcad
  • ore_algebra
  • dot2tex

@embray
Copy link
Contributor Author

embray commented Jan 22, 2018

@nilqed

So, using the Sage installer on Windows would
provide Windows users besides sage with a 64-bit fricas as well (I'm using it
frequently, with sixel graphics ;)

Funny you should mention that--I've been meaning to make a sixel display formatter for Sage--i.e. so that plots and such can be displayed directly in the terminal. This would be especially nice on Windows I think. I raised the issue in sage-devel a while back and nobody seemed interested though so I put it down on the TODO list.

The trickiest aspect is that there's no easy way to determine whether or not the user's terminal supports it, but at the very least it could be enabled upon request.

@embray
Copy link
Contributor Author

embray commented Jan 22, 2018

@nilqed

How did you get fricas working? Find my ordeal below

IIRC sage -i fricas works fine on Sage in Cygwin.

@nilqed
Copy link

nilqed commented Jan 22, 2018 via email

@nilqed
Copy link

nilqed commented Jan 22, 2018 via email

@slel
Copy link
Member

slel commented Jan 26, 2018

Please consider adding BeautifulSoup or beautifulsoup4.
This is needed to convert legacy .sws Sage worksheets
to Jupyter notebook worksheets using sws2rst and rst2ipynb.

@slel
Copy link
Member

slel commented Feb 14, 2018

Another vote for qepcad from this Ask Sage question:

@slel
Copy link
Member

slel commented Feb 15, 2018

A vote for ImageMagick from this Ask Sage question:

@slel
Copy link
Member

slel commented Feb 16, 2018

Could JupyterLab come pip-installed by default?

@vit-tucek
Copy link

I vote for dot2tex but that only makes sense only if Poset.show() produces nice pictures. It does so by calling respectively graphviz -> dot2tex -> pdflatex. Not sure which of these are already included and/or part of the dot2tex package.

@yunlhan
Copy link

yunlhan commented May 12, 2018

Hello, I just installed sage 8.2 (windows) and tried to install database_gap but it was not successful. What I did was

  • navigate to /cygdrive/c/Program Files/SageMath 8.2/runtime/opt/sagemath-8.2 using Cygwin 64 terminal.
  • issue ./sage -i database_gap.

I got an error make: *** No rule to make target 'all-toolchain'. Stop. Any ideas how to install an optional package?

Thanks.

@embray
Copy link
Contributor Author

embray commented Jul 18, 2018

A vote for ImageMagick from this Ask Sage question

I don't think imagemagick is a sage spkg at all. Nothing is stopping them from installing additional cygwin packages, though it will help if user installs are possible (which they will be in the next release).

@newptcai
Copy link

newptcai commented Dec 6, 2019

It seems to take quite a long time to compile qepcad. So ti would be great to have it as part of sage.

@newptcai
Copy link

Install fricas also takes hours on my old laptop.

@slel
Copy link
Member

slel commented Feb 2, 2020

Another vote for 4ti2 and latte_int from this sage-devel discussion:

@embray
Copy link
Contributor Author

embray commented Feb 3, 2020

In the meantime I'm working (probably before the end of this week) to fix issue #34 so that sage -i will work again for optional packages.

@embray
Copy link
Contributor Author

embray commented Feb 13, 2020

In the newest release I've included the following optional packages installed by default:

  • bliss
  • coxeter3
  • mcqd
  • primecount
  • tdlib

Although these are mostly not packages that people have suggested in this issue, this particular set was chosen because sagelib has optional C extensions that depend on them. Thus, by pre-installing these packages, the sage optional extensions that depend on them are also built and work. In particular, these packages also build correctly on Cygwin, and the tests in Sage that use them all pass. Currently missing from this list are sirocco, meataxe, and fes which do not yet meet those criteria.

Other optional packages are as far as I know not build dependencies for sagelib, so if they are installed later they can still be used by Sage without rebuilding it. I've added a few partial workarounds for #34, so manually installing additional optional packages should work again (e.g. I confirmed that sage -i 4ti2 works).

@slel
Copy link
Member

slel commented Jul 25, 2020

@slel
Copy link
Member

slel commented Dec 7, 2020

This might count as another vote for including fricas:

@sandyscott
Copy link

I'll vote for jupyterlab_widgets as the lack of it motivated me to install it from source in WSL.

@slel
Copy link
Member

slel commented Dec 31, 2020

Last year there was a question on Ask Sage about installing pygraphviz.

@slel
Copy link
Member

slel commented Mar 27, 2021

Related: failure to install plantri in a Sage-Windows installation:
https://ask.sagemath.org/question/56405

@slel
Copy link
Member

slel commented Mar 29, 2021

Interest in the gambit package

@slel
Copy link
Member

slel commented Apr 9, 2021

@slel
Copy link
Member

slel commented Mar 10, 2022

Another question about installing plantri.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants