[Slackbuilds-users] trying to fix sage-8.1 build script - advice needed

David Melik dchmelik at gmail.com
Mon Jan 8 01:55:30 UTC 2018

On Sun, 07 Jan 2018 14:13:07 -0800, King Beowulf wrote:

 > I'm attempting to upgrade and fix a few issue with the sage build.
 > However, upstream seems to think that no one wants to compile a
 > redistributable install package.  The way sage works is:
 > 1. Download prebuilt binary, extract it somewhere, rename directory if
 > desired, set a few shell variables, symlink, run.  Once run and the
 > binaries patched, you can't move it.
 > 2. Download source, compile somewhere, AND DON'T MOVE IT!
 > In other words, upstream does not support moving to a new directory
 > after compiling.  SAGEROOT seems to get hard coded.  Thus, our normal
 > procedure of building in /tmp/SBo/sage-x.y.z creates binaries that can
 > only be run from /tmp/SBo/sage-x.y.z and moving the tree to /opt/sage
 > results in an error message
 > ERROR: The Sage installation tree has moved from /tmp/SBO/sage-8,1
 >   to /opt/sage
 > stating that you cannot move the compiled tree to a new location -
 > either use prebuilt binaries or recompile.
 > Now, the question is: How does upstream create relocatable binaries?
 > What is the patch process?
 > Otherwise, we will have to compile in /opt/sage and then create a
 > package from that tree location.
 > If anyone has any ideas, let me know.
 > -Ed

SAGE really has many issues, and I'd still like to use it, but am 
skeptical whether it's worth anyone making a SlackBuild until the SAGE 
programmers take most users into consideration.

One of my mathematics professors suggested it years ago as a FLOSS 
alternative to Mathematica.  I installed it (maybe beforehand,) noticed 
SAGE could only be set up as if you're running it on some 
organization's/company's server, i.e., runs as a daemon with a password, 
so I didn't use it.

If SAGE programmers think even 99.9% (roughly 1/1000 university students 
major in math) of mathematicians are going to use it that way, its 
programmers seem to have a significant mental challenge (debilitating 
usability) thinking how most people will use it: as curious/student 
people, etc. (including before college, and before majoring, then 
probably fewer than 1/1000 get a minor/AS, fewer BS, fewer MS but may or 
not start instructing/teaching, and even fewer may get PhD and be a 
professor.)  I'd estimate almost no one in the percentage of users will 
want to be running it as a software server on a hardware server for an 
organization, than just a PC application.

I know SAGE once was the most powerful FLOSS alternative, if you went 
through the hassle of installing it.  Now, there are others, but I'd 
still like to try SAGE.  They just need to realize, not just people 
doing research in private at mathematics departments, nor companies 
doing secret research & development, are going to even be most the 
users, whom most don't want to have to use password, let alone leave it 
on (system resources) or (re)start daemon just to access interface.  
Also, for people wanting to run open public math software servers, it's 
a hassle preventing most curious people wanting to try.

Seems to be why the rest of the setup is way it is also.  If someone 
else hadn't, maybe I thought of making a SAGE SlackBuild five or more 
years ago, then thought, I'm not going to bother; made Mathics one 
instead... which probably isn't as powerful, but at least user-friendly 
(unlike SAGE.)

You could try doing/documenting an alternative build that may or not be 
able to be automated.  One that can't is Oracle's Java, because they're 
being copyright trolls (can't download source code with wget, can't run 
in sbopkg.)  Maybe you could do something like chroot or similar easiest 
things (overlayfs(?)... haven't tried it,) not harder/overcomplicated 
things (virtual machines, Docker) and maybe there'd be an easy way for 
everyone to install.  Even something such as they setup/install a 
particular thing (chroot) and you run a script, but I forgot if extra 
scripts are allowed.  But, if it's chroot, I guess you can build in 
there, won't necessarily need another script.

More information about the SlackBuilds-users mailing list