Opened at 2015-11-16T05:33:52Z
Closed at 2016-03-27T19:02:01Z
#2570 closed defect (fixed)
Unable to pip install tahoe-lafs directly without first installing PyOpenSSL
Reported by: | nejucomo | Owned by: | daira |
---|---|---|---|
Priority: | normal | Milestone: | 1.11.0 |
Component: | packaging | Version: | 1.10.2 |
Keywords: | pyOpenSSL cryptography cffi build packaging | Cc: | |
Launchpad Bug: |
Description (last modified by daira)
On a debian system I'm unable to successfully run pip install allmydata-tahoe due to a compilation error while installing pyOpenSSL. However, if I first run pip install PyOpenSSL and *then* pip install allmydata-tahoe then this succeeds.
Notice how in the first case the package which fails to install is called pyOpenSSL but in the second sequence of commands, the package requested is PyOpenSSL with an initial capital P. Is this the difference? Can we change the dependencies of tahoe-lafs to refer to the successfully installing pacakage?
Here's the first attempt to install allmydata-tahoe:
$ pip install allmydata-tahoe Collecting allmydata-tahoe Using cached allmydata-tahoe-1.10.2.tar.gz Requirement already satisfied (use --upgrade to upgrade): setuptools>=0.6c6 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): zfec>=1.1.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): simplejson>=1.4 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): zope.interface!=3.6.3,!=3.6.4,>=3.6.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Collecting foolscap>=0.8.0 (from allmydata-tahoe) Using cached foolscap-0.9.1-py2-none-any.whl Collecting pycrypto!=2.2,!=2.4,>=2.1.0 (from allmydata-tahoe) Using cached pycrypto-2.6.1.tar.gz Collecting pycryptopp>=0.6.0 (from allmydata-tahoe) Using cached pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958.tar.gz Collecting service-identity (from allmydata-tahoe) Using cached service_identity-14.0.0-py2.py3-none-any.whl Collecting characteristic>=14.0.0 (from allmydata-tahoe) Using cached characteristic-14.3.0-py2.py3-none-any.whl Collecting pyasn1>=0.1.8 (from allmydata-tahoe) Using cached pyasn1-0.1.9-py2.py3-none-any.whl Collecting pyasn1-modules>=0.0.5 (from allmydata-tahoe) Using cached pyasn1_modules-0.0.8-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): Twisted>=13.0.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Collecting Nevow>=0.11.1 (from allmydata-tahoe) Using cached Nevow-0.11.1-py27-none-any.whl Collecting pyOpenSSL<=0.13.1,>=0.13 (from allmydata-tahoe) Using cached pyOpenSSL-0.13.1.tar.gz Requirement already satisfied (use --upgrade to upgrade): pyutil>=1.3.19 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from zfec>=1.1.0->allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): zbase32>=1.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from pyutil>=1.3.19->zfec>=1.1.0->allmydata-tahoe) Installing collected packages: pyOpenSSL, characteristic, pyasn1, pyasn1-modules, service-identity, foolscap, pycrypto, pycryptopp, Nevow, allmydata-tahoe Running setup.py install for pyOpenSSL Complete output from command /home/nleast/virtualenvs/default/bin/python2 -c "import setuptools, tokenize;__file__='/home/nleast/.progtmp/pip-build-CEJDD9/pyOpenSSL/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /home/nleast/.progtmp/pip-iDhumd-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/nleast/virtualenvs/default/include/site/python2.7/pyOpenSSL: running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/OpenSSL copying OpenSSL/__init__.py -> build/lib.linux-x86_64-2.7/OpenSSL copying OpenSSL/tsafe.py -> build/lib.linux-x86_64-2.7/OpenSSL copying OpenSSL/version.py -> build/lib.linux-x86_64-2.7/OpenSSL creating build/lib.linux-x86_64-2.7/OpenSSL/test copying OpenSSL/test/__init__.py -> build/lib.linux-x86_64-2.7/OpenSSL/test copying OpenSSL/test/util.py -> build/lib.linux-x86_64-2.7/OpenSSL/test copying OpenSSL/test/test_crypto.py -> build/lib.linux-x86_64-2.7/OpenSSL/test copying OpenSSL/test/test_rand.py -> build/lib.linux-x86_64-2.7/OpenSSL/test copying OpenSSL/test/test_ssl.py -> build/lib.linux-x86_64-2.7/OpenSSL/test running build_ext building 'OpenSSL.crypto' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/OpenSSL creating build/temp.linux-x86_64-2.7/OpenSSL/crypto x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/crypto.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/crypto.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/x509.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/x509.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/x509name.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/x509name.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/pkey.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/pkey.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/x509store.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/x509store.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/x509req.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/x509req.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/x509ext.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/x509ext.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/pkcs7.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/pkcs7.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/pkcs12.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/pkcs12.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/netscape_spki.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/netscape_spki.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/revoked.c -o build/temp.linux-x86_64-2.7/OpenSSL/crypto/revoked.o x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c OpenSSL/crypto/crl.c -o build/temp.linux-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) { ^ In file included from /usr/include/openssl/ssl.h:156:0, from OpenSSL/crypto/x509.h:17, from OpenSSL/crypto/crypto.h:30, from OpenSSL/crypto/crl.c:3: /usr/include/openssl/x509.h:751:15: note: previous declaration of ‘X509_REVOKED_dup’ was here X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); ^ error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Command "/home/nleast/virtualenvs/default/bin/python2 -c "import setuptools, tokenize;__file__='/home/nleast/.progtmp/pip-build-CEJDD9/pyOpenSSL/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /home/nleast/.progtmp/pip-iDhumd-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/nleast/virtualenvs/default/include/site/python2.7/pyOpenSSL" failed with error code 1 in /home/nleast/.progtmp/pip-build-CEJDD9/pyOpenSSL
If I install PyOpenSSL (with a capital P) directly first, then I *can* install allmydata-tahoe, as seen here:
$ pip install PyOpenSSL Collecting PyOpenSSL Downloading pyOpenSSL-0.15.1-py2.py3-none-any.whl (102kB) 100% |████████████████████████████████| 106kB 526kB/s Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from PyOpenSSL) Collecting cryptography>=0.7 (from PyOpenSSL) Downloading cryptography-1.1.tar.gz (348kB) 100% |████████████████████████████████| 352kB 723kB/s Collecting idna>=2.0 (from cryptography>=0.7->PyOpenSSL) Downloading idna-2.0-py2.py3-none-any.whl (61kB) 100% |████████████████████████████████| 61kB 1.3MB/s Collecting pyasn1>=0.1.8 (from cryptography>=0.7->PyOpenSSL) Using cached pyasn1-0.1.9-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): setuptools in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from cryptography>=0.7->PyOpenSSL) Collecting enum34 (from cryptography>=0.7->PyOpenSSL) Downloading enum34-1.0.4.tar.gz Collecting ipaddress (from cryptography>=0.7->PyOpenSSL) Downloading ipaddress-1.0.15-py27-none-any.whl Collecting cffi>=1.1.0 (from cryptography>=0.7->PyOpenSSL) Downloading cffi-1.3.0.tar.gz (347kB) 100% |████████████████████████████████| 348kB 916kB/s Collecting pycparser (from cffi>=1.1.0->cryptography>=0.7->PyOpenSSL) Downloading pycparser-2.14.tar.gz (223kB) 100% |████████████████████████████████| 225kB 1.5MB/s Installing collected packages: idna, pyasn1, enum34, ipaddress, pycparser, cffi, cryptography, PyOpenSSL Running setup.py install for enum34 Running setup.py install for pycparser Running setup.py install for cffi Running setup.py install for cryptography Successfully installed PyOpenSSL-0.15.1 cffi-1.3.0 cryptography-1.1 enum34-1.0.4 idna-2.0 ipaddress-1.0.15 pyasn1-0.1.9 pycparser-2.14 $ pip install allmydata-tahoe Collecting allmydata-tahoe Using cached allmydata-tahoe-1.10.2.tar.gz Requirement already satisfied (use --upgrade to upgrade): setuptools>=0.6c6 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): zfec>=1.1.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): simplejson>=1.4 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): zope.interface!=3.6.3,!=3.6.4,>=3.6.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Collecting foolscap>=0.8.0 (from allmydata-tahoe) Using cached foolscap-0.9.1-py2-none-any.whl Collecting pycrypto!=2.2,!=2.4,>=2.1.0 (from allmydata-tahoe) Using cached pycrypto-2.6.1.tar.gz Collecting pycryptopp>=0.6.0 (from allmydata-tahoe) Using cached pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958.tar.gz Collecting service-identity (from allmydata-tahoe) Using cached service_identity-14.0.0-py2.py3-none-any.whl Collecting characteristic>=14.0.0 (from allmydata-tahoe) Using cached characteristic-14.3.0-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): pyasn1>=0.1.8 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Collecting pyasn1-modules>=0.0.5 (from allmydata-tahoe) Using cached pyasn1_modules-0.0.8-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): Twisted>=13.0.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Collecting Nevow>=0.11.1 (from allmydata-tahoe) Using cached Nevow-0.11.1-py27-none-any.whl Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL>=0.13 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): cryptography in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): cffi>=0.8 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): six>=1.4.1 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): enum34 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): pycparser in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): pyutil>=1.3.19 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from zfec>=1.1.0->allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): idna>=2.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from cryptography->allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): ipaddress in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from cryptography->allmydata-tahoe) Requirement already satisfied (use --upgrade to upgrade): zbase32>=1.0 in /home/nleast/virtualenvs/default/lib/python2.7/site-packages (from pyutil>=1.3.19->zfec>=1.1.0->allmydata-tahoe) Installing collected packages: characteristic, pyasn1-modules, service-identity, foolscap, pycrypto, pycryptopp, Nevow, allmydata-tahoe Running setup.py install for pycrypto Running setup.py install for pycryptopp Running setup.py install for allmydata-tahoe Successfully installed Nevow-0.11.1 allmydata-tahoe-1.10.2 characteristic-14.3.0 foolscap-0.9.1 pyasn1-modules-0.0.8 pycrypto-2.6.1 pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958 service-identity-14.0.0
Change History (4)
comment:1 Changed at 2015-11-16T05:35:58Z by nejucomo
- Description modified (diff)
comment:2 Changed at 2015-12-02T02:53:11Z by daira
- Description modified (diff)
- Keywords pyOpenSSL cryptography cffi build packaging added
- Version changed from 1.10.1 to 1.10.2
comment:3 Changed at 2016-03-18T15:22:52Z by cypher
This issue seems to no longer persist after the great zetuptools purge.
comment:4 Changed at 2016-03-27T19:02:01Z by warner
- Component changed from unknown to packaging
- Milestone changed from undecided to 1.11.0
- Resolution set to fixed
- Status changed from new to closed
Indeed, it's been fixed. Yay!
I believe the capitalization of [pP]yOpenSSL is a red herring. Package names should be case-insensitive.