[Pkg-clamav-devel] build clamav with system LLVM

Scott Kitterman debian at kitterman.com
Mon May 5 14:41:56 UTC 2014


On Sunday, May 04, 2014 13:07:32 Scott Kitterman wrote:
> On Sunday, May 04, 2014 11:26:26 Scott Kitterman wrote:
> > On May 4, 2014 5:44:47 AM EDT, Andreas Cadhalpun
> 
> <andreas.cadhalpun at googlemail.com> wrote:
> > >Hi,
> > >
> > >On 03.05.2014 01:05, Scott Kitterman wrote:
> > >> On May 2, 2014 5:33:16 PM EDT, Andreas Cadhalpun
> > >
> > ><andreas.cadhalpun at googlemail.com> wrote:
> > >>> When do you plan to upload to experimental?
> > >> 
> > >> Hopefully tomorrow. Possible tonight.
> > >
> > >Thanks for uploading.
> > >Now it has built on all architectures, where clamav uses LLVM.
> > >These are apparently only amd64, i386 and powerpc.
> > >
> > >On other platforms the log contains
> > >configure: error: CPU support is untested, not building LLVM
> > >or:
> > >configure: error: OS kfreebsd-gnu is not supported, not building LLVM
> > >
> > >The latter comes from the following part of libclamav/c++/configure.ac:
> > >     AC_MSG_CHECKING([for supported OS])
> > >     case "$target_cpu" in
> > >	
> > >	i?86|amd64|x86_64|powerpc*)
> > >	
> > >	    case "$target_os" in
> > >
> > >darwin*|freebsd*|openbsd*|netbsd*|dragonfly*|linux*|solaris*|win32*|mingw
> > >*)
> > >
> > >		    AC_MSG_RESULT([ok ($target_cpu-$target_os)])
> > >
> > >I'm not familiar with the different *bsd's, but I guess that kfreebsd
> > >is
> > >not that different from freebsd, so we could try to enable JIT on
> > >kfreebsd by adding it to that list.
> > >
> > >What's your opinion?
> > 
> > I notice in the build log there is a check something like "building on
> > bsd"
> > (working using my phone so I'm doing it from memory).  I'd check what that
> > affects.
> > 
> > In general, I'm in favor.
> > 
> > I would have expected, however, that it didn't build llvm at all since we
> > don't use it.  IIRC the system llvm is built for all release archs.
> 
> Also, I decided to try this out for Ubuntu (since it's early in their
> development cycle) and it didn't go well:
> 
> https://launchpadlibrarian.net/174540862/buildlog_ubuntu-utopic-i386.clamav_
> 0.98.1%2Bdfsg-6_FAILEDTOBUILD.txt.gz
> 
> Ubuntu doesn't use --as-needed, so it appears we're somewhat under linked at
> the moment:
> 
> ../libclamav/.libs/libclamav.so: undefined reference to `setupterm'
> ../libclamav/.libs/libclamav.so: undefined reference to `tigetnum'
> ../libclamav/.libs/libclamav.so: undefined reference to `set_curterm'
> ../libclamav/.libs/libclamav.so: undefined reference to `del_curterm'
> collect2: error: ld returned 1 exit status

This turns out to be unrelated to the LLVM changes.  It's related to parallel 
building.  Ubuntu buildds use a lot higher degree of parallelism than Debian's 
and so race conditions due to parallelism issues are much more likely there.  

Somewhere clamav is underlinked or it's happening in the wrong sequence.  I'm 
working with them to figure it out.

Scott K




More information about the Pkg-clamav-devel mailing list