Hi

TL;DR install sagemath-upstream-binary-full for a fix. The error in 6.9 is
harmless as only one unimportant file is missing.



The development PPA now has a working sagemath-upstream-binary-full 7.0
with no error at all.
https://launchpad.net/~aims/+archive/ubuntu/sagemath-dev
When it runs the relocate-once.py after install, it takes (quite) a while
to patch and then prints message:

...
patching
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/ext/pselect.so
patching /usr/lib/sagemath/local/lib/libstdc++.so.6.0.20
* AIMS PPA: relocate-once.py finished running. Ignore above Exception
┌────────────────────────────────────────────────────────────────────┐
│ SageMath Version 7.0, Release Date: 2016-01-19                     │
│ Type "notebook()" for the browser-based notebook interface.        │
│ Type "help()" for help.                                            │
└────────────────────────────────────────────────────────────────────┘
sage: Exiting Sage (CPU time 0m0.02s, Wall time 0m0.10s).
Setting up sagemath-upstream-binary-full (7.0~aimsppa1~qa201602031255151)
...
0 root@muizenberg:~#

Even though there is no exception; I added that warning before putting this
out. This is because I added one missing file to sagemath-binary-upstream
($SAGE_ROOT/builId/make/Makefile). This version will be uploaded to the
stable PPA in a week or two depending on feedback.

The smaller bandwidth-saving and disk-saving sagemath-upstream-binary 7.0
(no -full in the name) is also there (basically excluding most of the
$SAGE_ROOT/src folder), but will still give the error:

OSError: [Errno 2] No such file or directory:
'/usr/lib/sagemath/src/build/cythonized/sage/structure/list_clone.c'

After that the debian/postinst will then try to run sage once, then stop,
as not nearly enough paths were patched. Even removing relocate-once.py is
not enough:

┌────────────────────────────────────────────────────────────────────┐
│ SageMath Version 7.0, Release Date: 2016-01-19                     │
│ Type "notebook()" for the browser-based notebook interface.        │
│ Type "help()" for help.                                            │
└────────────────────────────────────────────────────────────────────┘

ERROR:  The Sage installation tree has moved

from
/mnt/highperf/buildbot/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeqip0oidma
  to /usr/lib/sagemath

This is not supported, and Sage will not work. To install Sage from a
binary package:

1. Open the .tar.bz2 archive (or .dmg on OSX)

2. Move the SageMath folder/app to where you want it to be. You can
   also rename the directory now.

3. Start sage for the first time. This will then automatically patch
   paths in binaries.

After starting Sage for the first time you cannot change the
installation any more. To install Sage elsewhere, start over from the
binary package. Or recompile Sage from scratch in the new location
("make distclean && make")

dpkg: error processing package sagemath-upstream-binary (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 sagemath-upstream-binary
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@alice-laptop:~#
root@alice-laptop:~# ls /usr/lib/sagemath/
COPYING.txt  README.txt  VERSION.txt  build  local  relocate-once.py  sage
src
root@alice-laptop:~# rm /usr/lib/sagemath/relocate-once.py
root@alice-laptop:~# sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath Version 7.0, Release Date: 2016-01-19                     │
│ Type "notebook()" for the browser-based notebook interface.        │
│ Type "help()" for help.                                            │
└────────────────────────────────────────────────────────────────────┘

ERROR:  The Sage installation tree has moved

from
/mnt/highperf/buildbot/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeqip0oidma
  to /usr/lib/sagemath

This is not supported, and Sage will not work. To install Sage from a
binary package:

1. Open the .tar.bz2 archive (or .dmg on OSX)

2. Move the SageMath folder/app to where you want it to be. You can
   also rename the directory now.

3. Start sage for the first time. This will then automatically patch
   paths in binaries.

After starting Sage for the first time you cannot change the
installation any more. To install Sage elsewhere, start over from the
binary package. Or recompile Sage from scratch in the new location
("make distclean && make")

root@alice-laptop:~# apt-get install sagemath-upstream-binary-full

The workaround is to install sagemath-upstream-binary-full (and in 6.9 to
ignore the error).

It is possible to install the 7.0 now from the dev PPA and then to disable
it:

sudo apt-add-repository -y ppa:aims/sagemath-dev
sudo apt-get update
sudo apt-get install sagemath-upstream-binary-full
sudo mv /etc/apt/sources.list.d/aims-sagemath-dev-trusty.list{,.disabled}

Notes:

The plan is (probably) for 7.1 is to move the relocate-once.py out of the
first run of sage during debian/postinst, and to do it in our autobuild.sh
before it runs dpkg-buildpackage to prepare the source package for upload
to the PPA. This way we can keep both the larger and smaller versions.

If you are going to do the unwise and unsupported thing of compiling
optional packages as root on dpkg-owned directory, you will need the -full
package. We plan to change the user owning the files so that even if we
break debsums we don't have to compile as root to customize a PPA install.

I have no idea where to start, but perhaps there should be a ticket to make
sage relocatable? Patching paths in binaries after compilation blows my
mind.

Regards,
Jan

-- 
  .~.
  /V\     Jan Groenewald
 /( )\    www.aims.ac.za
 ^^-^^

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to