Running Plone 5.2.5 unified installer on macOS 12

I'm going to start a thread as I try to get 5.2.5 building on macOS 12 (beta, yeah yeah I know... long story)

As per the instructions at 6. Installation & Setup of Plone 6 – Mastering Plone 6 Development — Plone Training 2021 documentation

brew install zlib git readline jpeg libpng libyaml

was not quite sufficient. I had to do this too:

export CPPFLAGS="-I/opt/homebrew/opt/jpeg/include/"
export LDFLAGS="-L/opt/homebrew/opt/jpeg/lib"
export CPPFLAGS="$CPPFLAGS -I/opt/homebrew/opt/zlib/include"
export LDFLAGS="$LDFLAGS -L/opt/homebrew/opt/zlib/lib"

Then be sure to specify Python 3.x (as per the training installations, I used pyenv and activated a Python 3.9.9 virtualenv already):

./install.sh --with-python=`which python` standalone

Holy **** Plone starts quickly on M1 Macs :slight_smile:

1 Like

Yes, it's somewhere between 1.5-2.0 times faster when you compare it to the previous rather fast Intel systems Apple built.

Then be sure to specify Python 3.x (as per the training installations, I used pyenv and activated a Python 3.9.9 virtualenv already):

YMMV with pyenv. I have also seen that there were sometimes system library dependencies missing for python add'ons like Pillow that you first have to install with brew and then pass on/reference using LDFLAGS and CFLAGS.

But 'CAVEAT', my carefully selected LDFLAGS/CFLAGS set I created last year to get python3 and even python2 working on M1 macs has also been the cause of all my envs slowly breaking down after I upgraded to Monterey last month. It first seemed to work, but I got mysterious setuptools/pip errors when python packages need to be rebuilt.

I'm now almost at a state where I repeatable see what is going on and will write something more extensive here on community later, but a pyenv installed python can break when Xcode/CommandlLineTools/brew packages are updated.

A homebrew provided Python has the advantage that is already linked against the same other (Home)brew supplied packages.The big drawback is that brew only supports Python because it is a dependency of many other brew packages/software. So the brew maintainers can and will just remove a python minor version or replace it with a newer patch version when they think it is appropriate.

I wonder how pyenv compares to conda for repeatable envs. I don't come across a lot of devs, outside of data science, that use conda but it has worked for me.

I followed those instructions to install Plone 5.2.9 on my macOS 12.6 Intel Macmini but I got these 'ValueError: not enough values to unpack (expected 1, got 0)' error.

Does anyone know how to solve this issue?

An error occurred when trying to install /Applications/Plone529/buildout-cache/downloads/dist/zc.recipe.egg-2.0.7.tar.gz. Look above this message for any errors that were output by easy_install.
While:
  Installing.
  Getting section instance.
  Initializing section instance.
  Installing recipe plone.recipe.zope2instance.
  Getting distribution for 'zc.recipe.egg==2.0.7'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 2182, in main
    getattr(buildout, command)(args)
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 709, in install
    [self[part]['recipe'] for part in install_parts]
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 709, in <listcomp>
    [self[part]['recipe'] for part in install_parts]
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 1332, in __getitem__
    options._initialize()
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 1440, in _initialize
    self.initialize()
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 1446, in initialize
    recipe_class = _install_and_load(reqs, 'zc.buildout', entry, buildout)
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/buildout.py", line 1389, in _install_and_load
    zc.buildout.easy_install.install(
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/easy_install.py", line 963, in install
    return installer.install(specs, working_set)
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/easy_install.py", line 736, in install
    for dist in self._get_dist(req, ws):
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/easy_install.py", line 580, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/Applications/Plone529/zinstance/lib/python3.9/site-packages/zc/buildout/easy_install.py", line 1751, 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)
Buildout failed. Unable to continue

Installation has failed.

Try with Python 3.8. Plone 5.2 does not support Python 3.9.

2 Likes

Post the full log, the problem is in compiling Zope I think.

1 Like

If you search for that error message on this forum, you will find other posts that indicate old versions of the build tools, e.g.,

1 Like

Ah..I see. I've overlooked supported python version. I'll try with python3.8.
Thank you.

1 Like

Hi, I've already checked that post, too.
Thank you.

1 Like