#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

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.

Last edited at 2016-01-14T15:19:19Z by daira (previous) (diff)

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.