pkg・ports アップデート関連 - clamav-1.4.3_2,1 → 1.5.0,1


 クラウディア


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
 これで、アップグレードできました。

AbemaTV 無料体験