1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-15 06:43:53 -05:00

openssl: formatting

native-api
2021-05-06 15:03:02 +03:00
parent 5239a95c8a
commit ae57e93ea6

@@ -182,78 +182,78 @@ MACOSX_DEPLOYMENT_TARGET=10.14
1. **OpenSSL is installed to an uncommon location.** 1. **OpenSSL is installed to an uncommon location.**
Pass the location of its headers and libraries explicitly: Pass the location of its headers and libraries explicitly:
```sh
CPPFLAGS="-I<openssl install prefix>/include" \
LDFLAGS="-L<openssl install prefix>/lib" \
pyenv install -v <python version>
```
or, alternatively, [for Python 3.7+](https://bugs.python.org/issue32598), instead of `CPPFLAGS` and `LDFLAGS`:
```sh
CONFIGURE_OPTS="--with-openssl=<openssl install prefix>"
```
E.g. (invocations that worked for various people):
* RHEL6:
```sh ```sh
CPPFLAGS=-I/usr/include/openssl \ CPPFLAGS="-I<openssl install prefix>/include" \
LDFLAGS=-L/usr/lib64 \ LDFLAGS="-L<openssl install prefix>/lib" \
pyenv install -v 3.4.3 pyenv install -v <python version>
``` ```
* Arch Linux: or, alternatively, [for Python 3.7+](https://bugs.python.org/issue32598), instead of `CPPFLAGS` and `LDFLAGS`:
```sh ```sh
LDFLAGS="-L/usr/lib/openssl-1.0" \ CONFIGURE_OPTS="--with-openssl=<openssl install prefix>"
CPPFLAGS="-I/usr/include/openssl-1.0" \
pyenv install -v 3.4.3
``` ```
* If you installed openssl with macports: E.g. (invocations that worked for various people):
```sh * RHEL6:
CPPFLAGS="-I/opt/local/include/" \
LDFLAGS="-L/opt/local/lib/" \
pyenv install -v 3.4.3
```
* On Ubuntu 14.04 on Dreamhost, an extra flag is required for Python 3.7+:
* First, follow these instructions: https://help.dreamhost.com/hc/en-us/articles/360001435926-Installing-OpenSSL-locally-under-your-username
* Then, run:
```sh ```sh
CPPFLAGS=-I$HOME/openssl/include \ CPPFLAGS=-I/usr/include/openssl \
LDFLAGS=-L$HOME/openssl/lib \ LDFLAGS=-L/usr/lib64 \
SSH=$HOME/openssl pyenv install -v 3.4.3
pyenv install -v 3.7.2
``` ```
* Arch Linux:
```sh
LDFLAGS="-L/usr/lib/openssl-1.0" \
CPPFLAGS="-I/usr/include/openssl-1.0" \
pyenv install -v 3.4.3
```
* If you installed openssl with macports:
```sh
CPPFLAGS="-I/opt/local/include/" \
LDFLAGS="-L/opt/local/lib/" \
pyenv install -v 3.4.3
```
* On Ubuntu 14.04 on Dreamhost, an extra flag is required for Python 3.7+:
* First, follow these instructions: https://help.dreamhost.com/hc/en-us/articles/360001435926-Installing-OpenSSL-locally-under-your-username
* Then, run:
```sh
CPPFLAGS=-I$HOME/openssl/include \
LDFLAGS=-L$HOME/openssl/lib \
SSH=$HOME/openssl
pyenv install -v 3.7.2
```
2. **Your OpenSSL version is incompatible with the Python version you're trying to install** 2. **Your OpenSSL version is incompatible with the Python version you're trying to install**
Old Python versions (generally, <3.5) require OpenSSL 1.0 while newer systems provide 1.1, and vice versa. Old Python versions (generally, <3.5) require OpenSSL 1.0 while newer systems provide 1.1, and vice versa.
Note that OpenSSL 1.0 is EOL and by now practically unusable on the Internet due to using obsolete standards. Note that OpenSSL 1.0 is EOL and by now practically unusable on the Internet due to using obsolete standards.
**Install the right OpenSSL version and point the build to its location as per above if needed.** Install the right OpenSSL version and point the build to its location as per above if needed.
E.g.: E.g.:
* On Debian stretch and Ubuntu bionic), libssl-dev is OpenSSL 1.1.x, but support for that was only added in Python 2.7.13, 3.5.3 and 3.6.0. To install earlier versions, you need to replace `libssl-dev` with `libssl1.0-dev`. * On Debian stretch and Ubuntu bionic, `libssl-dev` is OpenSSL 1.1.x, but support for that was only added in Python 2.7.13, 3.5.3 and 3.6.0. To install earlier versions, you need to replace `libssl-dev` with `libssl1.0-dev`.
```sh ```sh
sudo apt-get remove libssl-dev sudo apt-get remove libssl-dev
sudo apt-get update sudo apt-get update
sudo apt-get install libssl1.0-dev sudo apt-get install libssl1.0-dev
``` ```
https://github.com/pyenv/pyenv/issues/945#issuecomment-409627448 has a more complex workaround that preserves `libssl-dev`. https://github.com/pyenv/pyenv/issues/945#issuecomment-409627448 has a more complex workaround that preserves `libssl-dev`.
* On FreeBSD 10-RELEASE and 11-CURRENT, you may need to recompile ``security/openssl`` without SSLv2 support. (See [#464](https://github.com/yyuu/pyenv/issues/464#issuecomment-152821922)). * On FreeBSD 10-RELEASE and 11-CURRENT, you may need to recompile ``security/openssl`` without SSLv2 support. (See [#464](https://github.com/yyuu/pyenv/issues/464#issuecomment-152821922)).
* On Debian Jessie, you can use backports to install OpenSSL 1.0.2: `sudo apt -t jessie-backports install openssl` * On Debian Jessie, you can use backports to install OpenSSL 1.0.2: `sudo apt -t jessie-backports install openssl`
## python-build: definition not found ## python-build: definition not found