openssl on Release 20.04.1 LTS (Focal Fossa) 64-bit mate

50 views
Skip to first unread message

Raymond Rogers

unread,
Oct 11, 2020, 6:12:20 PM10/11/20
to sage-devel
Jupyter didn't run because of "openssl development" missing.
This mate release doesn't have openssl-dev stand alone.  I did have openssl installed but there wasn't openssl-dev in the direct list.  I installed the "dev" of libssl-dev (and some other related items) and it now works fine.
The only problem with sage is that the error message, running from the console, demanded openssl development.  I think it should have said libssl-dev.
Ray

Samuel Lelievre

unread,
Oct 11, 2020, 7:12:42 PM10/11/20
to sage-devel
2020-10-11 22:12:20 UTC, Raymond Rogers:
Thanks for the report. Having the exact message that
was displayed could help figure out whether it comes
from Sage or from Jupyter and where to improve it.

Raymond Rogers

unread,
Oct 12, 2020, 12:12:38 AM10/12/20
to sage-...@googlegroups.com
An 'egrep -r "sage -f " * ' in the top directory yielded

build/pkgs/sagelib/src/build/scripts-3.8/sage-notebook:    then rebuild Python (sage -f python3).  Which was the error statement.
and then lines 18-22
----
PREREQUISITE_ERROR = textwrap.dedent("""

    The Jupyter notebook requires ssl, even if you do not use
    https. Install the openssl development packages in your system and
    then rebuild Python (sage -f python3).
    """)
-----
Which seems like it should be the source.
Now this is strange for me since 9.1 was working fine with Jupyter.  Perhaps I didn't do a raw build though; I don't remember, but I think I did.

Ray
 20.04.1 LTS (Focal Fossa) 64-bit
MATE 1.24.0


--
You received this message because you are subscribed to a topic in the Google Groups "sage-devel" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sage-devel/u_T8PZ5dLlk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/b6119cee-bc10-451a-9f39-63b449b5dc73o%40googlegroups.com.

Samuel Lelièvre

unread,
Oct 12, 2020, 4:52:27 AM10/12/20
to Sage-devel
2020-10-12 04:12 UTC, Raymond Rogers:
Thanks for tracking that down. Changing to my Sage root folder
and running this command reveals it is in `src/bin/sage-notebook`:
```
$ git grep "openssl development packages" .
src/bin/sage-notebook: https. Install the openssl development
packages in your system and
```

Playing with `git blame`, or using the "blame" button
on the GitHub interface at

https://github.com/sagemath/sage/blame/9.2.rc1/src/bin/sage-notebook

we find this prerequisite error message is from commit
3c4a96db3781b5b0384bee9048566da18e09e69a,
visible e.g. at the GitHub mirror of the repo:

https://github.com/sagemath/sage/commit/3c4a96db3781b5b0384bee9048566da18e09e69a

Somehow this did not affect Sage users until the upgrade to Jupyter
notebook 6.1.1, done in #26919, merged in Sage 9.2.beta9 (maybe
combined with upgrades in Sage 9.2.beta11 and Sage 9.2.beta12).

The problem of Jupyter not starting without SSL was reported in the
sage-release thread announcing the release of Sage 9.2.beta12:

https://groups.google.com/d/msg/sage-release/hobZzw74Rv0/pkiQFTg9AQAJ

The error message is correct in recommending to install
"the openssl development packages in your system" but
these have different names in different distributions,
as one can check by browsing the files at

https://github.com/sagemath/sage/tree/develop/build/pkgs/openssl/distros

or by running these commands from the Sage root folder.
```
$ cd build/pkgs/openssl/distros
$ for f in *.txt ; do echo '- '`ls $f` ; echo ' '`cat $f` ; done ;
- alpine.txt
openssl-dev
- arch.txt
openssl
- cygwin.txt
libssl-devel
- debian.txt
openssl libssl-dev
- fedora.txt
openssl openssl-devel
- freebsd.txt
security/openssl
- homebrew.txt
openssl
- nix.txt
openssl
- opensuse.txt
openssl
- slackware.txt
openssl openssl-solibs
- void.txt
libressl-openssl
```

It might be worth hinting at that variety in the error message.
Maybe something like the following:
"""
Install the openssl development packages in your system
(in various systems they are called libressl-openssl, libssl-dev,
openssl, openssl-dev, openssl-devel, openssl-solibs...).
"""
Or the error message could provide a command that one can run
to check what actual packages one needs to install for one's distro.

Samuel

Raymond Rogers

unread,
Oct 12, 2020, 9:25:02 AM10/12/20
to sage-...@googlegroups.com
Thanks, that rundown is informative, will save; I am not very familiar with either python, sage, or git. 

And I certainly agree with your finishing comments.  Even though Ubuntu is a common distribution, it is useful to give hints for unknown/new/messed up, distributions.  There is always someone who gets "creative" with things; even system things; someone=me occasionally.

Ray

Reply all
Reply to author
Forward
0 new messages