Closed jhpalmieri closed 5 years ago
I'm fixing this in the py3-fixes branch
I think that instead of writing one huge Python file as in https://github.com/sagemath/binary-pkg/commit/30c3352f77bc02b83d0e8fe82aad11474e9c477b#diff-27146f2eb04393561afea5f2e73053bb it might still make more sense if this patch data lived in a separate file. Then the script itself wouldn't even have to be generated, just the data (e.g. in a JSON file) that it reads in.
Thats just an extra source of errors: now you need to find the data file, you can't atomically remove two files so state can be inconsistent, etc..
Fixed
My point was that this script could just live permanently in the Sage sources somewhere and consume a data file containing patches; then just the data file could be removed if needed. Outputting a gigantic generated script doesn't make a whole lot of sense IMO.
The Sage repo is not in charge of creating/distributing binaries, the repo here is just one way one can distribute binaries. Docker and flatpak are others. I'm against splitting the binary-pkg logic across different repos.
Fixed by the commits from 11 Dec 2018:
With the binary package sage-8.7-OSX_10.11.6-x86_64 (from April 2019), I am still getting the RecursionError
reported above. Was this binary package built with this fix? This is with a python 3 from Anaconda in the PATH.
(base) egret:~/s/sage/sage-8.7-OSX_10.11.6-x86_64 (master *)$ ./sage
RecursionError: maximum recursion depth exceeded during compilation
Error running the script 'relocate-once.py'.
Yes, 8.7 doesn't include it. Please try again with 8.8 when the binaries are out (hopefully in a few days)
Hi, I've read that SageMath can run on Python3 ever since the 9.0 release. I have downloaded Sage 9.2 for Ubuntu_20.04, however I still get the same error.
/usr/bin/env: ‘python’: No such file or directory
Error running the script 'relocate-once.py'.
If I install python2 will this do the trick? Otherwise, please let me know how I might be able to resolve the installation issue. Thanks
This is an error that is unrelated to this error. See https://wiki.sagemath.org/ReleaseTours/sage-9.2#Binaries for how to fix it on your system.
On systems where
/usr/bin/env python
runs Python 3,relocate-once.py
breaks. The immediate fix is error checking when runningrelocate-once.py
(see https://trac.sagemath.org/ticket/25668), but longer term, the script should be made compatible with Python 3.There are two types of incompatibility:
p('local/lib/libflint-13.5.2.dylib').patch(1552, 1684)...
is very long, and more to the point (I think) has over 1500 method/attribute calls. In any case, that line yieldsRecursionError: maximum recursion depth exceeded during compilation