Re: Newbie: Can't compile

"Micah Snyder (micasnyd)" <[email protected]>
Newsgroups gmane.comp.security.virus.clamav.devel
Message-ID <[email protected]>
Hi Peter,

Some others have encountered the same sort of errors building ClamAV with newer versions of gcc/g++.  We are aware of the issue and a fix will be on the way.

https://bugzilla.clamav.net/show_bug.cgi?id=12026

Regards,
Micah

Micah Snyder
Software Engineer
Talos
Cisco Systems, Inc.



On Feb 10, 2018, at 5:00 PM, Peter Wiehe <[email protected]<mailto:[email protected]>> 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

_______________________________________________
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.