plumi / plumi.app

plumi video sharing
plumi.org
110 stars 61 forks source link

Test Plumi Installer / Buildout on Latest Stable Debian Release - fix any errors so it will install and run #1601

Closed mgogoulos closed 6 years ago

mgogoulos commented 6 years ago

Reported by anna on 27 Apr 2015 06:34 UTC the installer is broken for latest debian/ubuntu systems due to python

packaging updates (with setuptools etc).

mgogoulos commented 6 years ago

Comment by anna on 6 May 2015 04:47 UTC Debian 8 Jessie released - April 25th, 2015. Unless another stable version has emerged - please test on that.

Sam did this today - "buildout got fixed just before lunch .. seems there is a latest version of varnish that get installed if you update .. I pinned it back to the previous version in the buildout and all went ok"

mgogoulos commented 6 years ago

Comment by anna on 22 Jul 2015 02:34 UTC This is pretty much ready to go.

mgogoulos commented 6 years ago

Comment by anna on 18 Sep 2015 07:31 UTC Actually this is not quite ready to go - this ticket is awaiting documentation of where it is at.

mgogoulos commented 6 years ago

Comment by sam on 21 Sep 2015 02:02 UTC == Progress to date:

Installation of Plumi is almost intractable due to issues with old dependencies. Here are my notes so far:

Using these instructions as a guide: https://mgogoulos.trinket.io/plumi-4-5#/installation/installation and hence also: https://github.com/plumi/plumi.app/blob/master/docs/INSTALL.rst

Modify the instructions with the following:

... UPDATE: due to changed dependencies in the the bootstrap script in this branch now fails - as per #993 this is the solution: "The key seems to be installing the 'distribute' package version 0.6.49 manually as per https://pypi.python.org/pypi/distribute/0.6.49:"

Download the source tarball, uncompress it, then run the install command::
$ curl -O
http://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz
$ tar -xzvf distribute-0.6.49.tar.gz
$ cd distribute-0.6.49
$ python setup.py install

* run the `buildout` for ffmpeg:

$ cd ffmpeg/ $ buildout -v


=== fixing uWSGI

There are a couple of problems with the transcode daemon not reporting errors in enough detail and/or breaking instead of reporting errors. Once I got past those, it seems that ffmpeg is failing with "Invalid data found when processing input". This turns out to be due to uWSGI segfaulting.

This issue is the similar to to this:

http://davidjb.com/blog/2013/05/uwsgi-and-libxml2-conflicts-aka-installing-uwsgi-with-a-custom-libxml2/

... namely, buildout gets confused and builds uWSGI with the wrong XML library in places.

Solve this by removing libxml2 from the system (which necessarily
removes things that depend on it: libxml2-dev, libxslt, libxslt1-dev,
etc. .. - keep track of these if you need to reinstall them), moving the old uwsgi build and re-running the buildout. Thus uWSGI is built using the lxml that Plumi created, instead of a mixture of system and Plumi lxml libraries.

This causes a problem with the nginx build, so reinstall libxslt1-dev and re-run the buildout again, and finally it works:

sudo ./bin/supervisord

plumi@dream:~/plumi.app$ ./bin/supervisorctl status cache RUNNING pid 6738, uptime 0:00:08 nginx RUNNING pid 6739, uptime 0:00:08 ploneftp RUNNING pid 6737, uptime 0:00:08 transcodedaemon RUNNING pid 6736, uptime 0:00:08 uwsgi RUNNING pid 6734, uptime 0:00:08 worker RUNNING pid 6735, uptime 0:00:08 zeo RUNNING pid 6733, uptime 0:00:08


* Currently we have a new problem when trying to start / restart transcoding:

/home/plumi/plumi.app/eggs/Products.CMFCore-2.2.6-py2.7.egg/Products/CMFCore/DirectoryView.py:493: UserWarning: DirectoryView plumi_content_custom_templates refers to a non-existing path 'plumi.content:skins/plumi_content_custom_templates' (self.id, reg_key), UserWarning) 2015-08-20 10:04:31,724 WARNI [transcode entry timed out: (29bdb70b1220445c8169a51b4537aa19, video_file, jpeg, bb516947768fbb05b41a2487f200716e) Traceback (most recent call last): File "/home/plumi/plumi.app/eggs/repoze.retry-1.0-py2.7.egg/repoze/retry/init.py", line 90, in call app_iter = self.application(environ, replace_start_response) File "/home/plumi/plumi.app/eggs/repoze.tm2-1.0b2-py2.7.egg/repoze/tm/init.py", line 24, in call result = self.application(environ, save_status_and_headers) File "/home/plumi/plumi.app/eggs/repoze.vhm-0.14-py2.7.egg/repoze/vhm/middleware.py", line 106, in call return self.application(environ, start_response) File "/home/plumi/plumi.app/eggs/Zope2-2.13.15-py2.7.egg/ZPublisher/WSGIPublisher.py", line 282, in publish_module response = _publish(request, 'Zope2') File "/home/plumi/plumi.app/eggs/Zope2-2.13.15-py2.7.egg/ZPublisher/WSGIPublisher.py", line 205, in publish bind=1, File "/home/plumi/plumi.app/eggs/Zope2-2.13.15-py2.7.egg/ZPublisher/mapply.py", line 77, in mapply if debug is not None: return debug(object,args,context) File "/home/plumi/plumi.app/eggs/Zope2-2.13.15-py2.7.egg/ZPublisher/Publish.py", line 46, in call_object result=apply(object,args) # Type s to step into published object. File "/home/plumi/plumi.app/src/plumi.content/plumi/content/browser/reTranscode.py", line 13, in call res = tt.add(self.context, force=True) File "/home/plumi/plumi.app/src/collective.transcode.star/collective/transcode/star/utility.py", line 154, in add job = async.queueJobWithDelay(None, temp_time, transcode_request, obj, fieldName, UID, payload, secret, address, profile, options, portal_url) File "/home/plumi/plumi.app/eggs/plone.app.async-1.6-py2.7.egg/plone/app/async/service.py", line 139, in queueJobWithDelay func, context, *args, **kwargs) File "/home/plumi/plumi.app/eggs/plone.app.async-1.6-py2.7.egg/plone/app/async/service.py", line 127, in queueJobInQueueWithDelay queue = self.getQueues()queue File "/home/plumi/plumi.app/eggs/plone.app.async-1.6-py2.7.egg/plone/app/async/service.py", line 100, in getQueues db = getUtility(IAsyncDatabase) File "/home/plumi/plumi.app/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 169, in getUtility raise ComponentLookupError(interface, name) zope.component.interfaces.ComponentLookupError: (, '')

mgogoulos commented 6 years ago

Comment by anna on 29 Nov 2016 05:20 UTC These issues are now resolved.