1. 概要
発生は、2026年9月14日。
「FreeBSD 14.4 RELEASE」を「FreeBSD 14.5 RELEASE」へアップグレードしようと、すべての「ports」を更新しようとして発生しました。
2. 状況
下記の状況にありまして。
portversion -v | grep 'glib'
[Reading data from pkg(8) ... - 478 packages found - done]
dbus-glib-0.114 = up-to-date with port
glib-2.84.4,2 < needs updating (port has 2.88.3,2)
glib-bootstrap-2.84.4,2 < needs updating (port has 2.88.3,2)
これまでと同様の手順を踏もうとして。
cd /usr/ports/devel/gobject-introspection
make FLAVOR=bootstrap install clean
cd ../glib20
make NO_DIALOG=yes
とここで下記のエラーになります。
・・・ 略 ・・・
[ 1% 22/1280] cc -Iglib/tests/gvariant.p -Iglib/tests -I../glib/tests -I. -I.. -Iglib -I../glib -fdiagnostics-color=never -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=gnu99 -D_GNU_SOURCE -fno-strict-aliasing -DG_ENABLE_DEBUG -Wfloat-conversion -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-field-initializers -Wnonnull -Wnull-dereference -Wunused -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith -Werror=unused-result -Wstrict-prototypes -Wno-bad-function-cast -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=pointer-sign -Wno-string-plus-int -Wno-typedef-redefinition -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -pthread '-DG_LOG_DOMAIN="GLib"' -UG_DISABLE_ASSERT -MD -MQ glib/tests/gvariant.p/gvariant.c.o -MF glib/tests/gvariant.p/gvariant.c.o.d -o glib/tests/gvariant.p/gvariant.c.o -c ../glib/tests/gvariant.c
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make[1]: stopped making "/usr/ports/devel/glib20/work-default/.stage_done.glib._usr_local" in /usr/ports/devel/glib20
*** Error code 1
Stop.
make: stopped making "all" in /usr/ports/devel/glib20
3. 対応
少し手順を変えています。
いったん、インストール済のものをアンインストールしてクリアな状態にします。
pkg delete -f glib glib-bootstrap gobject-introspection gobject-introspection-bootstrap
cd /usr/ports/devel/glib20 && make clean
cd /usr/ports/devel/gobject-introspection && make clean
「bootstrap」版の「glib」をインストールします。
cd /usr/ports/devel/glib20
make FLAVOR=bootstrap install clean
「bootstrap」版の「gobject-introspection」を単独でインストールします。
cd /usr/ports/devel/gobject-introspection
make FLAVOR=bootstrap install clean
「bootstrap」環境を利用して、通常版の「glib20」をインストールします。
cd /usr/ports/devel/glib20
make MAKE_JOBS_UNSAFE=yes NO_DIALOG=yes
make install clean
通常版の「gobject-introspection」をインストールします。
cd /usr/ports/devel/gobject-introspection
make NO_DIALOG=yes
make install clean
「bootstrap」版の「glib」「gobject-introspection」を削除します。
pkg delete -f glib-bootstrap gobject-introspection-bootstrap
これで、この一連の作業は、いったん完了です。
4. 参考サイト
本ページは、「Gemini」伍長を参考にさせていただきました。