pkg・ports アップデート関連 - その他一般 - rspamd-4.0.0 → 4.0.0_1


 クラウディア


1. 概要
2. 状況
3. 原因
4. 対策
5. 参考サイト

1. 概要

 発生は、2026年6月2日。  「FreeBSD 15.0-RELEASE-p2」上の出来事です。

2. 状況


portversion -v | grep '<'

[Reading data from pkg(8) ... - 855 packages found - done]
rspamd-4.0.0                <  needs updating (port has 4.0.0_1)
 という状況にありまして。

env BATCH=yes portupgrade -rR rspamd
 すると。

・・・	略	・・・

[ 33% 156/465] /usr/bin/c++ -DDOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS -DDOCTEST_CONFIG_USE_STD_HEADERS -DFMT_HEADER_ONLY -DFREEBSD -DHAVE_CONFIG_H -DU_CHARSET_IS_UTF8 -DZSTD_DISABLE_DEPRECATE_WARNINGS -D_BSD_SOURCE -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/hiredis -I/usr/ports/mail/rspamd/work/rspamd-4.0.0 -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libutil -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libserver -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libmime -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libstat -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libcryptobox -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/libucl -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/replxx/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/uthash -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/http-parser -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/fpconv -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/libottery -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/cdb -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/snowball/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/librdns -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/aho-corasick -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/lc-btrie -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/lua-lpeg -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/frozen/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/fu2/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libserver/fasttext -I/usr/ports/mail/rspamd/work/.build/src -I/usr/ports/mail/rspamd/work/.build/src/libcryptobox -I/usr/local/include/luajit-2.1 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/xxhash -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/doctest -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/expected -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/ankerl -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/fmt/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fdiagnostics-color=always -Wno-unused-command-line-argument -Wno-ignored-optimization-argument -O2 -pipe -fstack-protector-strong -fno-strict-aliasing    -DNDEBUG -O2 -fomit-frame-pointer -fassociative-math -freciprocal-math -fno-signed-zeros -ffp-contract=fast  -std=gnu++20 -flto -fPIC -msse2 -m64 -Wextra -Wall -Wpointer-arith -Wno-unused-parameter -Wno-unused-function -Wunused-variable -Wno-strict-aliasing -fno-strict-aliasing -Wnull-dereference -Wno-unused-const-variable -Wno-sign-compare -Wno-implicit-fallthrough -Wmissing-noreturn -Wmissing-format-attribute -Werror=return-type -fPIC -MD -MT src/libserver/fasttext/CMakeFiles/rspamd-fasttext.dir/fasttext_shim.cxx.o -MF src/libserver/fasttext/CMakeFiles/rspamd-fasttext.dir/fasttext_shim.cxx.o.d -o src/libserver/fasttext/CMakeFiles/rspamd-fasttext.dir/fasttext_shim.cxx.o -c /usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libserver/fasttext/fasttext_shim.cxx
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: stopped making "all" in /usr/ports/mail/rspamd
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20260602-36789-wob8l2 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=rspamd-4.0.0 UPGRADE_PORT_VER=4.0.0 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! mail/rspamd (rspamd-4.0.0)    (unknown build error)
 で止まっちゃいます。  では。

cd /usr/ports/mail/rspamd

make MAKE_JOBS_UNSAFE=yes
 すると。

・・・	略	・・・

[  0% 1/311] /usr/bin/c++ -DDOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS -DDOCTEST_CONFIG_USE_STD_HEADERS -DFMT_HEADER_ONLY -DFREEBSD -DHAVE_CONFIG_H -DSIMDUTF_IMPLEMENTATION_FALLBACK=1 -DU_CHARSET_IS_UTF8 -DZSTD_DISABLE_DEPRECATE_WARNINGS -D_BSD_SOURCE -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/hiredis -I/usr/ports/mail/rspamd/work/rspamd-4.0.0 -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libutil -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libserver -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libmime -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libstat -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libcryptobox -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/libucl -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/replxx/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/uthash -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/http-parser -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/fpconv -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/libottery -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/cdb -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/snowball/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/librdns -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/aho-corasick -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/lc-btrie -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/lua-lpeg -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/frozen/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/fu2/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/src/libserver/fasttext -I/usr/ports/mail/rspamd/work/.build/src -I/usr/ports/mail/rspamd/work/.build/src/libcryptobox -I/usr/local/include/luajit-2.1 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/xxhash -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src -I/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fdiagnostics-color=always -Wno-unused-command-line-argument -Wno-ignored-optimization-argument -O2 -pipe -fstack-protector-strong -fno-strict-aliasing    -DNDEBUG -O2 -fomit-frame-pointer -fassociative-math -freciprocal-math -fno-signed-zeros -ffp-contract=fast  -std=c++20 -flto -fPIC -msse2 -m64 -Wextra -Wall -Wpointer-arith -Wno-unused-parameter -Wno-unused-function -Wunused-variable -Wno-strict-aliasing -fno-strict-aliasing -Wnull-dereference -Wno-unused-const-variable -Wno-sign-compare -Wno-implicit-fallthrough -Wmissing-noreturn -Wmissing-format-attribute -Werror=return-type -fPIC -Weffc++ -Wfatal-errors -Wsign-compare -Wshadow -Wwrite-strings -Winit-self -Wconversion -Wno-sign-conversion -Wunused-function -MD -MT contrib/simdutf/src/CMakeFiles/simdutf.dir/simdutf.cpp.o -MF contrib/simdutf/src/CMakeFiles/simdutf.dir/simdutf.cpp.o.d -o contrib/simdutf/src/CMakeFiles/simdutf.dir/simdutf.cpp.o -c /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf.cpp
FAILED: [code=1] contrib/simdutf/src/CMakeFiles/simdutf.dir/simdutf.cpp.o

