clamav-0.102.0 虽已于20191002在官网公告释出, 但
0.101.4 freshclam 并没有提醒版本OUTDATED讯息, 这跟以往大不同Libcurl version >= 7.45 为必要条件clamonacc 限Linux kernel >= 3.8编译时有gcc版本问题, 却未言明或提醒, 这点特别严重缺 clamav-milter在此提供一些心得给有兴趣的邦友参考, 但请不要拿正式上线服务的主机来玩哦!
( On FreeBSD-12.0 )
Making all in clamscan CCLD clamscan../libclamav/.libs/libclamav.so: undefined reference to `libiconv'../libclamav/.libs/libclamav.so: undefined reference to `libiconv_close'../libclamav/.libs/libclamav.so: undefined reference to `libiconv_open'cc: error: linker command failed with exit code 1 (use -v to see invocation)*** Error code 1
( On CentOS-6.9 )
CCLD freshclam../libclamav/.libs/libclamav.so: undefined reference to `gzseek64'../libfreshclam/.libs/libfreshclam.so: undefined reference to `gzopen64'collect2: ld returned 1 exit statusmake[2]: *** [freshclam] Error 1
由于找不到相关线索, 曾尝试加装新版libiconv也无效果,
好不容易才意识到会不会是编译器的问题, 果然在Debian-9.6上得到印证.
已确定不可用的cc有:
clang-6.0.1 , clang-7.0.1 , gcc-4.4.7
已确定可用的cc有:
gcc-9.2.0(FreeBSD-12.0) , gcc-8.3.0(CentOS-6.9) , gcc-6.3.0(Debian-9.6)
( On FreeBSD-12.0 )
./configure ......(略)\
--enable-milter \
CC=gcc9 CXX=g++9
( On CentOS-6.9 )
./configure ......(略) \
--enable-milter \
--enable-clamonacc \
CC=/opt/gcc830/bin/gcc CXX=/opt/gcc830/bin/g++ \
--with-libcurl=/opt/curl7660
clamav-milter确实是漏了
参考 https://lists.gt.net/clamav/users/77196
这篇确定clamav-milter确实是漏了, 说是会在0.102.1修改:
It appears that configure changes between ClamAV 0.102.0-rc and 0.102.0 broke building of clamav-milter.
但实际上, dev/0.102.1 dev/0.103.0 都还是老样子从缺,
只有 dev/0.101.5 仍正常提供.
不过毋须担心, 实测直接拿 0.101.4 的 sbin/clamav-milter 来用即可.
附注:
On-Access is only available on Linux systems, 且kernel >= 3.8
ClamAV的Mailing List Archive
https://lists.gt.net/clamav/
20191122补充:
clamav-0.102.1 已于 2019-11-20 18:22:40 UTC 在官网公告释出, 除了已补上 clamav-milter , 其余皆如前述.