Comments (8)
Hi @nyok92, to be honest, I never tried running pyCA on Ubuntu, and using the Debian repository indeed causes some problems and we should take a look at that.
For now, here is an installation method which works on Ubuntu 20.04:
apt update
apt install git python3 python3-venv libcurl4-openssl-dev libssl-dev gcc python3-dev ffmpeg
git clone https://github.com/opencast/pyCA.git
cd pyCA/
python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt
# Start pyCA
./start.sh
# Start UI
./start.sh ui
This should already be sufficient for testing pyCA.
You can run the pyCA services separately to make them more resilient. That's also what the repository is doing. But this will give you a fully functional capture agent and is a lot easier to test.
from pyca.
The underlying problem is that Ubuntu seems to have dropped the Python 2 binary for gunicorn and made the package gunicorn
(and also the binary) the Python 3 version. See on Ubuntu:
$ apt-cache search gunicorn
gunicorn - Event-based HTTP/WSGI server
gunicorn-examples - Event-based HTTP/WSGI server (examples)
python3-gunicorn - Event-based HTTP/WSGI server (Python 3 libraries)
$ apt-cache show gunicorn
Package: gunicorn
Architecture: all
Version: 20.0.4-3
Priority: optional
Section: universe/python
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Chris Lamb <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 33
Provides: httpd-wsgi3
Depends: python3-gunicorn (= 20.0.4-3), python3:any
Suggests: python3-pastedeploy, python3-setproctitle, python3-tornado
Breaks: gunicorn3 (<< 19.9.0-1)
Filename: pool/universe/g/gunicorn/gunicorn_20.0.4-3_all.deb
Size: 11760
MD5sum: af1db6ffdd669b7a88695e65fadc3988
SHA1: 3a2d4c56197f6ff4522f274abec4ce1e494c739d
SHA256: 8bf1ea4eeb33585c9d076455050c7a611ccca28f766a6760e74500647af91b0f
Homepage: https://gunicorn.org/
Description: Event-based HTTP/WSGI server
Description-md5: 2ff72d8c5c219c7f7f89448c09a76c6c
Debian does have both and therefor names the Python 3 package and binary for Gunicorn gunicorn3
, see:
$ apt-cache search gunicorn
gunicorn - Event-based HTTP/WSGI server (Python 2 version)
gunicorn-examples - Event-based HTTP/WSGI server (examples)
gunicorn3 - Event-based HTTP/WSGI server (Python 3 version)
python-gunicorn - Event-based HTTP/WSGI server (Python 2 libraries)
python3-gunicorn - Event-based HTTP/WSGI server (Python 3 libraries)
$ apt-cache show gunicorn
Package: gunicorn
Version: 19.9.0-1
Installed-Size: 37
Maintainer: Chris Lamb <[email protected]>
Architecture: all
Provides: httpd-wsgi
Depends: python-gunicorn (= 19.9.0-1), python-pkg-resources, python-setuptools, python:any
Suggests: gunicorn-examples (= 19.9.0-1), python-gevent, python-pastedeploy, python-setproctitle, python-tornado
Description: Event-based HTTP/WSGI server (Python 2 version)
Description-md5: 787ef38c95705afb05a8c411753d128c
Homepage: http://gunicorn.org/
Section: httpd
Priority: optional
Filename: pool/main/g/gunicorn/gunicorn_19.9.0-1_all.deb
Size: 18120
MD5sum: 514b26302445ba1cbe9ed8b08625b15a
SHA256: 73f70cfb7389f070fb8d2f8dac605829418ec31a1dc60818c02a4c11a49ef0d8
$ apt-cache show gunicorn3
Package: gunicorn3
Source: gunicorn
Version: 19.9.0-1
Installed-Size: 33
Maintainer: Chris Lamb <[email protected]>
Architecture: all
Depends: python3-gunicorn (= 19.9.0-1), python3:any
Suggests: gunicorn-examples (= 19.9.0-1), python3-pastedeploy, python3-setproctitle, python3-tornado
Description: Event-based HTTP/WSGI server (Python 3 version)
Description-md5: 7ad8685995d2844d45d14f1f87394b11
Homepage: http://gunicorn.org/
Section: httpd
Priority: optional
Filename: pool/main/g/gunicorn/gunicorn3_19.9.0-1_all.deb
Size: 17636
MD5sum: 9c25d30c69b5c212d63ce4431fade8ec
SHA256: cf56ceeb66e6f5e550a1fbd18383a25881ce59abfc11a35dffbd677a0b7e37d9
Maybe a solution would be to skip the Gunicorn binary, depend on python3-gunicorn and run Gunicorn directly from Python, like
python3 -m gunicorn.app.wsgiapp pyca.ui:app
This is described in https://docs.gunicorn.org/en/stable/custom.html#direct-usage-of-existing-wsgi-apps
from pyca.
Hi,
Thanks for the advices.
I tried with this cmd: python3 -m gunicorn.app.wsgiapp pyca.ui:app
But Pyca failed to launch correctly:
[2020-06-12 13:37:47 +0200] [2245] [INFO] Starting gunicorn 20.0.4
[2020-06-12 13:37:47 +0200] [2245] [INFO] Listening at: http://127.0.0.1:8000 (2245)
[2020-06-12 13:37:47 +0200] [2245] [INFO] Using worker: sync
[2020-06-12 13:37:47 +0200] [2247] [INFO] Booting worker with pid: 2247
[2020-06-12 13:37:47 +0200] [2247] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 119, in init_process
self.load_wsgi()
File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 144, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 49, in load
return self.load_wsgiapp()
File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 383, in import_app
mod = importlib.import_module(module)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 961, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'pyca'
[2020-06-12 13:37:47 +0200] [2247] [INFO] Worker exiting (pid: 2247)
[2020-06-12 13:37:47 +0200] [2245] [INFO] Shutting down: Master
[2020-06-12 13:37:47 +0200] [2245] [INFO] Reason: Worker failed to boot.
from pyca.
@nyok92 This seems like another error. It does not find the pyca
module. This could have several reasons. The solution is most likely to properly install pyca or to run the command directly in the git repository.
Nonetheless we will try to provide a Debian package which is also usable under Ubuntu. Until then, you could probably best stick to @lkiesow suggestion.
from pyca.
Thanks @shaardie
I can't install the deb repo opencast-pyca because it depends of guicorn3 but thi isn't installable on ubuntu20.04
I tried to run the previous cmd in the git repo, but with no more success ( the same logs appears)
Then, with @lkiesow suggestion, i can't pass the pip install -r requirements.txt (see logs)
Thanks for your support both
Maybe i could wait until the next debian package :)
Installatioh logs
(venv) galicaster@galicaster-mobile:~/pyCA$ pip install -r requirements.txt
Collecting pycurl>=7.19.5
Using cached pycurl-7.43.0.5.tar.gz (216 kB)
Collecting python-dateutil>=2.4.0
Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting configobj>=5.0.0
Using cached configobj-5.0.6.tar.gz (33 kB)
Collecting sqlalchemy>=0.9.8
Using cached SQLAlchemy-1.3.17-cp38-cp38-manylinux2010_x86_64.whl (1.3 MB)
Collecting sdnotify>=0.3.2
Using cached sdnotify-0.3.2.tar.gz (2.5 kB)
Collecting flask
Using cached Flask-1.1.2-py2.py3-none-any.whl (94 kB)
Collecting six>=1.5
Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting Werkzeug>=0.15
Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting click>=5.1
Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting Jinja2>=2.10.1
Using cached Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
Collecting itsdangerous>=0.24
Using cached itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting MarkupSafe>=0.23
Using cached MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl (32 kB)
Building wheels for collected packages: pycurl, configobj, sdnotify
Building wheel for pycurl (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-f9_yn5nm
cwd: /tmp/pip-install-m4pjlibv/pycurl/
Complete output (8 lines):
Using curl-config (libcurl 7.68.0)
Using SSL library: OpenSSL/LibreSSL/BoringSSL
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for pycurl
Running setup.py clean for pycurl
Building wheel for configobj (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/configobj/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/configobj/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-4zssfj8_
cwd: /tmp/pip-install-m4pjlibv/configobj/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for configobj
Running setup.py clean for configobj
Building wheel for sdnotify (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/sdnotify/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/sdnotify/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-b23u3iza
cwd: /tmp/pip-install-m4pjlibv/sdnotify/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for sdnotify
Running setup.py clean for sdnotify
Failed to build pycurl configobj sdnotify
Installing collected packages: pycurl, six, python-dateutil, configobj, sqlalchemy, sdnotify, Werkzeug, click, MarkupSafe, Jinja2, itsdangerous, flask
Running setup.py install for pycurl ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dq_0m2j3/install-record.txt --single-version-externally-managed --compile --install-headers /home/galicaster/pyCA/venv/include/site/python3.8/pycurl
cwd: /tmp/pip-install-m4pjlibv/pycurl/
Complete output (31 lines):
Using curl-config (libcurl 7.68.0)
Using SSL library: OpenSSL/LibreSSL/BoringSSL
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/curl
copying python/curl/__init__.py -> build/lib.linux-x86_64-3.8/curl
running build_ext
building 'pycurl' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/src
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/docstrings.c -o build/temp.linux-x86_64-3.8/src/docstrings.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easy.c -o build/temp.linux-x86_64-3.8/src/easy.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easycb.c -o build/temp.linux-x86_64-3.8/src/easycb.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easyinfo.c -o build/temp.linux-x86_64-3.8/src/easyinfo.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easyopt.c -o build/temp.linux-x86_64-3.8/src/easyopt.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easyperform.c -o build/temp.linux-x86_64-3.8/src/easyperform.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/module.c -o build/temp.linux-x86_64-3.8/src/module.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/multi.c -o build/temp.linux-x86_64-3.8/src/multi.o
x86_64-linux-gnu-(venv) galicaster@galicaster-mobile:~/pyCA$ pip install -r requirements.txt
Collecting pycurl>=7.19.5
Using cached pycurl-7.43.0.5.tar.gz (216 kB)
Collecting python-dateutil>=2.4.0
Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting configobj>=5.0.0
Using cached configobj-5.0.6.tar.gz (33 kB)
Collecting sqlalchemy>=0.9.8
Using cached SQLAlchemy-1.3.17-cp38-cp38-manylinux2010_x86_64.whl (1.3 MB)
Collecting sdnotify>=0.3.2
Using cached sdnotify-0.3.2.tar.gz (2.5 kB)
Collecting flask
Using cached Flask-1.1.2-py2.py3-none-any.whl (94 kB)
Collecting six>=1.5
Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting Werkzeug>=0.15
Using cached Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
Collecting click>=5.1
Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting Jinja2>=2.10.1
Using cached Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
Collecting itsdangerous>=0.24
Using cached itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting MarkupSafe>=0.23
Using cached MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl (32 kB)
Building wheels for collected packages: pycurl, configobj, sdnotify
Building wheel for pycurl (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-f9_yn5nm
cwd: /tmp/pip-install-m4pjlibv/pycurl/
Complete output (8 lines):
Using curl-config (libcurl 7.68.0)
Using SSL library: OpenSSL/LibreSSL/BoringSSL
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for pycurl
Running setup.py clean for pycurl
Building wheel for configobj (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/configobj/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/configobj/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-4zssfj8_
cwd: /tmp/pip-install-m4pjlibv/configobj/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for configobj
Running setup.py clean for configobj
Building wheel for sdnotify (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/sdnotify/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/sdnotify/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-b23u3iza
cwd: /tmp/pip-install-m4pjlibv/sdnotify/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Failed building wheel for sdnotify
Running setup.py clean for sdnotify
Failed to build pycurl configobj sdnotify
Installing collected packages: pycurl, six, python-dateutil, configobj, sqlalchemy, sdnotify, Werkzeug, click, MarkupSafe, Jinja2, itsdangerous, flask
Running setup.py install for pycurl ... error
ERROR: Command errored out with exit status 1:
command: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dq_0m2j3/install-record.txt --single-version-externally-managed --compile --install-headers /home/galicaster/pyCA/venv/include/site/python3.8/pycurl
cwd: /tmp/pip-install-m4pjlibv/pycurl/
Complete output (31 lines):
Using curl-config (libcurl 7.68.0)
Using SSL library: OpenSSL/LibreSSL/BoringSSL
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/curl
copying python/curl/__init__.py -> build/lib.linux-x86_64-3.8/curl
running build_ext
building 'pycurl' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/src
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/docstrings.c -o build/temp.linux-x86_64-3.8/src/docstrings.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easy.c -o build/temp.linux-x86_64-3.8/src/easy.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easycb.c -o build/temp.linux-x86_64-3.8/src/easycb.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easyinfo.c -o build/temp.linux-x86_64-3.8/src/easyinfo.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easyopt.c -o build/temp.linux-x86_64-3.8/src/easyopt.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/easyperform.c -o build/temp.linux-x86_64-3.8/src/easyperform.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/module.c -o build/temp.linux-x86_64-3.8/src/module.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/multi.c -o build/temp.linux-x86_64-3.8/src/multi.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/oscompat.c -o build/temp.linux-x86_64-3.8/src/oscompat.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/pythoncompat.c -o build/temp.linux-x86_64-3.8/src/pythoncompat.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/share.c -o build/temp.linux-x86_64-3.8/src/share.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/stringcompat.c -o build/temp.linux-x86_64-3.8/src/stringcompat.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/threadsupport.c -o build/temp.linux-x86_64-3.8/src/threadsupport.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/util.c -o build/temp.linux-x86_64-3.8/src/util.o
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/docstrings.o build/temp.linux-x86_64-3.8/src/easy.o build/temp.linux-x86_64-3.8/src/easycb.o build/temp.linux-x86_64-3.8/src/easyinfo.o build/temp.linux-x86_64-3.8/src/easyopt.o build/temp.linux-x86_64-3.8/src/easyperform.o build/temp.linux-x86_64-3.8/src/module.o build/temp.linux-x86_64-3.8/src/multi.o build/temp.linux-x86_64-3.8/src/oscompat.o build/temp.linux-x86_64-3.8/src/pythoncompat.o build/temp.linux-x86_64-3.8/src/share.o build/temp.linux-x86_64-3.8/src/stringcompat.o build/temp.linux-x86_64-3.8/src/threadsupport.o build/temp.linux-x86_64-3.8/src/util.o -lssl -lcrypto -lcurl -o build/lib.linux-x86_64-3.8/pycurl.cpython-38-x86_64-linux-gnu.so
running install_lib
creating /home/galicaster/pyCA/venv/lib/python3.8/site-packages/curl
error: could not create '/home/galicaster/pyCA/venv/lib/python3.8/site-packages/curl': Permission denied
----------------------------------------
ERROR: Command errored out with exit status 1: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dq_0m2j3/install-record.txt --single-version-externally-managed --compile --install-headers /home/galicaster/pyCA/venv/include/site/python3.8/pycurl Check the logs for full command output.
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/oscompat.c -o build/temp.linux-x86_64-3.8/src/oscompat.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/pythoncompat.c -o build/temp.linux-x86_64-3.8/src/pythoncompat.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/share.c -o build/temp.linux-x86_64-3.8/src/share.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/stringcompat.c -o build/temp.linux-x86_64-3.8/src/stringcompat.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/threadsupport.c -o build/temp.linux-x86_64-3.8/src/threadsupport.o
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCURL_VERSION="7.43.0.5" -DHAVE_CURL_SSL=1 -DHAVE_CURL_OPENSSL=1 -DHAVE_CURL_SSL=1 -I/home/galicaster/pyCA/venv/include -I/usr/include/python3.8 -c src/util.c -o build/temp.linux-x86_64-3.8/src/util.o
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/docstrings.o build/temp.linux-x86_64-3.8/src/easy.o build/temp.linux-x86_64-3.8/src/easycb.o build/temp.linux-x86_64-3.8/src/easyinfo.o build/temp.linux-x86_64-3.8/src/easyopt.o build/temp.linux-x86_64-3.8/src/easyperform.o build/temp.linux-x86_64-3.8/src/module.o build/temp.linux-x86_64-3.8/src/multi.o build/temp.linux-x86_64-3.8/src/oscompat.o build/temp.linux-x86_64-3.8/src/pythoncompat.o build/temp.linux-x86_64-3.8/src/share.o build/temp.linux-x86_64-3.8/src/stringcompat.o build/temp.linux-x86_64-3.8/src/threadsupport.o build/temp.linux-x86_64-3.8/src/util.o -lssl -lcrypto -lcurl -o build/lib.linux-x86_64-3.8/pycurl.cpython-38-x86_64-linux-gnu.so
running install_lib
creating /home/galicaster/pyCA/venv/lib/python3.8/site-packages/curl
error: could not create '/home/galicaster/pyCA/venv/lib/python3.8/site-packages/curl': Permission denied
----------------------------------------
ERROR: Command errored out with exit status 1: /home/galicaster/pyCA/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m4pjlibv/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dq_0m2j3/install-record.txt --single-version-externally-managed --compile --install-headers /home/galicaster/pyCA/venv/include/site/python3.8/pycurl Check the logs for full command output.
EDIT: Some formatting done by @lkiesow for readability
from pyca.
error: could not create '/home/galicaster/pyCA/venv/lib/python3.8/site-packages/curl': Permission denied
That sounds like you ran some of the commands with root privileges so that are aren't allowed to write to this as a normal user any longer.
Maybe i could wait until the next debian package :)
Sure. That way, you don't need to deal with this :D
We will likely bring out a new version shortly anyway.
from pyca.
python3 -m gunicorn.app.wsgiapp pyca.ui:app
@shaardie, do we want to use this in the Systemd units as well?
pyCA/init/systemd/pyca-ui.service
Line 11 in 2ed97cf
…would then become
ExecStart=/usr/bin/python3 -m gunicorn.app.wsgiapp --config=/etc/pyca/gunicorn.conf.py pyca.ui:app
from pyca.
Yes, that's the idea. We can do this here, instead of the packaging, so our software will get more usable across different OS's.
from pyca.
Related Issues (20)
- Use self.assert* instead of assert
- Document upload to PyPI
- Description for PyPI
- Use urllib.parse.urljoin HOT 2
- Event is upcoming and recording at the same time HOT 1
- Release database sessions
- Error ingesting a finished recording HOT 5
- Switch to GitHub Actions HOT 2
- Allow HLS preview
- Allow continuous preview HOT 4
- Don't store and upload metadata catalogs HOT 2
- Capturing two usb streams using pyCA HOT 7
- Creating a pyCA initiated event HOT 4
- Add ability to download files form the UI
- Could pyCA evaluate the setting of "Add live event to Opencast Media Module"? HOT 2
- Undeprecate `upload_catalogs` option HOT 1
- Update ffmpeg version in Dockerfile HOT 6
- Probe for capture devices in metrics
- installation from packages fails HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyca.