Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation from bash script doesn't work #1362

Closed
mflage opened this issue Sep 10, 2020 · 18 comments
Closed

Installation from bash script doesn't work #1362

mflage opened this issue Sep 10, 2020 · 18 comments

Comments

@mflage
Copy link

mflage commented Sep 10, 2020

Overview of the Issue

Installing using 'bash <(curl -sL https://www.screenly.io/install-ose.sh)' method doesn't yield a working Screenly installation after finishing. The reason I need to use this installation method is that we need to use the Pi for something else than just Screenly.

Upon reboot I see no running screenly instance. I just see the console screen to log into the Pi.

Reproduction Steps

Environment

  • Raspberry Pi Hardware Version: Pi3B
  • Raspberry Pi Network Setup: Ethernet
  • Screenly OSE Version: The one provided by the script
@Noschvie
Copy link

Did you test running "Raspbian Stretch / Lite" ?
#1354 (comment)
#1355 (comment)

@mflage
Copy link
Author

mflage commented Sep 10, 2020

Yes, I used this one:

Raspberry Pi OS (32-bit) Lite
Minimal image based on Debian Buster

@Noschvie
Copy link

Raspberry Pi OS (32-bit) Lite
Minimal image based on Debian Buster

Use Stretch instead of Buster

@mflage
Copy link
Author

mflage commented Sep 10, 2020

I attempted to run on Stretch, but I'm then getting:

TASK [screenly : Install pip dependencies] *****************************************************************************************************************************************************************************************

Collecting Mako==0.7.3
  Downloading Mako-0.7.3.tar.gz (401 kB)
Collecting MarkupSafe==1.0
  Downloading MarkupSafe-1.0.tar.gz (14 kB)
Collecting ansible==2.8.8
  Downloading ansible-2.8.8.tar.gz (12.7 MB)
Collecting celery==4.3.0
  Downloading celery-4.3.0-py2.py3-none-any.whl (413 kB)
Collecting certifi==2018.4.16
  Downloading certifi-2018.4.16-py2.py3-none-any.whl (150 kB)
Collecting cffi==1.13.2
  Downloading cffi-1.13.2.tar.gz (460 kB)
Collecting click==6.7
  Downloading click-6.7-py2.py3-none-any.whl (71 kB)
Collecting configparser==3.5.0
  Downloading configparser-3.5.0.tar.gz (39 kB)
Collecting cryptography==2.8
  Downloading cryptography-2.8.tar.gz (504 kB)
  Installing build dependencies: started
  Installing build dependencies: still running...
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Collecting Flask-Cors==3.0.4
  Downloading Flask_Cors-3.0.4-py2.py3-none-any.whl (13 kB)
Collecting flask-restful-swagger-2==0.35
  Downloading flask-restful-swagger-2-0.35.tar.gz (11 kB)
Collecting flask-swagger-ui==3.0.12
  Downloading flask-swagger-ui-3.0.12.tar.gz (447 kB)
Collecting flask==1.0.2
  Downloading Flask-1.0.2-py2.py3-none-any.whl (91 kB)
Collecting flask_restful==0.3.6
  Downloading Flask_RESTful-0.3.6-py2.py3-none-any.whl (25 kB)
Collecting futures==3.0.5
  Downloading futures-3.0.5-py2-none-any.whl (14 kB)
Collecting gevent-websocket==0.10.1
  Downloading gevent-websocket-0.10.1.tar.gz (18 kB)
Collecting gevent==1.2.2
  Downloading gevent-1.2.2.tar.gz (3.1 MB)
Collecting gunicorn==19.8.1
  Downloading gunicorn-19.8.1-py2.py3-none-any.whl (112 kB)
Collecting hurry.filesize==0.9
  Downloading hurry.filesize-0.9.tar.gz (2.8 kB)
Collecting jinja2==2.10.1
  Downloading Jinja2-2.10.1-py2.py3-none-any.whl (124 kB)
Collecting kombu==4.6.3
  Downloading kombu-4.6.3-py2.py3-none-any.whl (181 kB)
Collecting mixpanel==4.3.2
  Downloading mixpanel-4.3.2-py2.py3-none-any.whl (8.1 kB)
Requirement already satisfied: netifaces==0.10.4 in /usr/lib/python2.7/dist-packages (from -r /home/pi/screenly/requirements/requirements.txt (line 23)) (0.10.4)
Collecting psutil==5.6.7
  Downloading psutil-5.6.7.tar.gz (448 kB)
Collecting pyasn1==0.1.8
  Downloading pyasn1-0.1.8.tar.gz (75 kB)
Collecting pydbus==0.6.0
  Downloading pydbus-0.6.0-py2.py3-none-any.whl (19 kB)
Collecting python-dateutil==2.4.2
  Downloading python_dateutil-2.4.2-py2.py3-none-any.whl (188 kB)
Collecting pytz==2012d
  Downloading pytz-2012d.tar.bz2 (166 kB)
Collecting pyzmq==16.0.2
  Downloading pyzmq-16.0.2.tar.gz (1.0 MB)
Collecting pyOpenSSL==19.1.0
  Downloading pyOpenSSL-19.1.0-py2.py3-none-any.whl (53 kB)
Collecting redis==3.2.0
  Downloading redis-3.2.0-py2.py3-none-any.whl (65 kB)
Collecting requests[security]==2.22.0
  Downloading requests-2.22.0-py2.py3-none-any.whl (57 kB)
Collecting sh==1.08
  Downloading sh-1.08.tar.gz (25 kB)
Collecting six==1.11.0
  Downloading six-1.11.0-py2.py3-none-any.whl (10 kB)
Collecting uptime==2.0.2
  Downloading uptime-2.0.2.tar.gz (6.3 kB)
Collecting urllib3==1.25.7
  Downloading urllib3-1.25.7-py2.py3-none-any.whl (125 kB)
Collecting werkzeug==0.15.3
  Downloading Werkzeug-0.15.3-py2.py3-none-any.whl (327 kB)
Collecting youtube_dl>=2017.7.2
  Downloading youtube_dl-2020.9.6-py2.py3-none-any.whl (1.8 MB)
Requirement already satisfied: PyYAML in /usr/local/lib/python2.7/dist-packages (from ansible==2.8.8->-r /home/pi/screenly/requirements/requirements.txt (line 3)) (5.3.1)
Collecting billiard<4.0,>=3.6.0
  Downloading billiard-3.6.3.0.tar.gz (155 kB)
Collecting vine>=1.3.0
  Downloading vine-1.3.0-py2.py3-none-any.whl (14 kB)
Requirement already satisfied: pycparser in /usr/local/lib/python2.7/dist-packages (from cffi==1.13.2->-r /home/pi/screenly/requirements/requirements.txt (line 6)) (2.20)
Requirement already satisfied: enum34; python_version < \"3\" in /usr/local/lib/python2.7/dist-packages (from cryptography==2.8->-r /home/pi/screenly/requirements/requirements.txt (line 9)) (1.1.10)
Requirement already satisfied: ipaddress; python_version < \"3\" in /usr/local/lib/python2.7/dist-packages (from cryptography==2.8->-r /home/pi/screenly/requirements/requirements.txt (line 9)) (1.0.23)
Collecting itsdangerous>=0.24
  Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting aniso8601>=0.82
  Downloading aniso8601-8.0.0-py2.py3-none-any.whl (43 kB)
Collecting greenlet>=0.4.10
  Downloading greenlet-0.4.16.tar.gz (60 kB)
Requirement already satisfied: setuptools in /usr/local/lib/python2.7/dist-packages (from hurry.filesize==0.9->-r /home/pi/screenly/requirements/requirements.txt (line 19)) (44.1.1)
Collecting amqp<3.0,>=2.5.0
  Downloading amqp-2.6.1-py2.py3-none-any.whl (48 kB)
Collecting chardet<3.1.0,>=3.0.2
  Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting idna<2.9,>=2.5
  Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
