Error installing Senaite (04 Jun 2024) - Ubuntu 20.04

Hi,

I encountered the following error when trying to install Senaite. Please advise. Thanks.

(senaite) senaite@ubuntu-A8E:~/senaitelims$ PYTHONHTTPSVERIFY=0 buildout
Getting distribution for ‘SoupSieve==1.9.5’.
Got soupsieve 1.9.5.
Uninstalling unifiedinstaller.
Uninstalling zopepy.
Uninstalling zopescripts.
Uninstalling backup.
Uninstalling repozo.
Uninstalling instance.
Unused options for buildout: ‘deprecation-warnings’.
Installing instance.
Getting distribution for ‘senaite.lims’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Got senaite.lims 2.5.0.
Getting distribution for ‘senaite.jsonapi==2.5.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Got senaite.jsonapi 2.5.0.
Getting distribution for ‘senaite.impress==2.5.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Got senaite.impress 2.5.0.
Getting distribution for ‘senaite.app.supermodel==2.5.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Got senaite.app.supermodel 2.5.0.
Getting distribution for ‘senaite.app.spotlight==2.5.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Got senaite.app.spotlight 2.5.0.
Getting distribution for ‘senaite.app.listing==2.5.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
warning: no files found matching ‘.rst’
warning: no previously-included files matching '
’ found under directory ‘src/senaite/app/listing/tests’
warning: no previously-included files matching ‘’ found under directory ‘webpack’
warning: no previously-included files matching '
.pyc’ found under directory ‘src’
Got senaite.app.listing 2.5.0.
Getting distribution for ‘senaite.core==2.5.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
warning: no previously-included files matching ‘’ found under directory ‘docs’
warning: no previously-included files matching '
’ found under directory ‘src/senaite/app/listing’
warning: no previously-included files matching ‘’ found under directory ‘src/senaite/app/spotlight’
warning: no previously-included files matching '
’ found under directory ‘src/senaite/app/supermodel’
warning: no previously-included files matching ‘.pyc’ found under directory ‘src’
warning: no previously-included files matching '
’ found under directory ‘webpack’
File “build/bdist.linux-x86_64/egg/bika/lims/skins/bika/guard_handler.py”, line 10
return wf_guard_handler(context, transition_id)
SyntaxError: ‘return’ outside function

File “build/bdist.linux-x86_64/egg/senaite/core/skins/senaite_scripts/member_is_client.py”, line 17
return “Clients” in member_groups
SyntaxError: ‘return’ outside function

File “build/bdist.linux-x86_64/egg/senaite/core/skins/senaite_scripts/getDisplayView.py”, line 11
return value
SyntaxError: ‘return’ outside function

File “/home/senaite/buildout-cache/eggs/cp27mu/tmpW_BX_5/senaite.core-2.5.0-py2.7.egg/bika/lims/skins/bika/guard_handler.py”, line 10
return wf_guard_handler(context, transition_id)
SyntaxError: ‘return’ outside function

File “/home/senaite/buildout-cache/eggs/cp27mu/tmpW_BX_5/senaite.core-2.5.0-py2.7.egg/senaite/core/skins/senaite_scripts/getDisplayView.py”, line 11
return value
SyntaxError: ‘return’ outside function

File “/home/senaite/buildout-cache/eggs/cp27mu/tmpW_BX_5/senaite.core-2.5.0-py2.7.egg/senaite/core/skins/senaite_scripts/member_is_client.py”, line 17
return “Clients” in member_groups
SyntaxError: ‘return’ outside function

