1. 概要
発生は、2025年4月16日。
ここんとこ、「glib」は、トラブル続きです。
2. 状況
下記の状況にありまして。
$ portversion -v | grep "<"
[Reading data from pkg(8) ... - 388 packages found - done]
glib-2.82.4_1,2 < needs updating (port has 2.84.1,2)
gobject-introspection-1.82.0_1,1 < needs updating (port has 1.84.0,1)
これは、「FreeBSD 13.5 RELEASE」「FreeBSD 14.2 RELEASE」ともに発生している状況です。
portupgrade -rR glib
は、以下で停止します。
[Reading data from pkg(8) ... - 412 packages found - done]
[Gathering depends for devel/glib20 ................................................................................... done]
[Gathering depends for graphics/librsvg2-rust ......................................................................... done]
[Gathering depends for graphics/libheif ............................................................................... done]
[Gathering depends for accessibility/at-spi2-core ................. done]
・・・ 略 ・・・
===> Extracting for glib-2.84.1,2
=> SHA256 Checksum OK for gnome/glib-2.84.1.tar.xz.
===> glib-2.84.1,2 depends on file: /usr/local/gobject-introspection-bootstrap/bin/g-ir-scanner - not found
===> glib-2.84.1,2 depends on file: /usr/local/gobject-introspection-bootstrap/bin/g-ir-scanner - not found
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/devel/glib20
*** Error code 1
Stop.
make: stopped in /usr/ports/devel/glib20
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250416-69098-1u9bj0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=glib-2.82.4_1,2 UPGRADE_PORT_VER=2.82.4_1,2 make
** Fix the problem and try again.
---> Skipping 'devel/gobject-introspection' (gobject-introspection-1.82.0_1,1) because a requisite package 'glib-2.82.4_1,2' (devel/glib20) failed (specify -k to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! devel/glib20 (glib-2.82.4_1,2) (unknown build error)
* devel/gobject-introspection (gobject-introspection-1.82.0_1,1)
「gobject-introspection」側からやると。
portupgrade -rR gobject-introspection
[Reading data from pkg(8) ... - 412 packages found - done]
[Gathering depends for devel/gobject-introspection .................................................................... done]
[Exclude up-to-date packages .......................... done]
---> Upgrading 'glib-2.82.4_1,2' to 'glib-2.84.1,2' (devel/glib20)
---> Building '/usr/ports/devel/glib20'
===> Cleaning for gobject-introspection-1.84.0,1
===> Cleaning for glib-2.84.1,2
===> Cleaning for glib-2.84.1,2
===> License LGPL20 accepted by the user
===> glib-2.84.1,2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by glib-2.84.1,2 for building
===> Extracting for glib-2.84.1,2
=> SHA256 Checksum OK for gnome/glib-2.84.1.tar.xz.
===> glib-2.84.1,2 depends on file: /usr/local/gobject-introspection-bootstrap/bin/g-ir-scanner - not found
===> glib-2.84.1,2 depends on file: /usr/local/gobject-introspection-bootstrap/bin/g-ir-scanner - not found
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/devel/glib20
*** Error code 1
Stop.
make: stopped in /usr/ports/devel/glib20
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250416-81902-7dhrxl env UPGRADE_TOOL=portupgrade UPGRADE_PORT=glib-2.82.4_1,2 UPGRADE_PORT_VER=2.82.4_1,2 make
** Fix the problem and try again.
---> Skipping 'devel/gobject-introspection' (gobject-introspection-1.82.0_1,1) because a requisite package 'glib-2.82.4_1,2' (devel/glib20) failed (specify -k to force)
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! devel/glib20 (glib-2.82.4_1,2) (unknown build error)
* devel/gobject-introspection (gobject-introspection-1.82.0_1,1)
結局。
/usr/local/gobject-introspection-bootstrap/bin/g-ir-scanner
ちゅうのがないので、どうにもならんということのようです。
3. 対応
とりあえず、「gobject-introspection」の方は、参考サイトのおかげで、なんとかなりました。
portupgrade -f gobject-introspection
しかし、「glib」の方は、「-f」でやっても同じ現象のままです。
最終的に、参考サイトのおかげで、解決しました。
この時点で、2025年6月6日。
「glib」のバージョンもさらに変わっておりました。
$ portversion -v | grep "<"
[Reading data from pkg(8) ... - 738 packages found - done]
glib-2.82.4_1,2 < needs updating (port has 2.84.1_2,2)
参考サイトのとおりにします。
cd /usr/ports/devel/gobject-introspection
make FLAVOR=bootstrap install clean
cd ../glib20
make
make reinstall
4. 補足
これで、うまくアップグレードできたと思いきや。
他のパッケージをアップグレードしようとするときに。
$ portversion -v | grep '<'
[Reading data from pkg(8) ... - 740 packages found - done]
libgit2-1.9.0 < needs updating (port has 1.9.1)
vulkan-headers-1.4.316 < needs updating (port has 1.4.317)
vulkan-loader-1.4.316 < needs updating (port has 1.4.317)
$ portupgrade -rR vulkan-loader
[Reading data from pkg(8) ... - 740 packages found - done]
[Gathering depends for graphics/vulkan-loader ......................................................................... done]
[Gathering depends for multimedia/ffmpeg .............................................................................. done]
** Duplicated origin - devel/gobject-introspection: gobject-introspection-1.84.0,1 gobject-introspection-bootstrap-1.84.0,1
** Run 'pkgdb -F' to interactively fix them.
てなことになるので。
$ pkg check
Checking all packages: 2%
Checking all packages: 100%
として、もう一度、同じことをやっても同様になります。
仕方ないので。
pkg delete gobject-introspection-bootstrap
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
gobject-introspection-bootstrap: 1.84.0,1
Number of packages to be removed: 1
The operation will free 4 MiB.
Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling gobject-introspection-bootstrap-1.84.0,1...
[1/1] Deleting files for gobject-introspection-bootstrap-1.84.0,1: 100%
もうひとつ。
pkg delete glib-bootstrap
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
glib-bootstrap: 2.84.1_2,2
Number of packages to be removed: 1
The operation will free 17 MiB.
Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling glib-bootstrap-2.84.1_2,2...
[1/1] Deleting files for glib-bootstrap-2.84.1_2,2: 100%
これで、一応、他のパッケージもアップグレードできるようになりました。
次回の「glib」アップグレード時も、同じようなことが起きるかと思います。
同様の手順でいけるのかしら?
5. 参考サイト
本ページは、下記のサイトを参考にさせていただきました。
「glib-2.84.1_2,2 depends on file: /usr/local/gobject-introspection-bootstrap/bin/g-ir-scanner - not found」
「why cannot g-ir-scanner be found ?」