Summary: | app-antivirus/clamav-0.96: fails to build on uclibc | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jason Waldhelm <jason> |
Component: | Current packages | Assignee: | Net-Mail Packages <net-mail+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | antivirus, embedded |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugzilla.clamav.net/show_bug.cgi?id=6329 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Jason Waldhelm
2010-04-28 14:34:49 UTC
*** Bug 317647 has been marked as a duplicate of this bug. *** Okay what's happening here is that libclamav/c++/llvm/configure is checking for the declaration of error_t via the inclusion of <argz.h> which you can see around lines 9958: ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#if HAVE_ARGZ_H # include <argz.h> #endif " if test "x$ac_cv_type_error_t" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ERROR_T 1 _ACEOF But there is no argz.h on uclibc so this fails even though error_t gets typedefed to int on line 70 of <errno.h> causing a multiple type def. I'm still not sure how to elegantly fix this. A wrong solution (though useful dignostically) is to just comment out line 70 of errno.h to see that the multiple type def is relieved. There are two ways to go, we can either hack the build system to properly detect error_t or we can just tell it that error_t exists, which is guaranteed a uclibc system vi errno.h. Here's a simple patch to the ebuild that would fix it. I will still pursue the build system fix upstream. --- clamav-0.97.6.ebuild.orig 2012-11-13 11:22:19.286922709 +0000 +++ clamav-0.97.6.ebuild 2012-11-13 11:22:49.687673895 +0000 @@ -13,7 +13,7 @@ LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" -IUSE="bzip2 clamdtop iconv ipv6 milter selinux static-libs" +IUSE="bzip2 clamdtop iconv ipv6 milter selinux static-libs uclibc" CDEPEND="bzip2? ( app-arch/bzip2 ) clamdtop? ( sys-libs/ncurses ) @@ -42,6 +42,7 @@ src_prepare() { use ppc64 && append-flags -mminimal-toc + use uclibc && export ac_cv_type_error_t=yes } src_configure() { Yeah this one is a thorny mess that ultimately derives from the fact that clamav bundles llvm (yes!) and the problem stems from there. See bug #446080. See that bug for details. I'll open an upstream bug report for clamav to make them aware, but they may be at the mercy of llvm. For gentoo, I think my fix in comment 3 is the best way to go for now. net-mail and antivirus are pretty quiet right now, so I'll commit this in a week or so if there are no objections. This was reported upstream, but the bug was closed WORKSFORME. However the earlier bug doesn't get to the problem in llvm, so I opened another: https://bugzilla.clamav.net/show_bug.cgi?id=6329 +*clamav-0.97.6-r1 (06 Dec 2012) + + 06 Dec 2012; Eray Aslan <eras@gentoo.org> +clamav-0.97.6-r1.ebuild, + +files/clamd.initd-r1: + Fix run directory permissions - bug #44766. Fix building on uclibc - bug + #317635 + |