1. 概要
発生は、2025年9月16日。
「FreeBSD 14.3 RELEASE」で発生しました。
2. 状況
下記の状況にあります。
$ portversion -v | grep '<'
[Reading data from pkg(8) ... - 870 packages found - done]
itstool-2.0.7_3 < needs updating (port has 2.0.7_4)
py311-beautifulsoup-4.13.4_1 < needs updating (port has 4.13.4_2)
yelp-tools-42.1_1 < needs updating (port has 42.1_2)
「yelp-tools」以外のものは、「yelp-tools」に依存するために、アップグレードできない状況にあります。
env BATCH=yes portupgrade -rR yelp-tools
すると。
[Reading data from pkg(8) ... - 870 packages found - done]
[Gathering depends for textproc/yelp-tools ....................................................................................................................... done]
[Exclude up-to-date packages ................................. done]
---> Upgrading 'itstool-2.0.7_3' to 'itstool-2.0.7_4' (textproc/itstool)
---> Building '/usr/ports/textproc/itstool'
===> Cleaning for py311-lxml-6.0.1
===> Cleaning for py311-cython3-3.1.3
===> Cleaning for py312-cython3-3.1.3
===> Cleaning for py310-cython3-3.1.3
===> Cleaning for py39-cython3-3.1.3
===> Cleaning for itstool-2.0.7_4
===> License GPLv3 accepted by the user
===> itstool-2.0.7_4 depends on file: /usr/local/sbin/pkg - found
・・・ 略 ・・・
Link: @bin/cythonize --> bin/cythonize-3.11
====> Compressing man pages (compress-man)
===> Installing for py311-cython3-3.1.3
===> py311-cython3-3.1.3 conflicts with installed package(s):
py311-cython-0.29.37_2
They install files into the same place.
You may want to stop build with Ctrl + C.
===> Checking if py311-cython3 is already installed
===> Registering installation for py311-cython3-3.1.3 as automatic
Installing py311-cython3-3.1.3...
pkg-static: py311-cython3-3.1.3 conflicts with py311-cython-0.29.37_2 (installs files into the same place). Problematic file: /usr/local/bin/cygdb-3.11
*** Error code 1
Stop.
make[2]: stopped in /usr/ports/lang/cython3
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/devel/py-lxml
*** Error code 1
Stop.
make: stopped in /usr/ports/textproc/yelp-tools
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250916-18189-lr7n13 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=yelp-tools-42.1_1 UPGRADE_PORT_VER=42.1_1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! textproc/itstool (itstool-2.0.7_3) (unknown build error)
! textproc/yelp-tools (yelp-tools-42.1_1) (unknown build error)
てなことになります。
ここんとこ、ずっと発生する。
/usr/ports/lang/cython
/usr/ports/lang/cython3
間の「conflicts」です。
発生する都度、どちらかをアンインストールせにゃならん。
3. 対策
今回は。
/usr/ports/lang/cython
の方をアンインストールです。
cd /usr/ports/lang/cython
make deinstall clean
これで。
env BATCH=yes portupgrade -rR yelp-tools
が、うまくいくかと思いきや・・・、今度は。
===> Staging for py311-lxml-6.0.1
===> py311-lxml-6.0.1 depends on file: /usr/local/bin/python3.11 - found
===> Generating temporary packing list
install -m 0644 /usr/ports/devel/py-lxml/work-py311/lxml-6.0.1/CHANGES.txt /usr/ports/devel/py-lxml/work-py311/lxml-6.0.1/CREDITS.txt /usr/ports/devel/py-lxml/work-py311/lxml-6.0.1/TODO.txt /usr/ports/devel/py-lxml/work-py311/lxml-6.0.1/README.rst /usr/ports/devel/py-lxml/work-py311/stage/usr/local/share/doc/py311-lxml
===> Creating unique files: Move MAN files needing SUFFIX
===> Creating unique files: Move files needing SUFFIX
====> Compressing man pages (compress-man)
===> Installing for py311-lxml-6.0.1
===> Checking if py311-lxml is already installed
===> Registering installation for py311-lxml-6.0.1 as automatic
Installing py311-lxml-6.0.1...
pkg-static: py311-lxml-6.0.1 conflicts with py311-lxml5-5.4.0_2 (installs files into the same place). Problematic file: /usr/local/lib/python3.11/site-packages/lxml/ElementInclude.py
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/devel/py-lxml
*** Error code 1
Stop.
make: stopped in /usr/ports/textproc/yelp-tools
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250916-26462-qqjily env UPGRADE_TOOL=portupgrade UPGRADE_PORT=yelp-tools-42.1_1 UPGRADE_PORT_VER=42.1_1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! textproc/itstool (itstool-2.0.7_3) (unknown build error)
! textproc/yelp-tools (yelp-tools-42.1_1) (unknown build error)
root@nt.sing.ne.jp /root # whereis py-lxml
py-lxml: /usr/ports/devel/py-lxml
root@nt.sing.ne.jp /root # whereis py-lxml5
py-lxml5: /usr/ports/devel/py-lxml5
で止まります。
今度は。
/usr/ports/devel/py-lxml
/usr/ports/devel/py-lxml5
間の「conflicts」です。
cd /usr/ports/devel/py-lxml5
make deinstall clean
これで。
env BATCH=yes portupgrade -rR yelp-tools
が、やっと通りました。