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.