Building wheels for collected packages: Mako, MarkupSafe, ansible, cffi, configparser, cryptography, flask-restful-swagger-2, flask-swagger-ui, gevent-websocket, gevent, hurry.filesize, psutil, pyasn1, pytz, pyzmq, sh, uptime, billiard, greenlet
  Building wheel for Mako (setup.py): started
  Building wheel for Mako (setup.py): finished with status 'done'
  Created wheel for Mako: filename=Mako-0.7.3-py2-none-any.whl size=72673 sha256=b7bbd3e14792ff2dbb3cdc16486cb3d81fe853262c0eec301d42a80d820a6609
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/e2/e8/a4/6efdba9e892b2825a22e55778aa3b420bffcceea95d207493a
  Building wheel for MarkupSafe (setup.py): started
  Building wheel for MarkupSafe (setup.py): finished with status 'done'
  Created wheel for MarkupSafe: filename=MarkupSafe-1.0-cp27-cp27mu-linux_armv7l.whl size=27079 sha256=90d8491833516ee5f2d6fdcd99ceb8bee2609dbb2667610a91995c55a690dad8
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/76/15/57/811ea135285057c7b50def09e7a35222f174964c573baa7348
  Building wheel for ansible (setup.py): started
  Building wheel for ansible (setup.py): still running...
  Building wheel for ansible (setup.py): finished with status 'done'
  Created wheel for ansible: filename=ansible-2.8.8-py2-none-any.whl size=12650706 sha256=96bd7e0b51ebbac6c9ec11a6da11cdf14cbdcbdfc8f2d56f96f1d471877ff351
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/2b/19/17/b522a54c245b76bae0b70fc845cf156f285f18c2326bcbb5a5
  Building wheel for cffi (setup.py): started
  Building wheel for cffi (setup.py): finished with status 'done'
  Created wheel for cffi: filename=cffi-1.13.2-cp27-cp27mu-linux_armv7l.whl size=302726 sha256=cd81a2fb4165f40d8c03e6c6bcfa94d0f5ed1eebd96bf8eccf9eeee51b14131e
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/1e/a4/8b/86a730f18d9f4de2bc3e093637e91df428e206db2169a06546
  Building wheel for configparser (setup.py): started
  Building wheel for configparser (setup.py): finished with status 'done'
  Created wheel for configparser: filename=configparser-3.5.0-py2-none-any.whl size=21660 sha256=80615e7e783a9afa976d2d26e96f813915867f284dd673faf1cb6a7e57822d0e
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/fe/e1/b2/ffea2d060a50955b9228e7a1dc7b1fc7a5013dc506da8c5272
  Building wheel for cryptography (PEP 517): started
  Building wheel for cryptography (PEP 517): still running...
  Building wheel for cryptography (PEP 517): finished with status 'done'
  Created wheel for cryptography: filename=cryptography-2.8-cp27-cp27mu-linux_armv7l.whl size=775144 sha256=6785abb12aa56c17c1766da754f9b33169a189ecabaa329f9adbea993b1876f2
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/e3/02/77/c3a60a7154123cfce421af1454eb2c3ef444bbf56c4af0360a
  Building wheel for flask-restful-swagger-2 (setup.py): started
  Building wheel for flask-restful-swagger-2 (setup.py): finished with status 'done'
  Created wheel for flask-restful-swagger-2: filename=flask_restful_swagger_2-0.35-py2-none-any.whl size=9211 sha256=bcb7eda09a53dae78f615f8c0466cefe8ba95cbe87fd4293bc6c93ad19680b33
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/4b/09/c4/ef811eaabf5dc420ac709c75d9e1fc4e79dd1fe7cb40c53b22
  Building wheel for flask-swagger-ui (setup.py): started
  Building wheel for flask-swagger-ui (setup.py): finished with status 'done'
  Created wheel for flask-swagger-ui: filename=flask_swagger_ui-3.0.12-py2-none-any.whl size=451507 sha256=27cdcf1adb7b62556bc245be06f11c662ef94f245cbcda784d0e8960a4d59399
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/bc/db/02/3785f71594a74707aa811435c5c4c442d286818d1ef871664f
  Building wheel for gevent-websocket (setup.py): started
  Building wheel for gevent-websocket (setup.py): finished with status 'done'
  Created wheel for gevent-websocket: filename=gevent_websocket-0.10.1-py2-none-any.whl size=21280 sha256=534a8faed03d17b4fb0d005d544299dfaa407370e7775ea0c5ddfb210cb57892
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/1e/de/9b/b161300e26a24478867ecffef620fe8b269a39fc91623f7a61
  Building wheel for gevent (setup.py): started
  Building wheel for gevent (setup.py): still running...
  Building wheel for gevent (setup.py): still running...
  Building wheel for gevent (setup.py): still running...
  Building wheel for gevent (setup.py): finished with status 'done'
  Created wheel for gevent: filename=gevent-1.2.2-cp27-cp27mu-linux_armv7l.whl size=1518615 sha256=5668f5dbf39666e2fe12da3170f8e3984530a1f231c83361b2d25257c464d222
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/bb/9b/a9/51021cbe6b4cd232741dbd5b6df83b4af3e680bb8c6aa049c4
  Building wheel for hurry.filesize (setup.py): started
  Building wheel for hurry.filesize (setup.py): finished with status 'done'
  Created wheel for hurry.filesize: filename=hurry.filesize-0.9-py2-none-any.whl size=4133 sha256=b9edb1c95a952b7ef111d2b0dc5a130683df558405ff7a0c8e8ae2e6a1e9f921
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/05/ee/3f/33fa40f1030ba410f6131828ee48b6e73a606b965bbe35879b
  Building wheel for psutil (setup.py): started
  Building wheel for psutil (setup.py): finished with status 'done'
  Created wheel for psutil: filename=psutil-5.6.7-cp27-cp27mu-linux_armv7l.whl size=267045 sha256=a9d47b67eabf7415bac63c4fe580bf1608cc188d7821c1c831e477815f0a8e98
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/b6/8c/7a/f28c6f4fa509c6a274590af7eef26e5a206ace8753c59a4257
  Building wheel for pyasn1 (setup.py): started
  Building wheel for pyasn1 (setup.py): finished with status 'done'
  Created wheel for pyasn1: filename=pyasn1-0.1.8-py2-none-any.whl size=36615 sha256=bbaea733ec0171382e0d2bb6d5d21fc678681eb6dfd25929f4be2a708411a584
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/42/74/53/fce22448c9bf9cef7dcf392cee723d419025a65b3975a9822e
  Building wheel for pytz (setup.py): started
  Building wheel for pytz (setup.py): finished with status 'done'
  Created wheel for pytz: filename=pytz-2012d-py2-none-any.whl size=502806 sha256=a0380b17df444f161d496ab576f5d8002cb5af7941217d09a01af8fc6def2079
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/63/36/cc/ad8c24d8e0bb50bd30b6fc3f31b0c1d89af5d932d19cfd10f1
  Building wheel for pyzmq (setup.py): started
  Building wheel for pyzmq (setup.py): still running...
  Building wheel for pyzmq (setup.py): still running...
  Building wheel for pyzmq (setup.py): still running...
  Building wheel for pyzmq (setup.py): still running...
  Building wheel for pyzmq (setup.py): still running...
  Building wheel for pyzmq (setup.py): still running...
  Building wheel for pyzmq (setup.py): finished with status 'done'
  Created wheel for pyzmq: filename=pyzmq-16.0.2-cp27-cp27mu-linux_armv7l.whl size=3347214 sha256=9e86f62c5eb129e2feb5af4df915386a1cc8f805217d4feaacd47e6155db1b62
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/e2/89/bf/2ef20fd06f86b02cef9374fa2c94d43d09fea942778e3b7c5a
  Building wheel for sh (setup.py): started
  Building wheel for sh (setup.py): finished with status 'done'
  Created wheel for sh: filename=sh-1.8-py2-none-any.whl size=19373 sha256=717d507fb3c7a5ba2d0bf6e371071e07cc8679a02aba2a9d62274a9a77dedc99
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/37/15/4e/48b99fe564a65c3437ebf68739adc6738da3b5134817c434d8
  Building wheel for uptime (setup.py): started
  Building wheel for uptime (setup.py): finished with status 'done'
  Created wheel for uptime: filename=uptime-2.0.2-cp27-cp27mu-linux_armv7l.whl size=18284 sha256=1792a51fcc7ca7fbcdb9412fd1381bb9891c476ea485d369a554fc7def6f9fae
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/33/f3/71/58912e32ec10e245ab5e438e2d965e8ae47818335a0f9487ac
  Building wheel for billiard (setup.py): started
  Building wheel for billiard (setup.py): finished with status 'done'
  Created wheel for billiard: filename=billiard-3.6.3.0-cp27-cp27mu-linux_armv7l.whl size=118567 sha256=488ea2d6a4b8ea35e4c2657741bac41d22c111e3b5b06c062934a90a6db2c2cb
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/88/11/53/9af62f156761361089955e143a92658fdd8947d24389b0f15b
  Building wheel for greenlet (setup.py): started
  Building wheel for greenlet (setup.py): finished with status 'done'
  Created wheel for greenlet: filename=greenlet-0.4.16-cp27-cp27mu-linux_armv7l.whl size=39596 sha256=92cc7d5942495ab1a971a7d46d8b43dfa3fa7725d825ea5bfebf5497a26b9805
  Stored in directory: /tmp/pip-ephem-wheel-cache-3p5XZS/wheels/c8/c2/b8/7e60d1e48e5e507d52cda38a74dbed29aafc0135ace48470cf
