Mailing List Archive

Buildin ClamAV Bytecode Compiler
Hi,

I am trying to compile the ClamAV Bytecode Compiler, I am on a Linux
machine with with these characteristics:


OS: Debian Wheezy
KERNEL: Debian 3.2.51-1 x86_64 GNU/Linux
GCC: 4.7.2
Perl: 5.14.2
make: 3.81
Python: 2.7.3

I get this error when try to compile:

llvm[3]: Linking Release Loadable Module LLVMHello.so
g++: error: unrecognized command line option ‘-module’
make[3]: ***
[/home/pasta/Scrivania/TESI/clamav/clamav-bytecode-compiler/obj/Release/lib/LLVMHello.so]
Error 1
make[3]: Leaving directory
`/home/pasta/Scrivania/TESI/clamav/clamav-bytecode-compiler/obj/lib/Transforms/Hello'
make[2]: *** [Hello/.makeall] Error 2
make[2]: Leaving directory
`/home/pasta/Scrivania/TESI/clamav/clamav-bytecode-compiler/obj/lib/Transforms'
make[1]: *** [all] Error 1
make[1]: Leaving directory
`/home/pasta/Scrivania/TESI/clamav/clamav-bytecode-compiler/obj'
make: *** [clambc-only] Error 2

I really need to get the ClamAV Bytecode Compiler and thank you in
advance who will try to help.

ps: I'm sorry for my bad english but I'm Italian

_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Buildin ClamAV Bytecode Compiler [ In reply to ]
There is currently a known issue with building the ClamAV Bytecode Compiler
for Debian machines using gcc-4.7.2 and g++-4.7.2. The best way to resolve
the issue is to build the bytecode compiler with a different version of the
gcc and g++ compilers.

The bytecode compiler should be able to be built with gcc-4.4 and g++-4.4.

I would need your config.log to gather more accurate diagnostics.

Thanks:
Kevin


On Mon, Nov 25, 2013 at 6:57 AM, Cristoforo Nardone <crisnar@gmail.com>wrote:

> Hi,
>
> I am trying to compile the ClamAV Bytecode Compiler, I am on a Linux
> machine with with these characteristics:
>
>
> OS: Debian Wheezy
> KERNEL: Debian 3.2.51-1 x86_64 GNU/Linux
> GCC: 4.7.2
> Perl: 5.14.2
> make: 3.81
> Python: 2.7.3
>
> I get this error when try to compile:
>
> llvm[3]: Linking Release Loadable Module LLVMHello.so
> g++: error: unrecognized command line option ‘-module’
> make[3]: *** [/home/pasta/Scrivania/TESI/clamav/clamav-bytecode-
> compiler/obj/Release/lib/LLVMHello.so] Error 1
> make[3]: Leaving directory `/home/pasta/Scrivania/TESI/
> clamav/clamav-bytecode-compiler/obj/lib/Transforms/Hello'
> make[2]: *** [Hello/.makeall] Error 2
> make[2]: Leaving directory `/home/pasta/Scrivania/TESI/
> clamav/clamav-bytecode-compiler/obj/lib/Transforms'
> make[1]: *** [all] Error 1
> make[1]: Leaving directory `/home/pasta/Scrivania/TESI/
> clamav/clamav-bytecode-compiler/obj'
> make: *** [clambc-only] Error 2
>
> I really need to get the ClamAV Bytecode Compiler and thank you in advance
> who will try to help.
>
> ps: I'm sorry for my bad english but I'm Italian
>
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Buildin ClamAV Bytecode Compiler [ In reply to ]
Thanks for the reply, now the situation has changed

This is my config.log:
http://pastebin.com/WgzzuN3z
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Buildin ClamAV Bytecode Compiler [ In reply to ]
Can you recommend me a linux distribution that can solve my problem?
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Buildin ClamAV Bytecode Compiler [ In reply to ]
Could you tell me the results of "make clambc-only" when running on Dedian
using the gcc-4.4 and g++-4.4?

Debian machines are known to be able to compile the ClamAV Bytecode
Compiler with gcc-4.4 and g++-4.4 so knowing the new issue with the build
could lead to additional fixes.

As for operating systems, the primary developers of the compiler work in
Ubuntu 12.04 32-bit and 64-bit. There are also reports that the CentOS
distributions are also able to build the compiler as well.

Thanks;
Kevin


On Wed, Dec 4, 2013 at 11:56 AM, Cristoforo Nardone <crisnar@gmail.com>wrote:

> Can you recommend me a linux distribution that can solve my problem?
>
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net
>
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Buildin ClamAV Bytecode Compiler [ In reply to ]
You're right, it works. I'd only linked /usr/bin/gcc to gcc-4.4, but I
forgot to link also /usr/bin/cpp to cpp-4.4.

Now it works, thank you very much
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net
Re: Buildin ClamAV Bytecode Compiler [ In reply to ]
Looking at the building logs, I see that running "make clambc-only" runs
fine and that the error occurs in running "make" by itself. The clamav
bytecode compiler is a project that is built on top of the LLVM, in
particular, a fairly old version of the LLVM. Outside of the sections
pertaining to the compiler, there may be sections of the compiler's version
of LLVM that are not up-to-date with current compilers. Since we use LLVM's
configure script, it is not advised to run "make" on its own as it attempts
to make the entirety of LLVM which contsins out-dated sections.

However, this is fine as the clamav bytecode compiler is fully compiled by
running "make clambc-only" and the binary can be found at
"$OBJDIR/Release/bin/clambc-compiler" (note that "Release" may be "Debug"
depending on the type of build that is compiled). The binary can be
installed to the configured directory by running "make install-clambc".

Notes:
make clambc-only
-compile the clamav bytecode compiler

make install-clambc
-installs the compiler to the configured directory

make
-builds LLVM (do not use)

-Kevin


On Tue, Dec 10, 2013 at 3:03 PM, Cristoforo Nardone <crisnar@gmail.com>wrote:

> I was wrong, the make command returns an error. Can not find the file
> /clamav-bytecode-compiler/obj/lib/ExecutionEngine/JIT/Release/Intercept.o
> that effectively does not exist in that directory.
>
> I used the following instructions:
> (In the folder clamav-bytecode-compiler)
>
> mkdir obj
>
> cd obj
>
> ../llvm/configure --enable-optimized --enable-targets=host-only
> --disable-bindings --prefix=/usr/local/clamav (outconfig)
>
> make clambc-only (outmakeonly)
>
> make (outmake)
>
>
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net
>
_______________________________________________
http://lurker.clamav.net/list/clamav-devel.html
Please submit your patches to our Bugzilla: http://bugs.clamav.net