[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2570: Unable to pip install tahoe-lafs directly without first installing PyOpenSSL

Tahoe-LAFS trac at tahoe-lafs.org
Mon Nov 16 05:33:53 UTC 2015


#2570: Unable to pip install tahoe-lafs directly without first installing
PyOpenSSL
----------------------+---------------------------
 Reporter:  nejucomo  |          Owner:  daira
     Type:  defect    |         Status:  new
 Priority:  normal    |      Milestone:  undecided
Component:  unknown   |        Version:  1.10.1
 Keywords:            |  Launchpad Bug:
----------------------+---------------------------
 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
 }}}

 Note: The version metadata in this ticket doesn't have ``1.10.2`` although
 that's what pip describes installing.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2570>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list