The "./configure" part of the installation of sage advice this:database_cremona_ellcurve-20190911: optional, use "./configure --enable-database_cremona_ellcurve" to installTherefore, if I were you, after updating the source tree with git let's say, I would do:make configure./configure --enable-database_cremona_ellcurveMAKE='make -j8' maketo compile sagemath in parallel such a way that it automatically installs the desired optional packages in whatever ordering respecting the dependencies which works.You may also want more such "enable" as follows:./configure \
--enable-experimental-packages \
--enable-download-from-upstream-url \
--enable-ccache \--enable-database_cremona_ellcurveYou may consult the config.log file which lists a lot of them.Sincerely,Sébastien
On Monday, January 31, 2022 at 5:57:08 PM UTC+1 john.c...@gmail.com wrote:[copied from sage-release]
---------- Forwarded message ---------
From: John Cremona <john.c...@gmail.com>
Date: Mon, 31 Jan 2022 at 13:47
Subject: Re: [sage-release] Re: Sage 9.5 released
To: <sage-r...@googlegroups.com>
I just successfully built 9.5 from a fresh tarball. After completing
the build I installed (as I usually do) an optional package with the
command-line "./sage -i database_cremona_ellcurve" and now it is
rebuilding gmp. What is going on here? Has the way of installing
optional packages changed -- in which case, surely the use of "sage
-i" should tell you what to do instead, instead of doing the 'wrong'
thing?
John
PS In the end it seemed to rebuild just about everything, even though
installing that package only involves copying one data file; it took a
couple of hours. It would be nice to know how to avoid it happening
again (I have several other machines I want to install Sage on and I
do always need this package;))
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/aa5c66df-2b53-4ef6-9cd0-4338035cef00n%40googlegroups.com.
On Mon, 31 Jan 2022, 17:12 Sébastien Labbé, <sla...@gmail.com> wrote:The "./configure" part of the installation of sage advice this:database_cremona_ellcurve-20190911: optional, use "./configure --enable-database_cremona_ellcurve" to installTherefore, if I were you, after updating the source tree with git let's say, I would do:make configure./configure --enable-database_cremona_ellcurveMAKE='make -j8' maketo compile sagemath in parallel such a way that it automatically installs the desired optional packages in whatever ordering respecting the dependencies which works.You may also want more such "enable" as follows:./configure \
--enable-experimental-packages \
--enable-download-from-upstream-url \
--enable-ccache \--enable-database_cremona_ellcurveYou may consult the config.log file which lists a lot of them.Sincerely,SébastienThanks for that. Some of us have been building Sage from source for a long time (14 years!) which means we are set in our ways and just do what we have always done.On the other hand it should surely be possible to install a package as simple as this one without triggering a full rebuild, completely unnecessarily, instead having to know before starting every optional package one might ever need.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAD0p0K6htUkAZ%2BpiW9qgn89_AYowTmE9unkFjXGRrwUW_DTiqw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAD0p0K4JT1EHH%3DpjQ3qh3VEEj3M70-gRrOrAbTBjM9NwrYyW_A%40mail.gmail.com.
(./sage -i should be deprecated and removed…)
— or just have ‘sage -i xyz’ do whatever ‘make xyz’ now does, perhaps.
+1
Replacing sage -i xyz
by make xyz
sounds like assuming all Sage users are developers. make xyz
doesn’t work if the current directory isn’t SAGE_ROOT
or if make
doesn’t exist on the system. Our advice in _spkg_installation_hint
to install an optional package is still sage -i
.
If we don’t support optional packages for binary distribution, we should make it clear in the installation guide. Otherwise we need to make sure this works (at least for packages that just copy one file or can be installed by pip
).
At the moment both methods don’t work for binary distribution. Regarding sage -i
see for example this post along with this update. Regarding make
, I verified this on the ubuntu:latest
docker image by following both binary install instructions from our guide.
BTW: It seems that things became harder for newcomers to Sage to get it’s current version installed from binaries. Tarballs for 9.5 are not available on download mirrors anymore. For Ubuntu users the hint to use the systems standard package managers leads to an old version (9.0) (assuming most of them would use apt
before installing conda
, see for examples this thread). Another irritation: command-not-found
tells you:
Command 'sage' not found, but can be installed with:
sudo apt install sagemath-common
But if you do that it will end up with a failure.
(./sage -i should be deprecated and removed…)
— or just have ‘sage -i xyz’ do whatever ‘make xyz’ now does, perhaps.
If we don’t support optional packages for binary distribution, we should make it clear in the installation guide.
For Ubuntu users the hint to use the systems standard package managers leads to an old version (9.0)
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/71d0b974600eb89959f8ad309ba4bd7f3f31d777.camel%40orlitzky.com.
Do you still (?) want reports of successes/failures/hick-ups. I
always seem to find the last :)
rrogers
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/0670163c-df7f-4b61-906f-3dc86ece9d11n%40googlegroups.com.
I haven't been following the copy and paste thread, but I'm in favor of keeping sage -i xyz functional, even at the cost of some hacks in our codebase. There are a lot of existing Sage users who are familiar with that command as a mechanism to install optional packages, even if it's not a priori discoverable for new users of Sage.
David
Neither approach assumes anything, but using “make” is at least familiar to anyone who has built any unix software in the past 30 years
This is a null measure set of Windows users (and probably of Mac users). Especially of undergrad students, which are (or should be) a very sizable portion of our intended audience. Users working in corporate salt mines, where Unix use raises the wrath of IT department (sometimes for good reasons…) are another glaring case : my professional use of a Linux system is tolerated because it predates our current IT department ; my (eventual) successor won’t have the same arguments to oppose our IT corporate jailers…
I’d favor any solution that allows installing optional packages without having to require of the user to install, learn and use a development environment. Encouraging them to acquiring this skill set is one thing, forcing them to is quite another…
Actually we no longer advertise the binary distribution.
So, what do we advertise to potential newcomers to Sage? I think despite such great things as Cocalc, SageMathCell and Gitpod, there should be something easy to install that can be used offline, too.
This could be done in https://trac.sagemath.org/ticket/33655 (Website/wiki/documentation: Streamline entry points for installation and development). Needs help!!
Thanks! I will have a look at it.
even if it’s not a priori discoverable for new users of Sage.
It is discoverable for new users! For example via sage -h
or FeatureNotPresentError
:
sage: c = CremonaDatabase('cremona')
Traceback (most recent call last):
...
FeatureNotPresentError: database_cremona_ellcurve is not available.
'cremona.db' not found in any of ['/home/sebastian/devel/sage/local/share/cremona']
No equivalent system packages for debian are known to Sage.
To install database_cremona_ellcurve using the Sage package manager, you can try to run:
!sage -i database_cremona_ellcurve
No equivalent system packages for pip are known to Sage.
Further installation instructions might be available at https://github.com/JohnCremona/ecdata.
This only works if you don’t ever want to e.g. rename sage to sage.in to fix the copy & paste from the other thread.
To be honest: I didn’t look at these difficulties either (so far). I’m just saying what I think should be our aim.
Neither approach assumes anything, but using “make” is at least familiar to anyone who has built any unix software in the past 30 years
Surely we all agree that make
is a milestone in the development of software technology. Nevertheless it might not be familiar to young people (not even young developers who have grown up with gradle
).
This is a null measure set of Windows users (and probably of Mac users). Especially of undergrad students, which are (or should be) a very sizable portion of our intended audience.
Exactly! If they would not belong to our intended audience, Sage would have no chance to stay alive.
Actually we no longer advertise the binary distribution.
So, what do we advertise to potential newcomers to Sage? I think despite such great things as Cocalc, SageMathCell and Gitpod, there should be something easy to install that can be used offline, too.
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/c4bec490-9bd8-4b04-b1d5-7851cc82bd33n%40googlegroups.com.
Everyone agrees on that part, but how to go about it is a religious
matter.
I've been using sage, teaching with sage, writing papers that
cite sage, and giving presentations about my research that use sage for
about fifteen years. I have literally never met someone besides myself
who has managed to install it. The only installation procedure that
anyone uses is,
1. Give the computer to mjo
2. It comes back in the morning with sage installed
On a seemingly unrelated note which is actually quite related, I don’t think it would be possible to find this out, but it would be interesting to know at what rate there has been user -> developer conversion over the years.
Depends on the definition of conversion
. In olden times, you might have estimated it by studying the dates of the requests for sage-trac
account requests. Now that github
accounts allow to file a ticket, you might study the dates at which a (new) user files its first (non-invalid) ticket (yes, posting a ticket is a start on the road to developping…) or its first branch (successful or not). Now, if you insist on a “Damascus road” definition of conversion
, this might be a little harder…
Actually we no longer advertise the binary distribution.
So, what do we advertise to potential newcomers to Sage? I think despite such great things as Cocalc, SageMathCell and Gitpod, there should be something easy to install that can be used offline, too.
The best way to accomplish the goal of "easy to install" is to make
sage easy to package.
All - https://www.sagemath.org/ now has a revised Download menu - please take a look.(thanks to Harald for merging my PR https://github.com/sagemath/website/pull/238
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/13d9b6ea-db9a-4a85-ae54-08c9db7afef4n%40googlegroups.com.
On Mon, Apr 25, 2022 at 2:54 PM Matthias Koeppe <matthia...@gmail.com> wrote:All - https://www.sagemath.org/ now has a revised Download menu - please take a look.(thanks to Harald for merging my PR https://github.com/sagemath/website/pull/238Very nice! Is there a way to set up our DNS so that the url is doc.sagemath.org rather than 6212659123a9467b3cb0cd07--sagemath-tobias.netlify.app (which is what is linked to from the download menu)?
several Linux distributions carry reasonably up to date binary Sage installations (and these can be installed on various VMs, e.g. on Windows’ WSL, ChromeOS’ Crostini, etc)
For example current LinuxMint and WSL are both on Ubuntu 20.04 LTS which gives you Sage 9.0 (as in the example I’ve mentioned above). To get Sage 9.5 you need Ubuntu 22.04 (I guess not very widespread at the moment). My point is the following: until we discontinued the binary tarballs, the straight ahead way to a Sage installation for Ubuntu systems lead you to the current release. This is broken, now.
The installation manual for 9.6 will look like this: https://6212659123a9467b3cb0cd07--sagemath-tobias.netlify.app/installation/index.html
There’s a decision tree.
Looks good. But, according to your sentence:
I agree, we should update our documentation to warn people about wildly outdated distribution packages on outdated OS distributions, and steer users to using conda-forge.
I would have expected that the no root access question comes first and perhaps reads like this: no root access or older OS distribution.
All - https://www.sagemath.org/ now has a revised Download menu - please take a look.
No doubt, this improves the situation a lot! But I think someone visiting our web-page the first time will rather push the big blue button Download 9.5 instead of going to the download menu especially if he wants to be sure to get the current release. This launches this page. But the chance to receive the promised release from there went down tremendously since we discontinued the binary tarballs. Don’t get me wrong: I completely understand that we don’t continue the tarballs for maintenance reasons, but I think there are further adaptions needed.
several Linux distributions carry reasonably up to date binary Sage installations (and these can be installed on various VMs, e.g. on Windows’ WSL, ChromeOS’ Crostini, etc)
For example current LinuxMint and WSL are both on Ubuntu 20.04 LTS which gives you Sage 9.0 (as in the example I’ve mentioned above). To get Sage 9.5 you need Ubuntu 22.04 (I guess not very widespread at the moment). My point is the following: until we discontinued the binary tarballs, the straight ahead way to a Sage installation for Ubuntu systems lead you to the current release. This is broken, now.
If we're going to allow for/promote packaging as an easy way to get access to sage, I think we need to reevaluate how we provide optional packages as well. Currently, our optional packages are basically *build time* optional (their inclusion or exclusion can lead to changes how other modules operate, for instance). That means in a packaged environment, they are optional *for the packager*, not for the user.
4. A link to some Windows doc on what WSL is would probably be pretty helpful, since presumably a lot of Windows users who like doing math have never heard of it.
On Tue, Apr 26, 2022 at 11:19:52AM -0700, Matthias Koeppe wrote:
> Marc Culler's macOS binary packaging gets it right -- he just builds all
> optional packages that happen to build without errors and includes them in
> the binary package. It does not increase the overall size by much.
Why not shipping binaries with and without optional packages on the
mirrors for all distros ?
Le mardi 26 avril 2022 à 14:22:28 UTC+2, seb....@gmail.com a écrit :several Linux distributions carry reasonably up to date binary Sage installations (and these can be installed on various VMs, e.g. on Windows’ WSL, ChromeOS’ Crostini, etc)
For example current LinuxMint and WSL are both on Ubuntu 20.04 LTS which gives you Sage 9.0 (as in the example I’ve mentioned above). To get Sage 9.5 you need Ubuntu 22.04 (I guess not very widespread at the moment). My point is the following: until we discontinued the binary tarballs, the straight ahead way to a Sage installation for Ubuntu systems lead you to the current release. This is broken, now.
To avoid repeating the same advice to people asking how to install Sage 9.5 in Ubuntu in a *simple* way, I've prepared the following page, which has been improved by Samuel Lelièvre:I've already got testimony of persons not familiar with bash commands (not speaking about building from source) who could succeed in installing Sage 9.5 in Ubuntu 20.04 by following these simple instructions. Of course, this is somehow redundant with Sage's installation guide or README.md, but this provides the minimal required steps, without having to read the full installation guide.
I agree, we should update our documentation to warn people about wildly outdated distribution packages on outdated OS distributions, and steer users to using conda-forge.
I would have expected that the no root access question comes first and perhaps reads like this: no root access or older OS distribution.
If setting up a new build infrastructure solves an actual issue
Below a few minor notes about the sagemath-tobias link [...]
1. Is it possible to have a short bullet list for the three/four options* Linux* Mac* Windoze* Cloudthat link to those, immediately below "Where would you like to run SageMath?"? I'm pretty sure Sphinx makes that possible. Even a little bit of needed scrolling leads to people just not caring.
2. I'd also recommend Linux be last
4. A link to some Windows doc on what WSL is would probably be pretty helpful, since presumably a lot of Windows users who like doing math have never heard of it.
This generally makes packaging harder if the optional thing affects the
existing sage installation. Distribution packages should know all of
their dependencies at install-time.
steer users to using conda-forge.
By the same reasoning, Gentoo isn't source-based,
because you have the option of installing pre-built binary packages
with the default set of options.
I think someone visiting our web-page the first time will rather push the big blue button Download 9.5 instead of going to the download menu especially if he wants to be sure to get the current release. This launches this page.
From what I can see on debian, they try to build for pretty much any options they have available, and those runtime dependencies have to be installed and be included in the dependency tree for that distribution’s binary.
An update: The latest version of the installation manual (from https://trac.sagemath.org/ticket/33655) is available here: https://7896a56df78170d5bab0f306d1a7230986a4206a--sagemath-tobias.netlify.app/installation/index.html
+1
Eric Gourgoulhon schrieb am Dienstag, 26. April 2022 um 19:14:57 UTC+2:
It would be pretty easy to prepare a bash script executing all the commands listed in [1] and distribute that script from the download section of Sage home page. But I don’t know if this is a good idea (security issues?)
I think it’s a good idea to have such a script! I’ve opened ticket #33765 for that. Further discussion if it is a good idea or not can be done there.