Thank you very much Dieter. I'm working on this.
So far, I've tried taking a working Zope 4.5.1 with Python 3.7.5 and, simply replacing the versions-prod.cfg
from 5.8.1, upgraded, and Zope works - but no ExternalMethods.
Next, trying to follow the instructions on Installing Zope — Zope 5.8.1 documentation, attempted to install Zope on a fresh Ubuntu 22.04 virtual server. For no good reason, I tried to install Zope 5.0 as it appears in the instructions.
sudo apt-get install python3-dev
gives me Python 3.10.6
I tried the "Built-in standard buildout configuration", substituting Python3.10 for Python3.7
Running buildout, I got this:
Getting distribution for 'collective.recipe.template==2.1'.
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [3 lines of output]
/usr/lib/python3.10/distutils/dist.py:274: UserWarning: Unknown distribution option: 'convert_2to3_doctests'
warnings.warn(msg)
error in collective.recipe.template setup command: use_2to3 is invalid.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
An error occurred when trying to install /tmp/tmpxbjlb0zuget_dist/collective.recipe.template-2.1.tar.gz. Look above this message for any errors that were output by pip install.
So that didn't work.
Next, same thing with 5.8.1. That failed differently:
Develop: '/root/Zope-5.8.1/.'
/root/Zope-5.8.1/lib/python3.10/site-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/root/Zope-5.8.1/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
Develop: '/root/Zope-5.8.1/develop/AccessControl'
/root/Zope-5.8.1/lib/python3.10/site-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/root/Zope-5.8.1/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
error: command 'x86_64-linux-gnu-gcc' failed: No such file or directory
While:
Installing.
Processing develop directory '/root/Zope-5.8.1/develop/AccessControl'.
An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/root/Zope-5.8.1/lib/python3.10/site-packages/zc/buildout/buildout.py", line 2252, in main
getattr(buildout, command)(args)
File "/root/Zope-5.8.1/lib/python3.10/site-packages/zc/buildout/buildout.py", line 718, in install
installed_develop_eggs = self._develop()
File "/root/Zope-5.8.1/lib/python3.10/site-packages/zc/buildout/buildout.py", line 961, in _develop
zc.buildout.easy_install.develop(setup, dest)
File "/root/Zope-5.8.1/lib/python3.10/site-packages/zc/buildout/easy_install.py", line 1120, in develop
call_subprocess(args)
File "/root/Zope-5.8.1/lib/python3.10/site-packages/zc/buildout/easy_install.py", line 172, in call_subprocess
raise Exception(
Exception: Failed to run command:
'/root/Zope-5.8.1/bin/python3.10', '/tmp/tmp4nwgathi', '-q', 'develop', '-mN', '-d', '/root/Zope-5.8.1/develop-eggs/tmp9gwj7gqnbuild'
Undaunted, I followed the instructions for Custom buildout configurations, again replacing python3.7 with python3.10 and copying buildout.cfg (and a few others) from 5.8.1 into the zope directory created by python3.10 -m venv zope
That didn't go well...
Processing develop directory '/root/zope/.'.
An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/root/zope/lib/python3.10/site-packages/zc/buildout/buildout.py", line 2252, in main
getattr(buildout, command)(args)
File "/root/zope/lib/python3.10/site-packages/zc/buildout/buildout.py", line 718, in install
installed_develop_eggs = self._develop()
File "/root/zope/lib/python3.10/site-packages/zc/buildout/buildout.py", line 961, in _develop
zc.buildout.easy_install.develop(setup, dest)
File "/root/zope/lib/python3.10/site-packages/zc/buildout/easy_install.py", line 1120, in develop
call_subprocess(args)
File "/root/zope/lib/python3.10/site-packages/zc/buildout/easy_install.py", line 172, in call_subprocess
raise Exception(
Exception: Failed to run command:
'/root/zope/bin/python3.10', '/tmp/tmp2vql_sq3', '-q', 'develop', '-mN', '-d', '/root/zope/develop-eggs/tmpwsy9kpv9build'
I'm obviously doing something wrong; don't ask me how I managed up to now. Over the past 20+ years, I've had some fun with Zope and you've helped me a few times, Dieter! So I'm not giving up.
I just need an up-to-date Zope to run my External Methods and eventually I will upgrade from 4 to 5...