1. 概要
発生は、2026年1月19日。
2. 現象
下記の状況にありまして。
portversion -v | grep '<'
[Reading data from pkg(8) ... - 893 packages found - done]
vips-8.18.0 < needs updating (port has 8.18.0_1)
アップグレードしようとすると。
env BATCH=yes portupgrade -rR vips
[Gathering depends for graphics/vips ................................................................................... done]
[Gathering depends for graphics/rubygem-ruby-vips .................... done]
[Exclude up-to-date packages ........................................................................................... done]
---> Upgrading 'vips-8.18.0' to 'vips-8.18.0_1' (graphics/vips)
---> Building '/usr/ports/graphics/vips'
===> Cleaning for vips-8.18.0_1
===> License LGPL21 accepted by the user
===> vips-8.18.0_1 depends on file: /usr/local/sbin/pkg - found
・・・ 略 ・・・
Dependency gobject-introspection-1.0 found: YES 1.84.0 (cached)
Program /usr/local/bin/g-ir-compiler found: YES (/usr/local/bin/g-ir-compiler)
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 193, in run
return options.run_func(options)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/mesonbuild/msetup.py", line 365, in run
app.generate()
File "/usr/local/lib/python3.12/site-packages/mesonbuild/msetup.py", line 188, in generate
return self._generate(env, capture, vslite_ctx)
・・・ 略 ・・・
File "/usr/local/lib/python3.12/subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/local/lib/python3.12/subprocess.py", line 1955, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/g-ir-scanner'
ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.
WARNING: Running the setup command as 'meson [options]' instead of 'meson setup [options]' is ambiguous and deprecated.
===> Script "configure" failed unexpectedly.
Please report the problem to sunpoet@FreeBSD.org [maintainer] and attach the
"/usr/ports/graphics/vips/work/vips-8.18.0/_build/meson-logs/meson-log.txt"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
Stop.
make: stopped making "all" in /usr/ports/graphics/vips
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20260119-38048-typas4 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=vips-8.18.0 UPGRADE_PORT_VER=8.18.0 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! graphics/vips (vips-8.18.0) (unknown build error)
と、こける。
「ChatGPT」軍曹に相談してみると。
結論から言うと、**gobject-introspection はインストールされているが、実行時に必要な g-ir-scanner が実体として存在しない(または壊れている)**状態です。
FreeBSD 15.0 + Python 3.12 移行後によく起きる Python/ports 不整合が原因です。
とのこと。
「FreeBSD」は、「14.4 RELEASE」から「15.0 RELEASE」へアップデートしたし、「python」は「3.11」から「3.12」へアップグレードしたばかり。
どちらかが原因のようです。
「ChatGPT」軍曹に言われるがまま、コマンドをたたいてみます。
ls -l /usr/local/bin/g-ir-scanner
-rwxr-xr-x 1 root wheel 3955 7月 29 11:52 /usr/local/bin/g-ir-scanner
head -1 /usr/local/bin/g-ir-scanner
#!/usr/local/bin/python3.11
「g-ir-scanner」が、「python3.11」を参照しているのだな。
3. 対処
「gobject-introspection」を再インストールするといいらしい。
cd /usr/ports/devel/gobject-introspection
make deinstall clean
make NO_DIALOG=yes
make reinstall
で、再度。
head -1 /usr/local/bin/g-ir-scanner
#!/usr/local/bin/python3.12
これで。
env BATCH=yes portupgrade -rR vips
が、通りました。
4. 参考サイト
本ページは、「ChatGPT」軍曹を参考にさせていただきました。