・・・	略	・・・

In file included from /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf.cpp:4:
In file included from /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/implementation.cpp:25:
In file included from /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf/icelake.h:60:
/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf/icelake/implementation.h:13:7: warning: abstract class is marked 'final' [-Wabstract-final-class]
   13 | class implementation final : public simdutf::implementation {
      |       ^
/usr/local/include/simdutf/implementation.h:5219:3: note: unimplemented pure virtual method 'validate_utf16be_as_ascii' in 'implementation'
 5219 |   validate_utf16be_as_ascii(const char16_t *buf, size_t len) const noexcept = 0;
      |   ^

・・・	略	・・・

/usr/local/include/simdutf/implementation.h:6990:27: note: unimplemented pure virtual method 'find' in 'implementation'
 6990 |   virtual const char16_t *find(const char16_t *start, const char16_t *end,
      |                           ^
In file included from /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf.cpp:4:
In file included from /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/implementation.cpp:26:
In file included from /usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf/haswell.h:57:
/usr/ports/mail/rspamd/work/rspamd-4.0.0/contrib/simdutf/src/simdutf/haswell/bitmanipulation.h:20:1: fatal error: unknown type name 'simdutf_inline'
   20 | simdutf_inline int trailing_zeroes(uint64_t input_num) {
      | ^
2 warnings and 1 error generated.
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.
make[1]: stopped making "/usr/ports/mail/rspamd/work/.stage_done.rspamd._usr_local" in /usr/ports/mail/rspamd
*** Error code 1

Stop.

3. 原因

 状況を「Gemini」伍長に相談すると。
エラーの原因
 コンパイル時に -I/usr/local/include(システム側のパス)と -I/.../contrib/simdutf/include(rspamd内部のパス)の両方が指定されています。

1. 純粋仮想関数の未実装エラー (-Wabstract-final-class)
 システム側(/usr/local/include/simdutf/implementation.h)が新しすぎる、あるいは rspamd 内部のコードと食い違っているため、validate_utf16be_as_ascii などの新しい関数(純粋仮想関数)を rspamd 側のクラスが実装していないと見なされ、コンパイルエラーになっています。

2. 未知の型エラー (fatal error: unknown type name 'simdutf_inline')
 これもヘッダファイルの読み込み順、またはバージョンの不整合によってマクロ(simdutf_inline)が正しく定義されていないために発生しています。
 どうも「simdutf」というライブラリが、システムのものと「rspamd」が使おうとするものとの間で競合しているらしい。

4. 対策

 いったん、「simdutf」を削除します。

cd /usr/ports/converters/simdutf

make deinstall
 その上で。

env BATCH=yes portupgrade -rR rspamd
 今度は、すんなり通ります。  アップグレードしたので。

service rspamd restart
 したうえで、「simdutf」を再インストールします。

cd /usr/ports/converters/simdutf

make NO_DIALOG=yes

make install

5. 参考サイト

 本ページは、「Gemini」伍長を参考にさせていただきました。

audiobook.jp
AbemaTV 無料体験
U-NEXT
損保との違い
5G CONNECT
葬送のフリーレン Prime Video
ネットオークションの相場、統計、価格比較といえばオークファン
earthcar(アースカー)
TikTok Shop 【リピート用プログラム】
Amazonギフトカード
アフィリエイトのアクセストレード
ベルリッツ
薬屋の独り言
ハイスピードプラン
JETBOY
【usus ウズウズ】
健康サポート特集
サウンドハウス
EaseUS
それがだいじWi-Fi
EMEET 1