[Slackbuilds-users] trying to fix sage-8.1 build script - advice needed
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.
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
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