#2474 closed defect (fixed)
incompatibility of pyOpenSSL 0.13.1 with OpenSSL 0.9.8zf and later
Reported by: | zooko | Owned by: | daira |
---|---|---|---|
Priority: | normal | Milestone: | 1.11.0 |
Component: | packaging | Version: | 1.10.1 |
Keywords: | packaging pyOpenSSL openssl | Cc: | |
Launchpad Bug: |
Description
Daeinar reported that building Tahoe-LAFS failed on OSX Yosemite, 10.10.4, which has OpenSSL 0.9.8zf 19 Mar 2015.
It failed with this output:
/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe' warnings.warn(msg) running build running build_py running build_ext building 'OpenSSL.crypto' extension clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/crypto.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/crypto.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/x509.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/x509.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/x509name.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/x509name.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/pkey.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/pkey.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/x509store.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/x509store.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/x509req.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/x509req.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/x509ext.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/x509ext.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/pkcs7.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/pkcs7.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/pkcs12.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/pkcs12.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/netscape_spki.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/netscape_spki.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/revoked.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/revoked.o clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c OpenSSL/crypto/crl.c -o build/temp.macosx-10.10-x86_64-2.7/OpenSSL/crypto/crl.o OpenSSL/crypto/crl.c:6:23: error: static declaration of 'X509_REVOKED_dup' follows non-static declaration static X509_REVOKED * X509_REVOKED_dup(X509_REVOKED *orig) { ^ /usr/local/opt/openssl/include/openssl/x509.h:751:15: note: previous declaration is here X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); ^ 1 error generated. error: command 'clang' failed with exit status 1
Daeinar confirmed that building pyOpenSSL 0.15.1 worked.
Change History (5)
comment:1 Changed at 2016-01-14T15:18:22Z by daira
- Keywords packaging pyOpenSSL openssl added
- Status changed from new to assigned
- Summary changed from incompatibility between pyOpenSSL 0.13.1 and OpenSSL 0.9.8zf to incompatibility of pyOpenSSL 0.13.1 with OpenSSL 0.9.8zf and later
comment:2 Changed at 2016-02-09T17:21:15Z by daira
This is the fix that is probably never going to be applied: https://github.com/cloudera/hue/issues/205
comment:3 Changed at 2016-02-09T17:21:52Z by daira
#2728 is an instance of this.
comment:4 Changed at 2016-03-18T18:33:03Z by warner
- Milestone changed from undecided to 1.10.3
- Resolution set to fixed
- Status changed from assigned to closed
The switch to pip has fixed this: we now use the current versions of all dependencies.
comment:5 Changed at 2016-03-22T05:03:36Z by warner
- Milestone changed from 1.10.3 to 1.11.0
Milestone renamed
Note: See
TracTickets for help on using
tickets.
This has a trivial source fix, but since pyOpenSSL 0.13.x is not maintained, we should depend on pyOpenSSL >= 0.14 instead — despite the pain that doing so will inevitably cause due to indirect dependencies on cffi.