Got senaite.core 2.5.0.
Getting distribution for ‘pyphen==0.11.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
zip_safe flag not set; analyzing archive contents…
pyphen.init: module references file
Got pyphen 0.11.0.
Getting distribution for ‘cssselect2==0.2.2’.
Got cssselect2 0.2.2.
Getting distribution for ‘tinycss2<1.0.0’.
Got tinycss2 0.6.1.
Getting distribution for ‘WeasyPrint==0.42.3’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
warning: no files found matching ‘pytest.ini’
warning: no files found matching ‘tox.ini’
no previously-included directories found matching ‘docs/_build’
Got WeasyPrint 0.42.3.
Getting distribution for ‘cairocffi<1.0.0’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won’t be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at Release process - pip documentation v24.1.dev1
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won’t be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at Release process - pip documentation v24.1.dev1
/tmp/easy_install-uRn2hs/cairocffi-0.9.0/.eggs/cffi-1.15.1-py2.7-linux-x86_64.egg/cffi/cparser.py:154: UserWarning: String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.
warnings.warn("String literal found in cdef() or type source. "
/tmp/easy_install-uRn2hs/cairocffi-0.9.0/.eggs/cffi-1.15.1-py2.7-linux-x86_64.egg/cffi/cparser.py:165: UserWarning: Global variable ‘CAIRO_TAG_DEST’ in cdef(): for consistency with C it should have a storage class specifier (usually ‘extern’)
“(usually ‘extern’)” % (decl.name,))
/tmp/easy_install-uRn2hs/cairocffi-0.9.0/.eggs/cffi-1.15.1-py2.7-linux-x86_64.egg/cffi/cparser.py:165: UserWarning: Global variable ‘CAIRO_TAG_LINK’ in cdef(): for consistency with C it should have a storage class specifier (usually ‘extern’)
“(usually ‘extern’)” % (decl.name,))
no previously-included directories found matching ‘docs/_build’
warning: no previously-included files found matching ‘cairocffi/_ffi*.py’
file cairocffi/_ffi.py (for module cairocffi._ffi) not found
file cairocffi/_ffi_pixbuf.py (for module cairocffi._ffi_pixbuf) not found
file cairocffi/_ffi.py (for module cairocffi._ffi) not found
file cairocffi/_ffi_pixbuf.py (for module cairocffi._ffi_pixbuf) not found
zip_safe flag not set; analyzing archive contents…
cairocffi.ffi_build: module references file
Got cairocffi 0.9.0.
Getting distribution for ‘CairoSVG==1.0.20’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
zip_safe flag not set; analyzing archive contents…
Got CairoSVG 1.0.20.
Getting distribution for ‘pycountry==18.12.8’.
Got pycountry 18.12.8.
Getting distribution for ‘collective.z3cform.datagridfield==1.5.3’.
Got collective.z3cform.datagridfield 1.5.3.
Getting distribution for ‘Werkzeug<2.0.0’.
Got Werkzeug 1.0.1.
Getting distribution for ‘openpyxl==2.6.4’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
no previously-included directories found matching ‘openpyxl/sample’
no previously-included directories found matching ‘openpyxl/benchmarks’
no previously-included directories found matching ‘openpyxl/develop’
no previously-included directories found matching ‘scratchpad’
no previously-included directories found matching ‘doc’
zip_safe flag not set; analyzing archive contents…
Got openpyxl 2.6.4.
Getting distribution for ‘plone.app.jquerytools’.
Got plone.app.jquerytools 1.9.5.
Getting distribution for ‘more-itertools<6.0.0’.
Got more-itertools 5.0.0.
Getting distribution for ‘Pillow==5.1.0’.
Got Pillow 5.1.0.
Getting distribution for ‘Products.contentmigration==2.2.2’.
Got Products.contentmigration 2.2.2.
Getting distribution for ‘Products.DataGridField’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
warning: no files found matching ‘txt’
warning: no previously-included files found matching ‘bootstrap.py’
warning: no previously-included files matching '
.pyc’ found anywhere in distribution
File “build/bdist.linux-x86_64/egg/Products/DataGridField/skins/DataGridWidget/queryDataGrid.py”, line 26
return query(obj, *args)
SyntaxError: ‘return’ outside function

File “/home/senaite/buildout-cache/eggs/cp27mu/tmpEXqk4w/Products.DataGridField-1.9.6-py2.7.egg/Products/DataGridField/skins/DataGridWidget/queryDataGrid.py”, line 26
return query(obj, *args)
SyntaxError: ‘return’ outside function

Got Products.DataGridField 1.9.6.
Getting distribution for ‘Products.ATContentTypes==3.0.7’.
Got Products.ATContentTypes 3.0.7.
Getting distribution for ‘plone.jsonapi.core’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Got plone.jsonapi.core 0.7.0.
Getting distribution for ‘plone.app.referenceablebehavior==0.7.9’.
Got plone.app.referenceablebehavior 0.7.9.
Getting distribution for ‘magnitude’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
zip_safe flag not set; analyzing archive contents…
Got magnitude 1.0.1.
Getting distribution for ‘webencodings==0.5.1’.
Got webencodings 0.5.1.
Getting distribution for ‘pdfrw>=0.4’.
Got pdfrw 0.4.
Getting distribution for ‘html5lib==1.1’.
Got html5lib 1.1.
Getting distribution for ‘et_xmlfile’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
no previously-included directories found matching ‘et_xmlfile/tests/’
zip_safe flag not set; analyzing archive contents…
Got et-xmlfile 1.1.0.
Getting distribution for ‘jdcal’.
Got jdcal 1.4.1.
Getting distribution for ‘plone.app.imaging==2.1.2’.
Got plone.app.imaging 2.1.2.
Getting distribution for ‘plone.app.folder==1.3.2’.
Got plone.app.folder 1.3.2.
Getting distribution for ‘plone.app.collection==1.2.8’.
Got plone.app.collection 1.2.8.
Getting distribution for ‘plone.app.blob==1.8.2’.
Got plone.app.blob 1.8.2.
Getting distribution for ‘Products.validation==2.1.3’.
Got Products.validation 2.1.3.
Getting distribution for ‘Products.Archetypes==1.16.6’.
Got Products.Archetypes 1.16.6.
Getting distribution for ‘dicttoxml’.
WARNING: The easy_install command is deprecated and will be removed in a future version.
warning: no files found matching ‘*.markdown’
zip_safe flag not set; analyzing archive contents…
Got dicttoxml 1.7.16.
Getting distribution for ‘five.globalrequest==99.1’.
Got five.globalrequest 99.1.
Getting distribution for ‘archetypes.schemaextender==3.0.2’.
Got archetypes.schemaextender 3.0.2.
Getting distribution for ‘Products.ZSQLMethods==3.16’.
Got Products.ZSQLMethods 3.16.
Generated script ‘/home/senaite/senaitelims/bin/instance’.
Generated interpreter ‘/home/senaite/senaitelims/parts/instance/bin/interpreter’.
Installing repozo.
Generated script ‘/home/senaite/senaitelims/bin/repozo’.
Installing backup.
Generated script ‘/home/senaite/senaitelims/bin/backup’.
Generated script ‘/home/senaite/senaitelims/bin/snapshotbackup’.
Generated script ‘/home/senaite/senaitelims/bin/restore’.
Generated script ‘/home/senaite/senaitelims/bin/snapshotrestore’.
Installing zopescripts.
Generated script ‘/home/senaite/senaitelims/bin/addzope2user’.
Generated script ‘/home/senaite/senaitelims/bin/mkwsgiinstance’.
Generated script ‘/home/senaite/senaitelims/bin/runwsgi’.
Generated script ‘/home/senaite/senaitelims/bin/zconsole’.
Installing zopepy.
Generated interpreter ‘/home/senaite/senaitelims/bin/zopepy’.
Installing unifiedinstaller.
Generated script ‘/home/senaite/senaitelims/bin/plonectl’.
Versions had to be automatically picked.
The following part definition lists the versions picked:
[versions]
Werkzeug = 1.0.1
cairocffi = 0.9.0
et-xmlfile = 1.1.0
more-itertools = 5.0.0
pdfrw = 0.4
senaite.lims = 2.5.0
tinycss2 = 0.6.1

Required by:

senaite.core==2.5.0

Products.DataGridField = 1.9.6

Required by:

plone.jsonapi.core==0.7.0

dicttoxml = 1.7.16

Required by:

openpyxl==2.6.4

jdcal = 1.4.1

Required by:

senaite.core==2.5.0

magnitude = 1.0.1

Required by:

senaite.core==2.5.0

plone.app.jquerytools = 1.9.5

Required by:

senaite.core==2.5.0

plone.jsonapi.core = 0.7.0
(senaite) senaite@ubuntu-A8E:~/senaitelims$ bin/instance fg
/home/senaite/buildout-cache/eggs/cp27mu/Products.CMFCore-2.7.1-py2.7.egg/Products/CMFCore/CachingPolicyManager.py:30: DeprecationWarning: IObjectMovedEvent is deprecated. Some zope.container interfaces have been moved to zope.lifecycleevent.interfaces, please import form there.
from zope.container.interfaces import IObjectMovedEvent
/home/senaite/buildout-cache/eggs/cp27mu/Products.CMFCore-2.7.1-py2.7.egg/Products/CMFCore/CMFCatalogAware.py:28: DeprecationWarning: IObjectAddedEvent is deprecated. Some zope.container interfaces have been moved to zope.lifecycleevent.interfaces, please import form there.
from zope.container.interfaces import IObjectAddedEvent
/home/senaite/buildout-cache/eggs/cp27mu/Products.Archetypes-1.16.6-py2.7.egg/Products/Archetypes/generator/widget.py:4: DeprecationWarning: InitializeClass is deprecated. Please import from AccessControl.class_init.
from App.class_init import InitializeClass
/home/senaite/buildout-cache/eggs/cp27mu/Products.Archetypes-1.16.6-py2.7.egg/Products/Archetypes/ReferenceEngine.py:31: DeprecationWarning: LazyMap is deprecated. Please import from ZTUtils.Lazy.
from Products.ZCatalog.Lazy import LazyMap
2024-06-04 17:31:07,277 INFO [chameleon.config:38][MainThread] directory cache: /home/senaite/senaitelims/var/cache.
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/interfaces/factories.py:2: DeprecationWarning: IFileFactory is deprecated. Import IFileFactory from zope.filerepresentation.interfaces instead
from plone.app.widgets.interfaces import IFileFactory
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/permission.py:2: DeprecationWarning: IFieldPermissionChecker is deprecated. Import IFieldPermissionChecker from plone.app.z3cform.interfaces instead
from plone.app.widgets.interfaces import IFieldPermissionChecker
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/permission.py:8: DeprecationWarning: setDefaultRoles is deprecated. Please use addPermission from AccessControl.Permission.
from Products.CMFCore.permissions import setDefaultRoles
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/content/base.py:21: DeprecationWarning: ResourceLockedError is deprecated. Please import from zExceptions.
from webdav.Lockable import ResourceLockedError
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/lib/historyaware.py:4: DeprecationWarning: html_quote is deprecated. Please import from DocumentTemplate.html_quote. These shims will go away in DocumentTemplate 4.0.
from DocumentTemplate.DT_Util import html_quote
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/content/topic.py:35: DeprecationWarning: LazyCat is deprecated. Please import from ZTUtils.Lazy.
from Products.ZCatalog.Lazy import LazyCat
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/tool/factory.py:30: DeprecationWarning: call_object is deprecated. Please import from ZServer.ZPublisher.Publish.
from ZPublisher.Publish import call_object
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/tool/factory.py:31: DeprecationWarning: dont_publish_class is deprecated. Please import from ZServer.ZPublisher.Publish.
from ZPublisher.Publish import dont_publish_class
/home/senaite/buildout-cache/eggs/cp27mu/Products.ATContentTypes-3.0.7-py2.7.egg/Products/ATContentTypes/tool/factory.py:32: DeprecationWarning: missing_name is deprecated. Please import from ZServer.ZPublisher.Publish.
from ZPublisher.Publish import missing_name
2024-06-04 17:31:11,437 INFO [ZODB.blob:356][MainThread] (16982) Blob directory /home/senaite/senaitelims/var/blobstorage is unused and has no layout marker set. Selected bushy layout.
2024-06-04 17:31:11,438 INFO [ZODB.blob:356][MainThread] (16982) Blob temporary directory ‘/home/senaite/senaitelims/var/blobstorage/tmp’ does not exist. Created new directory.
/home/senaite/buildout-cache/eggs/cp27mu/plone.app.blob-1.8.2-py2.7.egg/plone/app/blob/field.py:6: DeprecationWarning: rfc1123_date is deprecated. Please import from zope.datetime. This backwards compatibility import will go away in Zope 6.
from App.Common import rfc1123_date
/home/senaite/buildout-cache/eggs/cp27mu/plone.app.blob-1.8.2-py2.7.egg/plone/app/blob/content.py:23: DeprecationWarning: MimeTypeException is deprecated. Import from Products.MimetypesRegistry.interfaces instead
from Products.MimetypesRegistry.common import MimeTypeException
Traceback (most recent call last):
File “/home/senaite/senaitelims/parts/instance/bin/interpreter”, line 333, in
exec(compile(__file__f.read(), file, “exec”))
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/serve.py”, line 255, in
sys.exit(main() or 0)
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/serve.py”, line 251, in main
return command.run()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/serve.py”, line 190, in run
global_conf=vars)
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/serve.py”, line 220, in loadapp
return loadapp(app_spec, name=name, relative_to=relative_to, **kw)
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/loadwsgi.py”, line 253, in loadapp
return loadobj(APP, uri, name=name, **kw)
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/loadwsgi.py”, line 278, in loadobj
return context.create()
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/loadwsgi.py”, line 715, in create
return self.object_type.invoke(self)
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/loadwsgi.py”, line 209, in invoke
app = context.app_context.create()
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/loadwsgi.py”, line 715, in create
return self.object_type.invoke(self)
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/loadwsgi.py”, line 152, in invoke
return fix_call(context.object, context.global_conf, **context.local_conf)
File “/home/senaite/buildout-cache/eggs/cp27mu/PasteDeploy-2.1.1-py2.7.egg/paste/deploy/util.py”, line 55, in fix_call
val = callable(*args, **kw)
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/run.py”, line 72, in make_wsgi_app
starter.prepare()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/starter.py”, line 41, in prepare
self.startZope()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/Startup/starter.py”, line 99, in startZope
Zope2.startup_wsgi()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/init.py”, line 50, in startup_wsgi
_startup()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/App/startup.py”, line 143, in startup
load_zcml()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/App/startup.py”, line 58, in load_zcml
load_site()
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/Zope2/App/zcml.py”, line 45, in load_site
_context = xmlconfig.file(site_zcml)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 663, in file
include(context, name, package)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 560, in include
processxmlfile(f, context)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 409, in processxmlfile
parser.parse(src)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/expatreader.py”, line 111, in parse
xmlreader.IncrementalParser.parse(self, source)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/xmlreader.py”, line 123, in parse
self.feed(buffer)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/expatreader.py”, line 220, in feed
self._parser.Parse(data, isFinal)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/expatreader.py”, line 384, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 395, in endElementNS
self._handle_exception(ex, info)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 393, in endElementNS
self.context.end()
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/config.py”, line 703, in end
self.stack.pop().finish()
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/config.py”, line 873, in finish
actions = self.handler(context, **args)
File “/home/senaite/buildout-cache/eggs/cp27mu/Zope-4.8.10-py2.7.egg/OFS/metaconfigure.py”, line 47, in loadProducts
xmlconfig.include(_context, zcml, package=product)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 560, in include
processxmlfile(f, context)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 409, in processxmlfile
parser.parse(src)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/expatreader.py”, line 111, in parse
xmlreader.IncrementalParser.parse(self, source)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/xmlreader.py”, line 123, in parse
self.feed(buffer)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/expatreader.py”, line 220, in feed
self._parser.Parse(data, isFinal)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/xml/sax/expatreader.py”, line 384, in end_element_ns
self._cont_handler.endElementNS(pair, None)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 395, in endElementNS
self._handle_exception(ex, info)
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 237, in _handle_exception
reraise(exc, None, sys.exc_info()[2])
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/xmlconfig.py”, line 393, in endElementNS
self.context.end()
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/config.py”, line 703, in end
self.stack.pop().finish()
File “/home/senaite/buildout-cache/eggs/cp27mu/zope.configuration-4.4.1-py2.7.egg/zope/configuration/config.py”, line 873, in finish
actions = self.handler(context, **args)
File “/home/senaite/buildout-cache/eggs/cp27mu/z3c.autoinclude-0.4.1-py2.7.egg/z3c/autoinclude/zcml.py”, line 119, in includePluginsDirective
info = PluginFinder(dotted_name).includableInfo(zcml_to_look_for)
File “/home/senaite/buildout-cache/eggs/cp27mu/z3c.autoinclude-0.4.1-py2.7.egg/z3c/autoinclude/plugin.py”, line 24, in includableInfo
groups = zcml_to_include(plugin_dottedname, zcml_to_look_for)
File “/home/senaite/buildout-cache/eggs/cp27mu/z3c.autoinclude-0.4.1-py2.7.egg/z3c/autoinclude/plugin.py”, line 52, in zcml_to_include
filename = resource_filename(dotted_name, zcmlgroup)
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/pkg_resources/init.py”, line 1144, in resource_filename
return get_provider(package_or_requirement).get_resource_filename(
File “/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/pkg_resources/init.py”, line 361, in get_provider
import(moduleOrReq)
File “/home/senaite/buildout-cache/eggs/cp27mu/senaite.core-2.5.0-py2.7.egg/bika/lims/init.py”, line 50, in
from bika.lims.validators import *
File “/home/senaite/buildout-cache/eggs/cp27mu/senaite.core-2.5.0-py2.7.egg/bika/lims/validators.py”, line 32, in
from bika.lims.utils import to_utf8
File “/home/senaite/buildout-cache/eggs/cp27mu/senaite.core-2.5.0-py2.7.egg/bika/lims/utils/init.py”, line 54, in
from weasyprint import CSS
File “/home/senaite/buildout-cache/eggs/cp27mu/WeasyPrint-0.42.3-py2.7.egg/weasyprint/init.py”, line 375, in
from .css import preprocess_stylesheet # noqa
File “/home/senaite/buildout-cache/eggs/cp27mu/WeasyPrint-0.42.3-py2.7.egg/weasyprint/css/init.py”, line 29, in
from . import computed_values
File “/home/senaite/buildout-cache/eggs/cp27mu/WeasyPrint-0.42.3-py2.7.egg/weasyprint/css/computed_values.py”, line 16, in
from … import text
File “/home/senaite/buildout-cache/eggs/cp27mu/WeasyPrint-0.42.3-py2.7.egg/weasyprint/text.py”, line 242, in
‘libgobject-2.0.dylib’)
File “/home/senaite/buildout-cache/eggs/cp27mu/WeasyPrint-0.42.3-py2.7.egg/weasyprint/text.py”, line 238, in dlopen
return ffi.dlopen(names[0]) # pragma: no cover
File “/home/senaite/buildout-cache/eggs/cp27mu/cffi-1.15.1-py2.7-linux-x86_64.egg/cffi/api.py”, line 150, in dlopen
lib, function_cache = _make_ffi_library(self, name, flags)
File “/home/senaite/buildout-cache/eggs/cp27mu/cffi-1.15.1-py2.7-linux-x86_64.egg/cffi/api.py”, line 832, in _make_ffi_library
backendlib = _load_backend_lib(backend, libname, flags)
File “/home/senaite/buildout-cache/eggs/cp27mu/cffi-1.15.1-py2.7-linux-x86_64.egg/cffi/api.py”, line 828, in _load_backend_lib
return backend.load_library(path, flags)
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File “/home/senaite/buildout-cache/eggs/cp27mu/Products.CMFPlone-5.2.14-py2.7.egg/Products/CMFPlone/meta.zcml”, line 38.4-42.10
File “/home/senaite/senaitelims/parts/instance/etc/site.zcml”, line 12.2-12.39
OSError: cannot load library ‘libgobject-2.0.so.0’: /lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: ffi_type_uint32, version LIBFFI_BASE_7.0
(senaite) senaite@ubuntu-A8E:~/senaitelims$

I was able to use these instructions successfully on an Amazon Lightsail Ubuntu instance yesterday: Wikipaulia — An epidemiologist dabbles in statistics, coding, open source software and the cloud.