- 1. 概要
- 2. 状況
- 3. 対処
1. 概要
発生は、2025年10月8日。
確か、昨日も「clamav」の更新があったんだけどな。
2. 状況
下記の状態です。
$ portversion -v | grep '<'
[Reading data from pkg(8) ... - 876 packages found - done]
clamav-1.4.3_2,1 < needs updating (port has 1.5.0,1)
vips-8.17.1_1 < needs updating (port has 8.17.2)
「vips」は、以前から発生していて、いまだに解決していません。
「clamav」をアップグレードしようとすると。
env BATCH=yes portupgrade -rR clamav
[Reading data from pkg(8) ... - 733 packages found - done]
[Gathering depends for security/clamav .......................................................................... done]
[Exclude up-to-date packages ................................................... done]
---> Upgrading 'clamav-1.4.3_2,1' to 'clamav-1.5.0,1' (security/clamav)
---> Building '/usr/ports/security/clamav'
===> Cleaning for clamav-1.5.0,1
===> License GPLv2 accepted by the user
===> clamav-1.5.0,1 depends on file: /usr/local/sbin/pkg - found
=> clamav-1.5.0.tar.gz doesn't seem to exist in /usr/ports/distfiles.
=> Attempting to fetch https://www.clamav.net/downloads/production/clamav-1.5.0.tar.gz
clamav-1.5.0.tar.gz 52 MB 87 kBps 10m20s
===> Fetching all distfiles required by clamav-1.5.0,1 for building
===> Extracting for clamav-1.5.0,1
=> SHA256 Checksum OK for clamav-1.5.0.tar.gz.
===> Patching for clamav-1.5.0,1
===> clamav-1.5.0,1 depends on package: rust>=1.56.0 - found
===> clamav-1.5.0,1 depends on file: /usr/local/bin/cmake - found
===> clamav-1.5.0,1 depends on executable: ninja - found
・・・ 略 ・・・
/usr/ports/security/clamav/work/clamav-1.5.0/libclamav/scanners.c:3842:43: warning: comparison of different enumeration types ('cl_error_t' (aka 'enum cl_error_t') and 'enum cli_file') [-Wenum-compare]
3842 | if ((iret == CL_TYPE_GPT) && (DCONF_ARCH & ARCH_CONF_GPT)) {
| ~~~~ ^ ~~~~~~~~~~~
/usr/ports/security/clamav/work/clamav-1.5.0/libclamav/scanners.c:4208:31: warning: implicit conversion from enumeration type 'enum cli_file' to different enumeration type 'cl_error_t' (aka 'enum cl_error_t') [-Wenum-conversion]
4208 | ret = CL_TYPE_TEXT_ASCII;
| ~ ^~~~~~~~~~~~~~~~~~
2 warnings generated.
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 in /usr/ports/security/clamav
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20251008-53428-fl9hmj env UPGRADE_TOOL=portupgrade UPGRADE_PORT=clamav-1.4.3_2,1 UPGRADE_PORT_VER=1.4.3_2,1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! security/clamav (clamav-1.4.3_2,1) (new compiler error)
こけます。
アップグレードが発生していたのは、2台の実機と 1台の仮想マシンです。
実機は、2台ともアップグレードに失敗しますが、1台の仮想マシンでは成功しました。
3. 対処
これは、アップグレードに成功したマシンがないとできないんですけどね。
アップグレードに成功したマシンで。
「root」ユーザ権限で。
cd /usr/ports/security/clamav
make NO_DIALOG=yes
ログインユーザで。
cd /usr/ports/security/clamav
tar -cyf /tmp/clamav.tar.bz2 work
作成した「/tmp/clamav.tar.bz2」を「sftp」あたりで、アップグレードに失敗したマシンに送付します。
アップグレードに失敗したマシンで。
「root」ユーザ権限で。
cd /usr/ports/security/clamav
make clean
tar -xyf /tmp/clamav.tar.bz2
make NO_DIALOG=yes
make reinstall
これで、アップグレードできました。
|