FreeBSD - メンテナンス・トラブルシュート - Python - py311-dnspython-2.7.0,1 → 2.8.0,1


 クラウディア


1. 概要
2. 状況
3. 対策

1. 概要

 発生は、2025年9月10日、「FreeBSD 14.3 RELEASE」「python 3.11」での出来事です。

2. 状況

 下記の状況にあります。

$ portversion -v | grep '<'
[Reading data from pkg(8) ... - 703 packages found - done]
py311-dnspython-2.7.0,1     <  needs updating (port has 2.8.0,1)
 アップグレードしようとしたら。

env BATCH=yes portupgrade -rR py311-dnspython

[Reading data from pkg(8) ... - 703 packages found - done]
[Gathering depends for dns/py-dnspython .................................... done]
[Gathering depends for mail/py-pyspf ....... done]
[Exclude up-to-date packages .............. done]
--->  Upgrading 'py311-dnspython-2.7.0,1' to 'py311-dnspython-2.8.0,1' (dns/py-dnspython)
--->  Building '/usr/ports/dns/py-dnspython'
===>  Cleaning for py311-dnspython-2.8.0,1
===>  License ISCL accepted by the user
===>   py311-dnspython-2.8.0,1 depends on file: /usr/local/sbin/pkg - found
=> dnspython-2.8.0.tar.gz doesn't seem to exist in /usr/ports/distfiles.

・・・	略	・・・

writing list of installed files to '/usr/ports/lang/cython/work-py311/.PLIST.pymodtmp'
/usr/bin/find /usr/ports/lang/cython/work-py311/stage/usr/local/lib/python3.11/site-packages/Cython -name '*.so' -exec /usr/bin/strip {} +
===> Creating unique files: Move MAN files needing SUFFIX
===> Creating unique files: Move files needing SUFFIX
Move: bin/cygdb --> bin/cygdb-3.11
Link: @bin/cygdb --> bin/cygdb-3.11
Move: bin/cython --> bin/cython-3.11
Link: @bin/cython --> bin/cython-3.11
Move: bin/cythonize --> bin/cythonize-3.11
Link: @bin/cythonize --> bin/cythonize-3.11
====> Compressing man pages (compress-man)
===>  Installing for py311-cython-0.29.37_2

===>  py311-cython-0.29.37_2 conflicts with installed package(s):
      py311-cython3-3.1.3

      They install files into the same place.
      You may want to stop build with Ctrl + C.
===>  Checking if py311-cython is already installed
===>   Registering installation for py311-cython-0.29.37_2 as automatic
Installing py311-cython-0.29.37_2...
pkg-static: py311-cython-0.29.37_2 conflicts with py311-cython3-3.1.3 (installs files into the same place).  Problematic file: /usr/local/bin/cygdb-3.11
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/cython
*** Error code 1

Stop.
make: stopped in /usr/ports/dns/py-dnspython
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250910-71857-hdgfqj env UPGRADE_TOOL=portupgrade UPGRADE_PORT=py311-dnspython-2.7.0,1 UPGRADE_PORT_VER=2.7.0,1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! dns/py-dnspython (py311-dnspython-2.7.0,1)    (unknown build error)
 止まります。  なんか、見覚えあるなぁ。  「py-cython」と「py-cython3」が「conflicts」を起こしておるです。

3. 対策


cd /usr/ports/lang/cython3

make deinstall clean
 してから、再度。

env BATCH=yes portupgrade -rR py311-dnspython
 これで、アップグレードできました。

AbemaTV 無料体験