klamav-0.4 fails to compile with clamav 0.90 because of a change in functions (clamav.h) the fonction cl_loaddbdir doesn't exist in the clamav.h. I can find the cl_load function but arguments are differents. so there is a mismatch version between clamav and klamav Reproducible: Always Steps to Reproduce: 1.emerge klamav 2. 3. Actual Results: freshklam.cpp: In member function 'QString Freshklam::getCurrentDBDir()': freshklam.cpp:838: error: 'cl_loaddbdir' was not declared in this scope ... make[3]: Leaving directory `/var/tmp/portage/app-antivirus/klamav-0.40/work/klamav-0.40-source/klamav-0.40/src' this bug seem to be solved in the CVS version, so the only thing to do is waiting for a new version, but clamav 0.90 should be masked in portage. Expected Results: a fresh install of klamav emerge --info Portage 2.1.2-r9 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r0, 2.6.20-gentoo x86_64) ================================================================= System uname: 2.6.20-gentoo x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ Gentoo Base System release 1.12.9 Timestamp of tree: Mon, 19 Feb 2007 10:50:01 +0000 dev-java/java-config: 1.3.7, 2.0.31-r3 dev-lang/python: 2.4.4 dev-python/pycrypto: 2.0.1-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.20 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -msse3" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=athlon64 -O2 -pipe -msse3" DISTDIR="/opt/distfiles" FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.club-internet.fr/pub/mirrors/gentoo " LANG="fr_FR@euro" LC_ALL="fr_FR@euro" LINGUAS="fr" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X alsa amd64 arts berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dlloader dri dvd dvdr eds emboss encode esd fam firefox fortran gdbm gif gphoto2 gpm gstreamer gtk2 hal iconv ipv6 isdnlog jpeg kde kdeenablefinal ldap libg++ mad midi mikmod mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt qt3 qt4 quicktime readline reflection samba scanner sdl session spell spl ssl tcpd threads truetype truetype-fonts type1-fonts unicode usb userlocales v4l vorbis xcomposite xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Yes, this seems to be a mistake by upstream to unnecessarily break compatibility. See http://article.gmane.org/gmane.comp.security.virus.clamav.devel/2719 for some discussion about this.
Created attachment 110704 [details, diff] klamav-0.40-clamav_0.90_update.patch since I'm not an clamav expert - can somebody review this patch? ps. if patch is ok ( ;) ) and we use this, than klamav will have to have >=clamav-0.90 in DEPEND Cheers, Przemek
As I see upstream is aware of a problem: http://sourceforge.net/mailarchive/forum.php?thread_id=31632787&forum_id=42209 and a version bump should be available soon. Cheers, Przemek
Yes klamav compile with it, and solve this problem http://bugs.gentoo.org/show_bug.cgi?id=164522. i can have an updated virus list now, and i cannot reproduce the crash. thanks a lot. cheers didier.
Klamav 0.41 has been available for a few days now, which adds compatibility with clamav 0.90. Any news on when an ebuild for 0.41 will be available?
*** Bug 168508 has been marked as a duplicate of this bug. ***
As I see my patch changes sources same way, it was fixed in 0.41. I'm going to add patch for klamav-0.40 and version bump to 0.41. Just have to check can klamav-0.4x work with older clamav versions (I think not, but I'm not sure of it ;) ).
cl_load function was introduced in clamav-0.90. Fixed in CVS. Cheers, Przemek