Opened 6 years ago
Closed 6 years ago
#13666 closed defect (wontfix)
openssl as a default package
Reported by: | tmonteil | Owned by: | GeorgSWeber |
---|---|---|---|
Priority: | major | Milestone: | sage-duplicate/invalid/wontfix |
Component: | build | Keywords: | openssl, startup, days43 |
Cc: | logix, leif | Merged in: | |
Authors: | Reviewers: | Jeroen Demeyer | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
openssl should not be optional. It is not only needed for "notebook(secure=True)" as explained in ticket #13385, but also for hashlib (md5). If it is not installed on the distro, sage won't start.
Usually, openssl is there so no problem happen, but since openssl is going from 0.9.8 to 1.0.0, we will experience problems with distros upgrades. For example, Debian is moving from openssl0.9.8 to openssl1.0.0 in the next stable release (currently frozen): if sage is compiled on squeeze and then run on wheezy, we get the following errors at startup:
ERROR:root:code for hash md5 was not found. Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type md5 ERROR:root:code for hash sha1 was not found. Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha1 ERROR:root:code for hash sha224 was not found. Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha224 ERROR:root:code for hash sha256 was not found. Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha256 ERROR:root:code for hash sha384 was not found. Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha384 ERROR:root:code for hash sha512 was not found. Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 139, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/hashlib.py", line 91, in __get_builtin_constructor raise ValueError('unsupported hash type %s' % name) ValueError: unsupported hash type sha512 Traceback (most recent call last): File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/bin/sage-ipython", line 18, in <module> import IPython File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python2.7/site-packages/IPython/__init__.py", line 58, in <module> __import__(name,glob,loc,[]) File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python2.7/site-packages/IPython/ipstruct.py", line 17, in <module> from IPython.genutils import list2dict2 File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python2.7/site-packages/IPython/genutils.py", line 53, in <module> from IPython.external.path import path File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python2.7/site-packages/IPython/external/path.py", line 35, in <module> import md5 File "/usr/local/sagemath/sage-5.3-minimal-i686-Linux/local/lib/python/md5.py", line 10, in <module> from hashlib import md5 ImportError: cannot import name md5
If libssl.so.0.9.8 and libcrypto.so.0.9.8 is copied on the sage local/lib directory, the problem disapears and sage can start.
Change History (5)
comment:1 Changed 6 years ago by
comment:2 Changed 6 years ago by
I believe that if you build Sage on a system without OpenSSL, it runs fine, for example on various skynet machines. That's the point of #13385. You are complaining about building Sage on a system with one version of OpenSSL and then running it on a system with a different version, which is not the same issue. It also seems like an unusual enough situation, or at least a temporary enough situation, that it shouldn't demand the inclusion of a new standard package, especially one with licensing issues.
comment:3 Changed 6 years ago by
- Milestone changed from sage-5.10 to sage-duplicate/invalid/wontfix
- Reviewers set to Jeroen Demeyer
- Status changed from new to needs_review
This simply cannot happen because of licensing.
comment:4 Changed 6 years ago by
- Status changed from needs_review to positive_review
comment:5 Changed 6 years ago by
- Resolution set to wontfix
- Status changed from positive_review to closed
Well, it's not really an optional package, but rather there (more or less^{*}) for convenience, since AFAIK OpenSSL is a prerequisite for Sage, which means it's up to the user (or administrator) to install it; doing
sage -i openssl
is probably just easier for some, others will (or should) use their distro's package manager in case it is missing.[Haven't read sage-devel for a while; unless it isn't already, it should probably also be discussed / voted on there.]
^{*} I vaguely remember problems with some formerly current 1.x version, such that we didn't upgrade the optional spkg to 1.x (it's meanwhile 1.0.1c), so the optional spkg was also there for those that would otherwise have installed an incompatible (1.x) version.