Successfully built Mako MarkupSafe ansible cffi configparser cryptography flask-restful-swagger-2 flask-swagger-ui gevent-websocket gevent hurry.filesize psutil pyasn1 pytz pyzmq sh uptime billiard greenlet
Installing collected packages: MarkupSafe, Mako, jinja2, six, cffi, cryptography, ansible, vine, amqp, kombu, pytz, billiard, celery, certifi, click, configparser, werkzeug, itsdangerous, flask, Flask-Cors, aniso8601, flask-restful, flask-restful-swagger-2, flask-swagger-ui, futures, greenlet, gevent, gevent-websocket, gunicorn, hurry.filesize, mixpanel, psutil, pyasn1, pydbus, python-dateutil, pyzmq, pyOpenSSL, redis, chardet, urllib3, idna, requests, sh, uptime, youtube-dl
  Attempting uninstall: MarkupSafe
    Found existing installation: MarkupSafe 1.1.1
    Uninstalling MarkupSafe-1.1.1:
      Successfully uninstalled MarkupSafe-1.1.1
  Attempting uninstall: jinja2
    Found existing installation: Jinja2 2.11.2
    Uninstalling Jinja2-2.11.2:
      Successfully uninstalled Jinja2-2.11.2
  Attempting uninstall: six
    Found existing installation: six 1.15.0
    Uninstalling six-1.15.0:
      Successfully uninstalled six-1.15.0
  Attempting uninstall: cffi
    Found existing installation: cffi 1.14.2
    Uninstalling cffi-1.14.2:
      Successfully uninstalled cffi-1.14.2
  Attempting uninstall: cryptography
    Found existing installation: cryptography 3.1
    Uninstalling cryptography-3.1:
      Successfully uninstalled cryptography-3.1
  Attempting uninstall: ansible
    Found existing installation: ansible 2.8.2
    Uninstalling ansible-2.8.2:
      Successfully uninstalled ansible-2.8.2
