Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Dec 2021 13:46:08 +0100
From:      Stefan Esser <se@freebsd.org>
To:        Po-Chuan Hsieh <sunpoet@freebsd.org>
Cc:        Koichiro Iwao <meta@freebsd.org>, ports-developers@freebsd.org, python@freebsd.org
Subject:   Re: devel/py-pyparsing and devel/py-packaging have circular dependency
Message-ID:  <920a387a-a3d4-a7ba-c6e0-04ccc184f3c5@freebsd.org>
In-Reply-To: <CAMHz58Qd9u=KGZdWku3yZBz2AAbA65myS8H3r2T49k18xEQZ2A@mail.gmail.com>
References:  <e274d860b9a4319196a0c18cf34fbe20@freebsd.org> <eeaf3aa09629271399e35edd5284d814@freebsd.org> <CAMHz58Qd9u=KGZdWku3yZBz2AAbA65myS8H3r2T49k18xEQZ2A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dtcG0rETpnTlBVq7I9RXCvhR
Content-Type: multipart/mixed; boundary="------------Gkjkc2SZVMQA1R09Ckl0TDfb";
 protected-headers="v1"
From: Stefan Esser <se@freebsd.org>
To: Po-Chuan Hsieh <sunpoet@freebsd.org>
Cc: Koichiro Iwao <meta@freebsd.org>, ports-developers@freebsd.org,
 python@freebsd.org
Message-ID: <920a387a-a3d4-a7ba-c6e0-04ccc184f3c5@freebsd.org>
Subject: Re: devel/py-pyparsing and devel/py-packaging have circular
 dependency
References: <e274d860b9a4319196a0c18cf34fbe20@freebsd.org>
 <eeaf3aa09629271399e35edd5284d814@freebsd.org>
 <CAMHz58Qd9u=KGZdWku3yZBz2AAbA65myS8H3r2T49k18xEQZ2A@mail.gmail.com>
In-Reply-To: <CAMHz58Qd9u=KGZdWku3yZBz2AAbA65myS8H3r2T49k18xEQZ2A@mail.gmail.com>

--------------Gkjkc2SZVMQA1R09Ckl0TDfb
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Am 04.12.21 um 10:45 schrieb Po-Chuan Hsieh:
> This is totally=C2=A0a portmaster issue (wrong order of build, install =
and deinstall).
> The python=C2=A0dependencies are all correct.

Sorry, no, and please stop spreading this FUD and utter nonsense
about portmaster being at fault!

The error messages quoted by Iwao-san were obtained running a plain
"make" in both of the port directories.

> py-pyparsing DOES NOT REQUIRE py-packaging.

In poudriere it does not. But it does when building the port on my
system with other Python ports already installed:

-----------------------------------------------------------------------
$ cd /usr/ports/devel/py-pyparsing
$ make all
=3D=3D=3D>  License MIT accepted by the user
=3D=3D=3D>   py38-pyparsing-3.0.6 depends on file: /usr/local/sbin/pkg - =
found
=3D=3D=3D> Fetching all distfiles required by py38-pyparsing-3.0.6 for bu=
ilding
=3D=3D=3D>  Extracting for py38-pyparsing-3.0.6
=3D> SHA256 Checksum OK for pyparsing-3.0.6.tar.gz.
=3D=3D=3D>  Patching for py38-pyparsing-3.0.6
=3D=3D=3D>   py38-pyparsing-3.0.6 depends on package: py38-setuptools>0 -=
 found
=3D=3D=3D>   py38-pyparsing-3.0.6 depends on file: /usr/local/bin/python3=
=2E8 - found
=3D=3D=3D>  Configuring for py38-pyparsing-3.0.6
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 23, in <module>
    setup(  # Distribution meta-data
  File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", l=
ine
153, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.8/distutils/core.py", line 108, in setup
    _setup_distribution =3D dist =3D 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=3Dby_order):
  File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", line =
799,
in <lambda>
    eps =3D 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 =3D working_set.resolve(reqs, env, installer, extras=3Dself.ext=
ras)
  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>=3D20.0' distribution =
was not
found and is required by the application
*** Error code 1

Stop.
make[1]: stopped in /usr/git/ports/devel/py-pyparsing
*** Error code 1

Stop.
make: stopped in /usr/git/ports/devel/py-pyparsing
-----------------------------------------------------------------------

And, with similar outcoming for devel/py-packaging:

-----------------------------------------------------------------------
/usr/git/ports/devel/py-packaging
root@StefanEsser> make -DNO_DEPENDS
=3D=3D=3D>  Configuring for py38-packaging-21.3
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 40, in <module>
    setup(
  File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", l=
ine
153, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.8/distutils/core.py", line 108, in setup
    _setup_distribution =3D dist =3D 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=3Dby_order):
  File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", line =
799,
in <lambda>
    eps =3D 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 =3D working_set.resolve(reqs, env, installer, extras=3Dself.ext=
ras)
  File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py"=
, line
772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pyparsing!=3D3.0.5,>=3D2.0.2' di=
stribution
was not found and is required by packaging
*** Error code 1

Stop.
make: stopped in /usr/git/ports/devel/py-packaging
-----------------------------------------------------------------------

No portmaster involved, and devel/py-pyparsing definitely depends
on devel/py-packaging.

Apparently, both are BUILD_DEPENDS of each other, but apparently due
to some other Python package being present in the build environment.

I have 275 py38-* packages installed on my system, and I do not know how
to identify the one that adds the dependency on py-packaging.

And I have just rebuilt these 275 py39- packages on my system using
portmaster and this did not fix the issue.

I can build the packages with poudriere (and with my local version of
portmaster that supports building in a clean chroot jail), but not
directly on my system with lots of other packages installed.

Regards, STefan

--------------Gkjkc2SZVMQA1R09Ckl0TDfb--

--------------dtcG0rETpnTlBVq7I9RXCvhR
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEo3HqZZwL7MgrcVMTR+u171r99UQFAmGrYxAFAwAAAAAACgkQR+u171r99UQQ
vQgAvcHDJhGozzDpfl/tako1Ter+ZXg4cXyZzsugt+p0EjQ4p57c78oi1xuXTcxMxm7JIDZQ3SWZ
dCHrUiqt+6e/S2+cXTGGbVi9ZeFH0wnJy0cX7QQvQP6HSZdbM1v+PlJA228YCZWgm2+mbSYXTyVm
zYIozN/UNv3hTXf9n7niVG6kPnR3BU+p94msibqIL7NnYNVNy/H3HafZGg5HGzfIwtpKvfSMhrEW
utwjg67XDvGiXQGac9aU/Bsc1en1iLpDUJcwDNhc7W6w6tEYoXkGIpgtFral9QHk44rS7u+c8wfd
u8S9H40LprR79om8/3BW3JRHOTnu9TRdthe0F5MEQw==
=WOM2
-----END PGP SIGNATURE-----

--------------dtcG0rETpnTlBVq7I9RXCvhR--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?920a387a-a3d4-a7ba-c6e0-04ccc184f3c5>