View Single Post
  #1  
Old 24th July 2007, 22:49
xrat xrat is offline
Member
 
Join Date: Nov 2006
Location: Vienna, Austria
Posts: 56
Thanks: 68
Thanked 16 Times in 13 Posts
Unhappy Installation of 2.2.15 fails at compiling clamav

Hi all,
I tried to update from 2.2.14 to 2.2.15. My previous updates all worked fine on my Debian 3.1 machine. So, I guess all requirements should be OK. Also, I did not change anything (as far as I can remember I only installed automake-1.9 (which should have no effect).

This time though, with 2.2.15, the setup/installation fails (apparently) when compiling ClamAV:

Code:
gcc -shared  .libs/matcher-ac.o .libs/matcher-bm.o .libs/matcher-ncore.o .libs/matcher.o .libs/md5.o .libs/others.o .libs/readdb.o .libs/cvd.o .libs/dsig.o .libs/str.o .libs/scanners.o .libs/filetypes.o .libs/rtf.o .libs/blob.o .libs/mbox.o .libs/message.o .libs/snprintf.o .libs/table.o .libs/text.o .libs/ole2_extract.o .libs/vba_extract.o .libs/msexpand.o .libs/pe.o .libs/upx.o .libs/htmlnorm.o .libs/chmunpack.o .libs/rebuildpe.o .libs/petite.o .libs/wwunpack.o .libs/suecrypt.o .libs/unsp.o .libs/aspack.o .libs/packlibs.o .libs/fsg.o .libs/mew.o .libs/upack.o .libs/line.o .libs/untar.o .libs/unzip.o .libs/special.o .libs/binhex.o .libs/is_tar.o .libs/tnef.o .libs/unrar15.o .libs/unrarvm.o .libs/unrar.o .libs/unrarfilter.o .libs/unrarppm.o .libs/unrar20.o .libs/unrarcmd.o .libs/LZMADecode.o .libs/bzlib.o .libs/infblock.o .libs/nulsft.o .libs/pdf.o .libs/spin.o .libs/yc.o .libs/elf.o .libs/sis.o .libs/uuencode.o .libs/phishcheck.o .libs/phish_domaincheck_db.o .libs/phish_whitelist.o .libs/regex_list.o .libs/sha256.o .libs/mspack.o .libs/cab.o .libs/entconv.o .libs/hashtab.o .libs/dconf.o .libs/lockdb.o  -lz -lpthread -lnsl  -Wl,-soname -Wl,libclamav.so.2 -o .libs/libclamav.so.2.0.7
/usr/lib/libc_nonshared.a(atexit.oS)(.text.__i686.get_pc_thunk.bx+0x0): In function `__i686.get_pc_thunk.bx':
: multiple definition of `__i686.get_pc_thunk.bx'
/usr/lib/gcc-lib/i486-linux/3.3.5/crtbeginS.o(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x0): first defined here
collect2: ld returned 1 exit status
make[2]: *** [libclamav.la] Error 1
make[2]: Leaving directory `/root/install_ispconfig/compile_aps/clamav-0.91.1/libclamav'
My libc6 and binutils are

Code:
$ dpkg -l 'libc6*' binutils | grep ^ii
ii  binutils       2.15-6         The GNU assembler, linker and binary ...
ii  libc6          2.3.6.ds1-13   GNU C Library: Shared libraries
ii  libc6-dev      2.3.6.ds1-13   GNU C Library: Development Libraries ...
$ gcc --version
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
I found a very valuable post by Michael Koren at http://www.mail-archive.com/debian-g.../msg33191.html where he provides several ways to work around the above mentioned troubles.

Thus, I installed gcc-3.4 (note that gcc then still is v3.3 but I needed the shared libs of gcc-3.4). Executed in directory /usr/lib/gcc-lib/i486-linux/3.3.5 the following commands exchange the files needed:
Code:
cp -a crtbeginS.o crtbeginS.o.orig
cp -a crtendS.o crtendS.o.orig
cp -a /usr/lib/gcc/i486-linux/3.4.4/crtbeginS.o .
cp -a /usr/lib/gcc/i486-linux/3.4.4/crtendS.o .
Unfortunately, compilation still fails, though with a different yet similar error (provided here only for reference):

Code:
: multiple definition of `__i686.get_pc_thunk.bx'
.libs/matcher-ac.o(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x0):/root/install_ispconfig/compile_aps/clamav-0.91.1/libclamav/matcher-ac.c:40: first defined here
collect2: ld returned 1 exit status
make[2]: *** [libclamav.la] Error 1
Eventually, I managed to install ISPconfig 2.2.15 by compiling it with GCC 3.4 and G++ 3.4 (don't forget to install it!

I do not know the recommended way of switching GCC from 3.3 to 3.4 but the following did the job for me.

Code:
$ cd /usr/bin
rm gcc ; ln -s gcc-3.4 gcc
rm g++ ; ln -s g++-3.4 g++
HTH,
-- xrat
Reply With Quote
Sponsored Links