New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.7 will require OpenSSL 1.0.2+; 3.7-dev, 3.8-dev (nightly) do not work on Trusty #9069

Open
tiran opened this Issue Jan 15, 2018 · 41 comments

Comments

Projects
None yet
@tiran
Copy link

tiran commented Jan 15, 2018

PSA,

Python 3.7's ssl module will not work on Ubuntu 14.04 any more. I'm going to push several patches soon that depend on OpenSSL 1.0.2 or 1.1.0 APIs. See https://mail.python.org/pipermail/python-dev/2018-January/151718.html

@BanzaiMan

This comment has been minimized.

Copy link
Member

BanzaiMan commented Jan 23, 2018

Related: #9119

@yan12125

This comment has been minimized.

Copy link

yan12125 commented Jan 30, 2018

I got the following error when trying to install CPython git-master via pyenv:

The Python ssl extension was not compiled. Missing the OpenSSL lib?

(https://travis-ci.org/yan12125/python3-android/jobs/335168981)

I guess it's related to this issue? The CPython commit that requires OpenSSL 1.0.2+ is merged 3 days ago: python/cpython@61d478c

@tiran

This comment has been minimized.

Copy link

tiran commented Jan 30, 2018

It's very likely. The ssl module in 3.7 no longer compiles with OpenSSL from Ubuntu 14.04.

Check your configure output. On a system with compatible libssl, it looks like this:

checking whether compiling and linking against OpenSSL works... yes
checking for X509_VERIFY_PARAM_set1_host in libssl... yes
checking for --with-ssl-default-suites... python

If the second line ends with no, then either OpenSSL is too old or you have LibreSSL.

@BanzaiMan

This comment has been minimized.

Copy link
Member

BanzaiMan commented Jan 30, 2018

@yan12125 You are using pyenv, so I believe the fix will come from that tool, not Travis.

jamadden added a commit to gevent/gevent that referenced this issue Feb 5, 2018

Update test suite and travis to Python 3.7b1.
The build cache was the only thing keeping 3.7.0a4 around; it can no
longer be installed from pyenv. And I accidentaly deleted the master
build cache, so we have no choice.

It may be difficult to get 3.7b1 installed due to
travis-ci/travis-ci#9069

jamadden added a commit to gevent/gevent that referenced this issue Feb 6, 2018

jamadden added a commit to gevent/gevent that referenced this issue Feb 6, 2018

jamadden added a commit to gevent/gevent that referenced this issue Feb 6, 2018

@BanzaiMan

This comment has been minimized.

Copy link
Member

BanzaiMan commented Feb 16, 2018

travis-ci/docs-travis-ci-com#1710 adds a note to inform users that recent *-dev and nightly do not work.

@BanzaiMan BanzaiMan changed the title Python 3.7 will require OpenSSL 1.0.2+ Python 3.7 will require OpenSSL 1.0.2+; 3.7-dev, 3.8-dev (nightly) do not work on Trusty Feb 16, 2018

shikhir-arora added a commit to GieselaDev/Giesela that referenced this issue Mar 2, 2018

So 3.7 is broken on Travis
Because they don't support OpenSSL's 1.0.2 or newer API.
See: travis-ci/travis-ci#9069

But, this will work locally with 3.7 - at least Python 3.7.0a2 (default, Oct 18 2017, 18:58:26)
The requirements.txt fix in the last update fixes a compatibility issue that websockets handled 3 months ago but didn't update in versioning.

gilgamezh added a commit to PyAr/fades that referenced this issue Mar 17, 2018

hugovk added a commit to pylast/pylast that referenced this issue Mar 26, 2018

hugovk added a commit to pylast/pylast that referenced this issue Mar 27, 2018

@jab jab referenced this issue Apr 9, 2018

Closed

Ubuntu 18.04 LTS #9460

@dcrosta

This comment has been minimized.

Copy link

dcrosta commented Apr 13, 2018

Is there a timeline for resolution here?

@pfreixes

This comment has been minimized.

Copy link

pfreixes commented Apr 17, 2018

I would like to have some visibility of the future plans for this issue.

@ambv

This comment has been minimized.

Copy link

ambv commented Apr 19, 2018

As the simplest workaround, change the following in your .travis.yml:

This solved the issue for me.
See my example .travis.yml.

Note: switching to Xenial is important. While deadsnakes also include a python3.7 build for Trusty, that version doesn't include SSL support and we're back on Square 1.

dcrosta added a commit to tox-dev/tox-docker that referenced this issue Apr 19, 2018

dcrosta added a commit to tox-dev/tox-docker that referenced this issue Apr 19, 2018

@ambv

This comment has been minimized.

Copy link

ambv commented Apr 21, 2018

Unfortunately I find "xenial" quite flaky. They relatively often fail to boot or find /var/lib/dpkg/lock locked by something else (but what?). Restarting build jobs helps.

theacodes added a commit to theacodes/nox that referenced this issue Sep 6, 2018

Add Python 3.7 to Travis CI (#129)
Add Python 3.7 to the testing In alignment with travis-ci/travis-ci#9069

cclauss pushed a commit to cclauss/caniusepython3 that referenced this issue Sep 7, 2018

cclauss

cclauss pushed a commit to cclauss/monkey that referenced this issue Sep 8, 2018

cclauss

@cclauss cclauss referenced this issue Sep 8, 2018

Merged

Travis CI: Add Python 3.7 to the testing #184

1 of 2 tasks complete

cclauss pushed a commit to cclauss/jupytext that referenced this issue Sep 10, 2018

cclauss

cclauss pushed a commit to cclauss/python-future that referenced this issue Sep 10, 2018

cclauss

aqw added a commit to aqw/pigskin that referenced this issue Sep 11, 2018

jantman added a commit to jantman/biweeklybudget that referenced this issue Sep 14, 2018

cclauss pushed a commit to cclauss/petastorm that referenced this issue Sep 23, 2018

cclauss
Travis CI: Add Python 3.7 and flake8 tests
Fixes #175
* Add Python 3.7 in alignment with travis-ci/travis-ci#9069
* Add [flake8](http://flake8.pycqa.org) tests as discussed at uber#174 (comment)

selitvin added a commit to uber/petastorm that referenced this issue Sep 23, 2018

Travis CI: Add Python 3.7 and flake8 tests
Fixes #175
* Add Python 3.7 in alignment with travis-ci/travis-ci#9069
* Add [flake8](http://flake8.pycqa.org) tests as discussed at #174 (comment)

jantman added a commit to jantman/awslimitchecker that referenced this issue Sep 23, 2018

cclauss pushed a commit to cclauss/pika that referenced this issue Sep 24, 2018

cclauss
Travis CI: Upgrade from Python 3.7 pre-release to production version
Upgrade to the production version of Python 3.7 in alignment with travis-ci/travis-ci#9069

cclauss pushed a commit to cclauss/pyyaml that referenced this issue Sep 24, 2018

cclauss
Travis CI: Upgrade from Python 3.7 pre-release to production
Upgrade to the production version of Python 3.7 in alignment with travis-ci/travis-ci#9069

Also see the note about outdated Python versions on Trusty at:
* https://docs.travis-ci.com/user/languages/python/#development-releases-support

cclauss pushed a commit to cclauss/nose2 that referenced this issue Sep 25, 2018

cclauss
Travis CI: Upgrade from prerelease Py3.7 to production version
Upgrade to production Python 3.7 in alignment with travis-ci/travis-ci#9069

cclauss pushed a commit to cclauss/python-chess that referenced this issue Sep 28, 2018

cclauss
Travis CI: Upgrade from Python 3.7 pre-release to production
Upgrade to the production version of Python 3.7 in alignment with travis-ci/travis-ci#9069

Also see the note about outdated Python versions on Trusty at:

https://docs.travis-ci.com/user/languages/python/#development-releases-support
@BanzaiMan

This comment has been minimized.

Copy link
Member

BanzaiMan commented Sep 30, 2018

The configuration to get Python 3.7 is:

language: python
sudo: required
dist: xenial
python: "3.7"

Adjust accordingly if your build requires multiple jobs.

@travis-ci travis-ci locked as resolved and limited conversation to collaborators Sep 30, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.