Successfully installed Flask-Cors-3.0.4 Mako-0.7.3 MarkupSafe-1.0 amqp-2.6.1 aniso8601-8.0.0 ansible-2.8.8 billiard-3.6.3.0 celery-4.3.0 certifi-2018.4.16 cffi-1.13.2 chardet-3.0.4 click-6.7 configparser-3.5.0 cryptography-2.8 flask-1.0.2 flask-restful-0.3.6 flask-restful-swagger-2-0.35 flask-swagger-ui-3.0.12 futures-3.0.5 gevent-1.2.2 gevent-websocket-0.10.1 greenlet-0.4.16 gunicorn-19.8.1 hurry.filesize-0.9 idna-2.8 itsdangerous-1.1.0 jinja2-2.10.1 kombu-4.6.3 mixpanel-4.3.2 psutil-5.6.7 pyOpenSSL-19.1.0 pyasn1-0.1.8 pydbus-0.6.0 python-dateutil-2.4.2 pytz-2012d pyzmq-16.0.2 redis-3.2.0 requests-2.22.0 sh-1.8 six-1.11.0 uptime-2.0.2 urllib3-1.25.7 vine-1.3.0 werkzeug-0.15.3 youtube-dl-2020.9.6

:stderr: DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
WARNING: The directory '/home/pi/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Traceback (most recent call last):
  File \"/usr/local/bin/pip2\", line 8, in <module>
    sys.exit(main())
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/cli/main.py\", line 75, in main
    return command.main(cmd_args)
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/cli/base_command.py\", line 121, in main
    return self._main(args)
  File \"/usr/lib/python2.7/contextlib.py\", line 24, in __exit__
    self.gen.next()
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/cli/command_context.py\", line 28, in main_context
    yield
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 479, in __exit__
    _reraise_with_existing_context(exc_details)
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 353, in _reraise_with_existing_context
    exec(\"raise exc_type, exc_value, exc_tb\")
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 468, in __exit__
    if cb(*exc_details):
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 396, in _exit_wrapper
    return cm_exit(cm, *exc_details)
  File \"/usr/lib/python2.7/contextlib.py\", line 24, in __exit__
    self.gen.next()
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/utils/temp_dir.py\", line 46, in global_tempdir_manager
    _tempdir_manager = old_tempdir_manager
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 479, in __exit__
    _reraise_with_existing_context(exc_details)
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 353, in _reraise_with_existing_context
    exec(\"raise exc_type, exc_value, exc_tb\")
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 468, in __exit__
    if cb(*exc_details):
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/contextlib2.py\", line 396, in _exit_wrapper
    return cm_exit(cm, *exc_details)
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/utils/temp_dir.py\", line 175, in __exit__
    self.cleanup()
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/utils/temp_dir.py\", line 199, in cleanup
    rmtree(ensure_text(self._path))
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/retrying.py\", line 49, in wrapped_f
    return Retrying(*dargs, **dkw).call(f, *args, **kw)
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/retrying.py\", line 212, in call
    raise attempt.get()
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/retrying.py\", line 247, in get
    six.reraise(self.value[0], self.value[1], self.value[2])
  File \"/usr/local/lib/python2.7/dist-packages/pip/_vendor/retrying.py\", line 200, in call
    attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
  File \"/usr/local/lib/python2.7/dist-packages/pip/_internal/utils/misc.py\", line 139, in rmtree
    onerror=rmtree_errorhandler)
  File \"/usr/lib/python2.7/shutil.py\", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File \"/usr/lib/python2.7/shutil.py\", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File \"/usr/lib/python2.7/shutil.py\", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File \"/usr/lib/python2.7/shutil.py\", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File \"/usr/lib/python2.7/shutil.py\", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File \"/usr/lib/python2.7/shutil.py\", line 241, in rmtree
    fullname = os.path.join(path, name)
  File \"/usr/lib/python2.7/posixpath.py\", line 73, in join
    path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 13: ordinal not in range(128)

An insane blob og error. Seems like it's attempting to delete some folders and failing.

@mflage
Copy link
Author

mflage commented Sep 10, 2020

I commented out that task in the ansible playbook, let's see if it moves past that now.

@javad87
Copy link

javad87 commented Sep 10, 2020

Can someone let us know if OSE is working in stable manner on Raspbeery pi4?

I received this response from Screenly support:

Hi
Thanks for reaching out.

We are, unfortunately, unable to provide one-on-one support for Screenly OSE as it is a free product. This help page will point you towards available resources:
https://support.screenly.io/hc/en-us/categories/360002606694-OSE

You should note that the Raspberry Pi 4 board has had some well publicised issues with video and wifi; with this in mind, if reliability is important for your signs, we advise that you use the 3B+ variant. This is low cost and very reliable.

Best, Nick

--
Nick Bell
Screenly, Inc.

@ealmonte32
Copy link
Contributor

The directory '/home/pi/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory.

Can you remove that directory? rm -rf /home/pi/.cache ?

also, can you edit your /home/pi/screenly/bin/install.sh and find this line and add that force=yes at the end:

sudo -u pi ansible localhost -m git -a "repo=$REPOSITORY dest=/home/pi/screenly version=$BRANCH force=yes"

then run that install.sh file.

@mflage
Copy link
Author

mflage commented Sep 14, 2020

The directory '/home/pi/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory.

Can you remove that directory? rm -rf /home/pi/.cache ?

also, can you edit your /home/pi/screenly/bin/install.sh and find this line and add that force=yes at the end:

sudo -u pi ansible localhost -m git -a "repo=$REPOSITORY dest=/home/pi/screenly version=$BRANCH force=yes"

then run that install.sh file.

Nope, that didn't help. Same problem. The only way to get past that is by commenting out the task in the playbook.

@ealmonte32
Copy link
Contributor

Nope, that didn't help. Same problem. The only way to get past that is by commenting out the task in the playbook.

You had to comment out this task: TASK [screenly : Install pip dependencies] for it to work? then something def out of whack happening, and it is most likely not with ansible..

Which branch are you selecting when running the install script?

Something is not allowing the packages to install properly, before running the installer again just to test, can you remove all pip packages by running this line: pip freeze | xargs sudo pip uninstall -y ?

or if starting fresh, can you confirm this install script being ran is on a fresh raspbian stretch image from: http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/
?
did something run or install before you did the install script? because it's not normal for your user pi to not have permissions to delete that cache directory if pi is the owner and is the user who ran the installer previously...
Screen Shot 2020-09-15 at 1 06 51 AM

if you decide to just start fresh with raspbian stretch lite image and then running the bash install script, note down the exact steps you are taking with details in case it doesnt work so that i can try to reproduce the issue.

@mflage
Copy link
Author

mflage commented Sep 15, 2020

You had to comment out this task: TASK [screenly : Install pip dependencies] for it to work? then something def out of whack happening, and it is most likely not with ansible..

Correct. If I let it run once, then it has already performed the pip installation and I can then just omit that step. I'm also wondering why the ansible task is taking several minutes, while running pip install -r /home/pi/screenly/requirements/requirements.txt manually only takes a few seconds. What else is ansible doing in each of these tasks?

Which branch are you selecting when running the install script?

Most "stable like" setup. No to everything.

or if starting fresh, can you confirm this install script being ran is on a fresh raspbian stretch image from: http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/?

This is the one I was using for the pi3: 2019-04-08-raspbian-stretch-lite.zip

if you decide to just start fresh with raspbian stretch lite image and then running the bash install script, note down the exact steps you are taking with details in case it doesnt work so that i can try to reproduce the issue.

I'll see what I can do. I am currently using pi4 to install now, but I'll see if I can make another stab at the 3.

@mflage
Copy link
Author

mflage commented Sep 15, 2020

The exact same thing happens when installing on a Pi4. This is with the most recent buster image. Just booted and gotten the Pi online and then run: bash <(curl -sL https://www.screenly.io/install-ose.sh) . For the Pi4 installation I chose Y on the following question: Would you like to use the development (master) branch? You will get the latest features, but things may break.

So it should be very easily reproducible.

@ealmonte32
Copy link
Contributor

Correct. If I let it run once, then it has already performed the pip installation and I can then just omit that step. I'm also wondering why the ansible task is taking several minutes, while running pip install -r /home/pi/screenly/requirements/requirements.txt manually only takes a few seconds. What else is ansible doing in each of these tasks?

ansible doesnt do anything except the task at hand, ansible is installing all of the packages in the requirements.txt file for the first time, remember that upon first installing of python packages pip installs the source distributions and most dont have wheels and need to be compiled so your installation will need to build wheels for each one that is not in the form of a wheel package to begin with..
when you ran the pip install manually, were those packages already installed on the system? i will assume yes, if so, that is obviously going to be faster than installing from scratch (packages are already cached).

btw, how are you getting the logs to show what pip is installing during the ansible task if that doesnt normally show or even in journalctl? i dont think you are doing a normal installation, you are leaving out exact steps you are taking for your installation, and you mentioned this RPi will be used for more than just screenly so which part are you doing first, your screenly-ose install or your other thing first?


I'll see what I can do. I am currently using pi4 to install now, but I'll see if I can make another stab at the 3.

I dont have an rpi4 to test with but I dont think production branch or even exp/dev branch is compatible without some modifications to the installer and the dependencies/packages..


So I grabbed one of my test rpi3b and flashed the stretch lite image, and set up localization with sudo raspi-config because i always do that first and foremost, and then i ran the installer script. (well mine but its basically the same with just the two small PR changes I've requested.. but you said you tried the force option and it didn't make a difference so doesnt matter..
Anyway my results for installation and building wheels took more than 25+ mins as well so like i said that's normal for the first time you run the installer.
After the installation finished I went on to the web dashboard to add an asset because without an asset nothing will display since you are already connected via ethernet.. i forgot but i dont think the sample assets start playing automatically, i think that happens in the master (development) branch, not production...

anyway after adding a website the screen started to display it and worked as expected, so I will assume again that you are not doing the normal steps to install screenly-ose.

@mflage
Copy link
Author

mflage commented Sep 21, 2020

This is the COMPLETE output of the installation. The command to install screenly is literally the first command entered (after bootstrapping the installation with the WPA SSID and PSK and enabling ssh headless):

https://paste.ubuntu.com/p/hJrg7KSKwY/

I chose Y, N, N, N, N.

But then afterwards editing that task and uncommenting the pip installation then works and screenly happily installs.

@ealmonte32
Copy link
Contributor

On your original post you said you were using rpi3b, and then later on mentioned you tried raspbian stretch lite, and that you had the same issue, and I thought we were testing on the same thing, these lines from your pastebin tell me you're using newer kernel (most likely rpi4 hardware) and debian buster, and I have not been testing on that, I have been testing on debian stretch and rpi3b...

Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l
Get:1 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]

If you were to try on rpi3b again with debian stretch lite, I am sure the installer would work perfectly fine.

Now, if you want to help with rpi4/buster installation then you would need to edit your own installation script and fork the screenly repo because I cannot test with rpi4 hardware and others have opened issues that cannot get the screenly image to work with rpi4 specifically as far as i know.

I will do some tests with buster and let you know.

@ealmonte32
Copy link
Contributor

@mflage
So I got screenly-ose working fine on debian buster lite, can you do me a favor when you have a chance and try my forked installer and repo to see if that helps on rpi4?

bash <(curl -sL https://bit.ly/3637FqO)

Please report back any of the error logs like you previously did on pastebin, that would help.

@diditopher
Copy link

Can someone let us know if OSE is working in stable manner on Raspbeery pi4?

I got OSE running on Pi 4 about a year ago. Back then I used Raspbian and manually installed the development version of OSE by running bash <(curl -sL https://www.screenly.io/install-ose.sh)

It was running pretty stable, but I had a hell of a time getting it to work in the first place. Things may have changed since then, but I can't test, because that Pi4 has been stolen and wasn't replaced.

@ealmonte32
Copy link
Contributor

@mflage
For you and anyone wanting to install screenly-ose on RPi4 please see my comment here which reports say it fixes it/works:

#1355 (comment)

@vpetersson
Copy link
Contributor

I believe most if not all of these issues have been addressed in the master (development) branch already. For Pi 4/Buster specific issues, see #1389.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants