Installing Plone of Rocky Linux 8 Giving issues

Hello Everyone,

I am trying to install Plone 5.2 with python 3.8 on Rocky Linux or Centos 7

The steps which I am following is below

Installing Python

cd --
sudo wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
sudo tar xzf Python-3.8.6.tgz
cd Python-3.8.6
sudo ./configure --enable-optimizations
sudo make altinstall

Installing Plone

cd /opt/
sudo wget --no-check-certificate https://launchpad.net/plone/5.2/5.2.2/+download/Plone-5.2.2-UnifiedInstaller.tgz

sudo tar -xzf Plone-5.2.2-UnifiedInstaller.tgz

cd Plone-5.2.2-UnifiedInstaller

sudo ./install.sh --with-python=/usr/local/bin/python3.8`

Choosing zeocluster, then 2 clients

After this above step I am getting below error

Updating zeoserver.
Installing client1.
Getting distribution for 'Pillow==6.2.2'.
WARNING: The easy_install command is deprecated and will be removed in a future version.
warning: no files found matching '*.c'
warning: no files found matching '*.h'
warning: no files found matching '*.sh'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.codecov.yml'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files matching '.git*' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
no previously-included directories found matching '.azure-pipelines'
no previously-included directories found matching '.travis'


The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
   https://pillow.readthedocs.io/en/latest/installation.html

Traceback (most recent call last):
  File "/tmp/easy_install-ebfxx_44/Pillow-6.2.2/setup.py", line 852, in <module>
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 172, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command
    self.run_command(cmdname)
  File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/usr/local/lib/python3.8/distutils/command/install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "/usr/local/lib/python3.8/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.8/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/tmp/easy_install-ebfxx_44/Pillow-6.2.2/setup.py", line 687, in build_extensions
__main__.RequiredDependencyException: jpeg

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-ebfxx_44/Pillow-6.2.2/setup.py", line 903, in <module>
__main__.RequiredDependencyException:

The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
   https://pillow.readthedocs.io/en/latest/installation.html



During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 2317, in main
    setup(
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.8/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 424, in run
    self.easy_install(spec, not self.no_deps)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 666, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 711, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 896, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 1164, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/command/easy_install.py", line 1150, in run_setup
    run_setup(setup_script, args)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 253, in run_setup
    raise
  File "/usr/local/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/usr/local/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 166, in save_modules
    saved_exc.resume()
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 141, in resume
    six.reraise(type, exc, self._tb)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/_vendor/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-ebfxx_44/Pillow-6.2.2/setup.py", line 903, in <module>
setuptools.sandbox.UnpickleableException: RequiredDependencyException('\n\nThe headers or library files could not be found for jpeg,\na required dependency when compiling Pillow from source.\n\nPlease see the install instructions at:\n   https://pillow.readthedocs.io/en/latest/installation.html\n\n')
An error occurred when trying to install /opt/plone/buildout-cache/downloads/dist/Pillow-6.2.2.tar.gz. Look above this message for any errors that were output by easy_install.
While:
  Installing client1.
  Getting distribution for 'Pillow==6.2.2'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/buildout.py", line 2174, in main
    getattr(buildout, command)(args)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/buildout.py", line 817, in install
    installed_files = self[part]._call(recipe.install)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/buildout.py", line 1603, in _call
    return f()
  File "/opt/plone/buildout-cache/eggs/plone.recipe.zope2instance-6.7.5-py3.8.egg/plone/recipe/zope2instance/recipe.py", line 146, in install
    installed.extend(self.install_scripts())
  File "/opt/plone/buildout-cache/eggs/plone.recipe.zope2instance-6.7.5-py3.8.egg/plone/recipe/zope2instance/recipe.py", line 858, in install_scripts
    requirements, ws = self.egg.working_set(['plone.recipe.zope2instance'])
  File "/opt/plone/buildout-cache/eggs/zc.recipe.egg-2.0.7-py3.8.egg/zc/recipe/egg/egg.py", line 78, in working_set
    ws = self._working_set(
  File "/opt/plone/buildout-cache/eggs/zc.recipe.egg-2.0.7-py3.8.egg/zc/recipe/egg/egg.py", line 161, in _working_set
    ws = zc.buildout.easy_install.install(
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 957, in install
    return installer.install(specs, working_set)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 682, in install
    for dist in self._get_dist(requirement, ws):
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 574, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 1745, in _move_to_eggs_dir_and_compile
    [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
ValueError: not enough values to unpack (expected 1, got 0)

Please help me with this installation

Easy! You're missing the header files for a minimum PILlow install.

First, I would recommend using pyenv and pyenv-virtualenv install python 3+ flavor you're targeting.

Then install plone prerequisites:

libz (dev)
libjpeg (dev)*
readline (dev)*
libexpat (dev)
libssl or openssl (dev)
libxml2 >= 2.7.8 (dev)*
libxslt >= 1.1.26 (dev)*

Then use the installer. Should be good.

After installing all the dependencies I am getting the below error

Please help @riker11451


Updating zeoserver.
Installing client1.
Getting distribution for 'lxml==4.5.1'.
WARNING: The easy_install command is deprecated and will be removed in a future version.
Building lxml version 4.5.1.
Building without Cython.
Error: Please make sure the libxml2 and libxslt development packages are installed.
error: Setup script exited with 1
An error occurred when trying to install /opt/plone/buildout-cache/downloads/dist/lxml-4.5.1.tar.gz. Look above this message for any errors that were output by easy_install.
While:
  Installing client1.
  Getting distribution for 'lxml==4.5.1'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/buildout.py", line 2174, in main
    getattr(buildout, command)(args)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/buildout.py", line 817, in install
    installed_files = self[part]._call(recipe.install)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/buildout.py", line 1603, in _call
    return f()
  File "/opt/plone/buildout-cache/eggs/plone.recipe.zope2instance-6.7.5-py3.8.egg/plone/recipe/zope2instance/recipe.py", line 146, in install
    installed.extend(self.install_scripts())
  File "/opt/plone/buildout-cache/eggs/plone.recipe.zope2instance-6.7.5-py3.8.egg/plone/recipe/zope2instance/recipe.py", line 858, in install_scripts
    requirements, ws = self.egg.working_set(['plone.recipe.zope2instance'])
  File "/opt/plone/buildout-cache/eggs/zc.recipe.egg-2.0.7-py3.8.egg/zc/recipe/egg/egg.py", line 78, in working_set
    ws = self._working_set(
  File "/opt/plone/buildout-cache/eggs/zc.recipe.egg-2.0.7-py3.8.egg/zc/recipe/egg/egg.py", line 161, in _working_set
    ws = zc.buildout.easy_install.install(
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 957, in install
    return installer.install(specs, working_set)
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 730, in install
    for dist in self._get_dist(req, ws):
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 574, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/opt/plone/zeocluster/lib/python3.8/site-packages/zc/buildout/easy_install.py", line 1745, in _move_to_eggs_dir_and_compile
    [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
ValueError: not enough values to unpack (expected 1, got 0)

I gathered the following depends:

sudo dnf group install "Development Tools"
sudo dnf install libxml2-devel
sudo dnf install libxslt-devel
sudo dnf install openssl-devel
sudo dnf install bzip2-devel libjpeg-turbo-devel poppler-utils libpng-devel

I also prefer python 3.9 series just to keep things current enough

dnf install python39 python39-devel

the problem I'm now having is that the installer won't finish. Unified Installer bombs on:

/opt/plone/zinstance/bin/python: can't open file '/root/Plone-5.2.5-UnifiedInstaller-1.0/helper_scripts/create_instance.py'

I'm root so why it has this problem is befuddling.

Specifically the error is with the python cache files, from /root/Plone-5.2.5-UnifiedInstaller-1.0/install.log:

The directory '/usr/bin/false/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/bin/false/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

sudo -h does nothing and root too. Might be a shell related problem as plone_buildout has no shell assigned (false).

Bummer

I'll keep at it and report back.

Rocky Linux is pretty cool though :slight_smile:

Plone Foundation Code of Conduct