Install Problem with PLONE4

When I try to install PLONE4 thru Plone-4.3.3-UnifiedInstaller I get this error Message in the install run: "Failed: We need to be able to use Python.h, which is missing.
/usr/bin/python2.7 does not meet the requirements for Zope/Plone."
Some years ago this worked without problems. What has changed since that time?
Thanks for any help

Did you install the header files?

For debian run sudo apt-get install python-dev

For Centos run sudo yum install python-devel

Thanks. I tried that.and this error did not occur anymore. But now the Installation has failed.
with the message "Error: Couldn't find a distribution for 'plone.recipe.precompiler'"

Check this:

sudo apt-get install -y build-essential libjpeg-dev libjpeg-dev libreadline-dev libssl-dev libxml2-dev libxml2-dev libxslt1-dev libxslt1-dev poppler-utils python-dev wv zlib1g-dev vim-nox

Plone 4 and Python 2.7 are far beyond their lifetime.
Time to migrate. Such old systems should not be online anymore.

Which OS are you using? Which Version?

In the debian case you probably will need to go back to debian 8 or debian 7.

So this is what happened in a more general sense: Python 2 is end of life since 2020 (edit: was 2000) and newer OS distributions and OS’es in general are getting worse and worse in supporting Python 2.7 .

Also, Python 3 is released in a much faster pace than a few years ago, so also with Python 3 we have a limited number of Python versions we can support at the same time, and Plone releases are bound by the python 3 deprecations.

You really have to know what you’re doing and have experience to still install and support a Plone 4 setup. The universal installer is not one of the preferred options for that.

And it’s long time to upgrade those sites to Plone 6

(And I don’t even dare to mention the changes in package managment the last 6 years, wheel, pip, pypi changes, etc. Oh I did now)

For migrating a Plone 4.3.x version to a newer one it is recomended to set an enviroment to test the migration.

In such an scenario it could be necessary to install Plone 4.3.x, Python 2.7 and the corresponding OS version.

2020 :wink:

Some facts:

Debian 10 "Buster" (LTS) also provides the latest stable Python 2 release (See wiki.debian.org/Python)

Yes I know. The reason why I want to install it: We have PLONE4 SItes in Produktion, that we want to migrate to PLONE6. But as the buildout to install collective.importexport does not run (see my other post about that) we need a test site with a copy of the original Site with PLONE4 to find out how to maigrate. I cannot use the production site for testing.

Oops, you're right. It feels like 20 years though :stuck_out_tongue:

With debian 10 there are some problems installing Plone-4.3.x.
With Ubuntu 16.04.4 LTS there are problems with Plone-4.3.4-UnifiedInstaller

There is a modified (r1) Plone-4.3.4-r1-UnifiedInstaller. This might help in your use case.

Use as follows in Ubuntu 16.04.4 LTS:

sudo apt-get update
sudo apt-get install -y build-essential libjpeg-dev libjpeg-dev libreadline-dev \
    libssl-dev libxml2-dev libxml2-dev libxslt1-dev libxslt1-dev poppler-utils \
    python-dev wv zlib1g-dev vim-nox
------------------------------------------------------------
cd ~
wget -O ~/Plone-4.3.4-r1-UnifiedInstaller.tgz \
    https://launchpad.net/plone/4.3/4.3.4/+download/Plone-4.3.4-r1-UnifiedInstaller.tgz
cd ~
tar xzf Plone-4.3.4-r1-UnifiedInstaller.tgz
cd ~/Plone-4.3.4-UnifiedInstaller
sudo ./install.sh --target=/home/Plone-4.3.4 --instance=zeocluster \
    --clients=2 --daemon-user=plone_daemon --owner=plone_buildout --group=plone_group \
    --build-python --password=admin --libjpeg=yes zeo
------------------------------------------------------------
sudo -u plone_buildout /home/Plone-4.3.4/zeocluster/bin/buildout \
    -c /home/Plone-4.3.4/zeocluster/buildout.cfg

I do not know collective.importexport but I've migrated several Plone 4.3 sites using collective.exportimport ... there's a section for installing it on Plone 4.3 GitHub - collective/collective.exportimport: Export and import content and other data from and to Plone ... check it out. It saved me a lot of headaches.

The problem with plone.recipe.precompiler has been reported and there are some workarounds that might help. Specially the modified (r1) Plone-4.3.4-r1-UnifiedInstaller:

Sorry, missspelling; I mean collective.exportimport. But when I tried to install it on the PLONE4 SIte I got a problem, that I reported, but got no solution.See: Install of collective.exportimport does not work

I tried it, but the install ended with
"ImportError: cannot import name md5"

For the reasons stated: running Python 2.7 on modern distributions usually does not work anymore properly, compiling might be challenge. In doubt, use a virtual machine with some older Linux distribution that matches your production setup. No need trying to run an old version of Plone on a modern Linux distribution just for the sake of a migration. Take something that works and worked at that time..

Can you please tell us more details: Which OS and version? Which packages (and versions) did you install? The commands you run? The messages you got? Without those informations I'm afraid we can't help you.

In my comment above I show a working installation in a fresh minimal Ubuntu 16.04.4 LTS system on a VM. Did you tried it?

Plone 2.5.1 and python2, I think… I still have a site running, I think