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