[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