Recent version of libressl*-dev breaks compilation of certain pip packages
Given this Dockerfile:
<code class="text">
from alpine:3.7
run apk add --update --no-cache python3 python3-dev gcc musl-dev libffi-dev libressl-dev
run python3 -m venv /venv
run /venv/bin/pip3 install --upgrade pip setuptools
run /venv/bin/pip3 install cryptography==2.2.2
</code>
Cryptography will fail to compile because of errors such as:
<code>
error: 'X509_VERIFY_PARAM_set1_ip_asc' redeclared as different kind of symbol
error: 'X509_VERIFY_PARAM_set1_host' redeclared as different kind of symbol
</code>
There’s also a wall of warnings/notes which I will omit.
Note that in this case, we could replace libressl-dev with openssl-dev and everything would probably just work, but we also need to install mariadb-dev which specifically requires libressl, causing conflicts.
This worked fine just a couple of days ago, so I suspect this has to do with a new version of libressl-dev being pushed to pkgs.alpinelinux.org on 2018-05-28 18:56:58.
(from redmine: issue id 8939, created on 2018-05-29, closed on 2019-02-25)
- Changesets:
- Revision 1b2b08e2 by Natanael Copa on 2018-05-30T11:41:55Z:
Revert "main/libressl: add options -verify_{hostname,email,ip} to s_client"
This patch introduced new symbols that broke pip cryptography=2.2.2. The
busybox wget issue was fixed by implementing ssl_client so this backport
is no longer needed.
ref #8939
This reverts commit 3cf23fc4eefde870de2c80c0dae5a3f48d676c1f.
- Revision fa3c5270 by Natanael Copa on 2018-05-30T12:28:45Z:
Revert "main/libressl: add options -verify_{hostname,ip} to s_client"
fixes #8939
This reverts commit 1fae29db4daf9eb7f4e39aab7ce3bd37d18cc74e.