Re: Unable to build Python38 ports like devel/py38-pycparser and even py38-setuptools
- Reply: Graham Perrin : "(260087) log of changes to /usr/ports/UPDATING (was: Unable to build Python38 ports like devel/py38-pycparser and even py38-setuptools)"
- Reply: Christian Weisgerber : "Re: Unable to build Python38 ports like devel/py38-pycparser and even py38-setuptools"
- In reply to: Dr. Peter Voigt: "Unable to build Python38 ports like devel/py38-pycparser and even py38-setuptools"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Nov 2021 02:52:15 UTC
On Sat, Nov 27, 2021 at 12:04 PM Dr. Peter Voigt <pvoigt@uos.de> wrote: > I am currently facing a strange problem when tryping to upgrade > following ports: > > # pkg version -vIL= > py38-pycparser-2.20 < needs updating (index has 2.21) > py38-pyparsing-3.0.4 < needs updating (index has 3.0.6) > py38-snowballstemmer-2.1.0 < needs updating (index has 2.2.0) > > All mentioned ports cannot be upgraded from ports source tree. For e.g. > py38-pycparser I get: > > ===>>> Starting build for devel/py-pycparser@py38 <<<=== > > ===>>> All dependencies are up to date > > ===> Cleaning for py38-pycparser-2.21 > ===> License BSD3CLAUSE accepted by the user > ===> py38-pycparser-2.21 depends on file: /usr/local/sbin/pkg - found > ===> Fetching all distfiles required by py38-pycparser-2.21 for > building > ===> Extracting for py38-pycparser-2.21 > => SHA256 Checksum OK for pycparser-2.21.tar.gz. > ===> Patching for py38-pycparser-2.21 > ===> py38-pycparser-2.21 depends on package: py38-setuptools>0 - > found > ===> py38-pycparser-2.21 depends on file: /usr/local/bin/python3.8 - > found > ===> Configuring for py38-pycparser-2.21 > Traceback (most recent call last): > File "<string>", line 1, in <module> > File "setup.py", line 35, in <module> > setup( > File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", > line 153, in setup > return distutils.core.setup(**attrs) > File "/usr/local/lib/python3.8/distutils/core.py", line 108, in setup > _setup_distribution = dist = klass(attrs) > File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", > line 455, in __init__ > _Distribution.__init__(self, { > File "/usr/local/lib/python3.8/distutils/dist.py", line 292, in > __init__ > self.finalize_options() > File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", > line 800, in finalize_options > for ep in sorted(eps, key=by_order): > File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", > line 799, in <lambda> > eps = map(lambda e: e.load(), > pkg_resources.iter_entry_points(group)) > File "/usr/local/lib/python3.8/site- > packages/pkg_resources/__init__.py", line 2449, in load > self.require(*args, **kwargs) > File "/usr/local/lib/python3.8/site- > packages/pkg_resources/__init__.py", line 2472, in require > items = working_set.resolve(reqs, env, installer, > extras=self.extras) > File "/usr/local/lib/python3.8/site- > packages/pkg_resources/__init__.py", line 772, in resolve > raise DistributionNotFound(req, requirers) > pkg_resources.DistributionNotFound: The 'packaging>=20.0' distribution > was not found and is required by the application > *** Error code 1 > > Stop. > make: stopped in /usr/ports/devel/py-pycparser > > ===>>> make build failed for devel/py-pycparser@py38 > ===>>> Aborting update > > > ===>>> You can restart from the point of failure with this command > line: > portmaster <flags> devel/py-pycparser@py38 > > This command has been saved to ~/portmasterfail.txt > > The error is the same for the remaining two other ports. > > And even if I tryp to reinstall py38-setuptools I get the same error. > > I am out of ideas and during my attempts to narrow down the error I > reinstalled python38 - which at least works without problems. > > My Python and PIP versions are: > # pkg version |grep -iE "pip|python38" > py38-pip-20.3.4 = > python38-3.8.12_1 = > Seems like /usr/ports/UPDATING had been abandoned. The last update was over a year ago. This SHOULD have been in UPDATING. If I remember correctly, the fix is to de-install both py38-packaging and py38-setuptools. > pkg delete -f py38-setuptools > pkg delete -f py38-packaging > portmaster devel/pkg-packaging > portmaster devel/py-setuptools This assumes the use of portmaster, but it should work with whichever tool you use. The problem was that a function was moved between ports and, as a result, you can't build either port when the old version of either is installed. -- Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkoberman@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683