[Clamav-devel] Newbie: Can't compile

Gianluigi Tiesi sherpya at netfarm.it
Tue Feb 13 06:37:18 EST 2018


On 02/10/2018 11:00 PM, Peter Wiehe wrote:
> I am trying to compile the sourcecode of clamav 0.99.3.
> I use "gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406" on Kubuntu 17.04 64bit.
> 
> I get the following output when entering "make":
> -------------------------------------------
> make  all-recursive
> make[1]: Entering directory '/home/peter/Schreibtisch/clamav-0.99.3'
> Making all in libltdl
> make[2]: Entering directory '/home/peter/Schreibtisch/clamav-0.99.3/libltdl'
> make  all-am
> make[3]: Entering directory '/home/peter/Schreibtisch/clamav-0.99.3/libltdl'
> make[3]: Nothing to be done for 'all-am'.
> make[3]: Leaving directory '/home/peter/Schreibtisch/clamav-0.99.3/libltdl'
> make[2]: Leaving directory '/home/peter/Schreibtisch/clamav-0.99.3/libltdl'
> Making all in libclamav
> make[2]: Entering directory '/home/peter/Schreibtisch/clamav-0.99.3/libclamav'
> make  all-recursive
> make[3]: Entering directory '/home/peter/Schreibtisch/clamav-0.99.3/libclamav'
> Making all in c++
> make[4]: Entering directory
> '/home/peter/Schreibtisch/clamav-0.99.3/libclamav/c++'
> make  all-am
> make[5]: Entering directory
> '/home/peter/Schreibtisch/clamav-0.99.3/libclamav/c++'
>    CXX    libclamavcxx_la-bytecode2llvm.lo
> In file included from bytecode2llvm.cpp:39:0:
> ./llvm/include/llvm/ADT/BitVector.h: In member function ‘int
> llvm::BitVector::find_next(unsigned int) const’:
> ./llvm/include/llvm/ADT/BitVector.h:161:20: warning: left shift of
> negative value [-Wshift-negative-value]
>       Copy &= ~0L << BitPos;
>                      ^~~~~~
> ./llvm/include/llvm/ADT/BitVector.h: In member function ‘void
> llvm::BitVector::set_unused_bits(bool)’:
> ./llvm/include/llvm/ADT/BitVector.h:376:37: warning: left shift of
> negative value [-Wshift-negative-value]
>         Bits[UsedWords-1] &= ~(~0L << ExtraBits);
>                                       ^~~~~~~~~
> In file included from ./llvm/include/llvm/Support/Allocator.h:17:0,
>                   from ./llvm/include/llvm/ADT/StringMap.h:18,
>                   from bytecode2llvm.cpp:41:
> ./llvm/include/llvm/Support/AlignOf.h: At global scope:
> ./llvm/include/llvm/Support/AlignOf.h:57:24: error: expected
> unqualified-id before ‘alignof’
>   static inline unsigned alignof() { return AlignOf<T>::Alignment; }
>                          ^~~~~~~
> In file included from ./llvm/include/llvm/ADT/StringMap.h:18:0,
>                   from bytecode2llvm.cpp:41:
> ./llvm/include/llvm/Support/Allocator.h: In member function ‘void
> llvm::SpecificBumpPtrAllocator<T>::DestroyAll()’:
> ./llvm/include/llvm/Support/Allocator.h:204:46: error: expected
> primary-expression before ‘<’ token
>           Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
>                                                ^
> ./llvm/include/llvm/Support/Allocator.h:204:39: warning: ISO C++ does
> not allow ‘alignof’ with a non-type [-Wpedantic]
>           Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
>                                         ^~~~~~~
> ./llvm/include/llvm/Support/Allocator.h:204:48: error: expected
> primary-expression before ‘>’ token
>           Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
>                                                  ^
> ./llvm/include/llvm/Support/Allocator.h:204:50: error: expected
> primary-expression before ‘)’ token
>           Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
>                                                    ^
> In file included from bytecode2llvm.cpp:41:0:
> ./llvm/include/llvm/ADT/StringMap.h: In static member function ‘static
> llvm::StringMapEntry<ValueTy>*
> llvm::StringMapEntry<ValueTy>::Create(const char*, const char*,
> AllocatorTy&, InitType)’:
> ./llvm/include/llvm/ADT/StringMap.h:170:33: error: expected
> primary-expression before ‘<’ token
>       unsigned Alignment = alignof<StringMapEntry>();
>                                   ^
> ./llvm/include/llvm/ADT/StringMap.h:170:26: warning: ISO C++ does not
> allow ‘alignof’ with a non-type [-Wpedantic]
>       unsigned Alignment = alignof<StringMapEntry>();
>                            ^~~~~~~
> ./llvm/include/llvm/ADT/StringMap.h:170:48: error: expected
> primary-expression before ‘>’ token
>       unsigned Alignment = alignof<StringMapEntry>();
>                                                  ^
> ./llvm/include/llvm/ADT/StringMap.h:170:50: error: expected
> primary-expression before ‘)’ token
>       unsigned Alignment = alignof<StringMapEntry>();
>                                                    ^
> In file included from bytecode2llvm.cpp:69:0:
> ./llvm/include/llvm/Support/CommandLine.h: In member function ‘void
> llvm::cl::alias::done()’:
> ./llvm/include/llvm/Support/CommandLine.h:1326:5: warning: this ‘if’
> clause does not guard... [-Wmisleading-indentation]
>       if (AliasFor == 0)
>       ^~
> ./llvm/include/llvm/Support/CommandLine.h:1328:7: note: ...this
> statement, but the latter is misleadingly indented as if it is guarded
> by the ‘if’
>         addArgument();
>         ^~~~~~~~~~~
> bytecode2llvm.cpp: In function ‘void setGuard(unsigned char*)’:
> bytecode2llvm.cpp:2432:49: warning: ISO C++ forbids converting a
> string constant to ‘char*’ [-Wpedantic]
>       cl_hash_data("md5", salt, 48, guardbuf, NULL);
>                                                   ^
> Makefile:2070: recipe for target 'libclamavcxx_la-bytecode2llvm.lo' failed
> make[5]: *** [libclamavcxx_la-bytecode2llvm.lo] Error 1
> make[5]: Leaving directory
> '/home/peter/Schreibtisch/clamav-0.99.3/libclamav/c++'
> Makefile:1469: recipe for target 'all' failed
> make[4]: *** [all] Error 2
> make[4]: Leaving directory
> '/home/peter/Schreibtisch/clamav-0.99.3/libclamav/c++'
> Makefile:3376: recipe for target 'all-recursive' failed
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory '/home/peter/Schreibtisch/clamav-0.99.3/libclamav'
> Makefile:1089: recipe for target 'all' failed
> make[2]: *** [all] Error 2
> make[2]: Leaving directory '/home/peter/Schreibtisch/clamav-0.99.3/libclamav'
> Makefile:675: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/home/peter/Schreibtisch/clamav-0.99.3'
> Makefile:503: recipe for target 'all' failed
> make: *** [all] Error 2
> -------------------------------------
> So what can I do to get clamav sourcecode compiled?
> 
> Kind regards
> Peter Wiehe
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net
> 
> http://www.clamav.net/contact.html#ml
> 

apply this patch with -p1 withing libclamav/c++/llvm directory:
https://github.com/llvm-mirror/llvm/commit/16c3b647eb100fe404ee65f106d563ddef6c74b7.patch

-- 
Gianluigi Tiesi <sherpya at netfarm.it>
EDP Project Leader
Netfarm S.r.l. - http://www.netfarm.it/
Free Software: http://oss.netfarm.it/

Q: Because it reverses the logical flow of conversation.
A: Why is putting a reply at the top of the message frowned upon?



More information about the clamav-devel mailing list