Re: Newbie: Can't compile

Gianluigi Tiesi <[email protected]>
Newsgroups gmane.comp.security.virus.clamav.devel
Message-ID <[email protected]>
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 <[email protected]>
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?
_______________________________________________
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.