Brian Morrison wrote:
> Brian Morrison wrote:
>
>> Brian Morrison wrote:
>>
>>> Brian Morrison wrote:
>>>
>>>
>>>> OK, I'll do that if I can't resolve it.
>>>>
>>>> I've checked that there are no old libclamav* files anywhere, they are
>>>> only in /usr/lib/, I've also checked that ld.so.conf is sane, and indeed
>>>> it is the only relevant paths are /usr/lib and /usr/local/lib in that
>>>> order.
>>>>
>>>> I'm wondering if somehow the older libclamunrar* files are not being
>>>> overwritten, but I can't see why that would happen.
>>>>
>>>>
>>> Right, I've checked some more things out:
>>>
>>> The relocation error is complaining that rarvm_free is not a symbol in
>>> libclamav.so.4
>>>
>>> If I check for any rarvm* symbol in libclamav.so.4 there are none shown, so:
>>>
>>> nm /usr/lib/libclamav.so.4 | grep rarvm
>>>
>>> returns nothing, however:
>>>
>>> nm /usr/lib/libclamunrar.so.4 | grep rarvm
>>>
>>> does find rarvm_free and a lot of other rarvm* symbols.
>>>
>>> libclamav.so.4.0.1, libclamunrar.so.4.0.1 and
>>> libclamunrar_iface.so.4.0.1 are all in /usr/lib
>>>
>>> Any ideas what's happening, should there be rar_vm* symbols in
>>> libclamav.so.4.0.1?
>>>
>>>
>> But ldd /usr/sbin/clamd says "Not a dynamic executable".
>>
In your build directory clamd is a shell script, which invokes the real
executable inside .libs/clamd. This is how libtool works.
>> That's whether built with rpm or the ./configure && make method.
>>
>>
>
> No, scratch that last comment. I was looking in the wrong place in the
> build directory.
>
> The actual problem is clamd has not linked in the libclamunrar*
> libraries at all, or libz.so.1, libbz2.so.1 and libgmp.so.3, so there
> is a problem that stops the same .spec file as 0.92.1 working in 0.93.
>
> I'm going to check the result of a manual build with no additional stuff
> passed to configure. But I think I need --enable-experimental to get the
> libclamunrar stuff don't I?
>
No, libclamunrar is controlled by --disable-unrar. By default it is enabled.
> Well in any case, I have now tried this on RH9 (gcc 3.2.2) and Fedora 7
> (gcc 4.1.2), and the result is that a configure && make (with or without
> --enable-experimental) results in a clamd executable that does not link
> in either libclamunrar* library or libz.so.1, libbz2.so.1 and
> libgmp.so.3, but libclamav.so does link in libclamunrar.so and
> libclamunrar_iface.so.
>
> Same result on both, looks like some sort of makefile bug to me.
>
> Trying to enter this in bugzilla, but login is screwed for me just now.
What does libclamav.la, libclamunrar_iface.la, and libclamunrar.la contain?
Also the correct sequence is:
clamd uses libclamav
libclamav uses libclamunrar_iface
libclamunrar_iface uses libclamunrar.
Here is my ldd -v /usr/local/sbin/clamd output, which illustrates this.
How does your look like?
$ ldd -v /usr/local/sbin/clamd
linux-vdso.so.1 => (0x00007fff33ffe000)
libclamav.so.4 => /usr/local/lib/libclamav.so.4 (0x00007fa22bc45000)
libpthread.so.0 => /lib/libpthread.so.0 (0x0000003ccd200000)
libc.so.6 => /lib/libc.so.6 (0x0000003ccc600000)
libz.so.1 => /usr/lib/libz.so.1 (0x00000034bf200000)
libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x0000003cdd600000)
libgmp.so.3 => /usr/lib/libgmp.so.3 (0x000000360b400000)
libclamunrar_iface.so.4 =>
/usr/local/lib/libclamunrar_iface.so.4 (0x00007fa22ba41000)
/lib64/ld-linux-x86-64.so.2 (0x0000003ccc200000)
libclamunrar.so.4 => /usr/local/lib/libclamunrar.so.4
(0x00007fa22b836000)
Version information:
/usr/local/sbin/clamd:
libclamav.so.4 (CLAMAV_PRIVATE) =>
/usr/local/lib/libclamav.so.4
libclamav.so.4 (CLAMAV_PUBLIC) =>
/usr/local/lib/libclamav.so.4
libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
libpthread.so.0 (GLIBC_2.3.2) => /lib/libpthread.so.0
libc.so.6 (GLIBC_2.3.4) => /lib/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/usr/local/lib/libclamav.so.4:
libclamunrar_iface.so.4 (CLAMAV_PRIVATE) =>
/usr/local/lib/libclamunrar_iface.so.4
libpthread.so.0 (GLIBC_2.2.5) => /lib/libpthread.so.0
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/lib/libpthread.so.0:
ld-linux-x86-64.so.2 (GLIBC_2.3) =>
/lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_2.2.5) =>
/lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) =>
/lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_2.3.2) => /lib/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) =>
/lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) =>
/lib64/ld-linux-x86-64.so.2
/usr/lib/libz.so.1:
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/lib/libbz2.so.1.0:
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/usr/lib/libgmp.so.3:
libc.so.6 (GLIBC_2.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.7) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/usr/local/lib/libclamunrar_iface.so.4:
libclamunrar.so.4 (CLAMAV_PRIVATE_UNRAR) =>
/usr/local/lib/libclamunrar.so.4
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
/usr/local/lib/libclamunrar.so.4:
libc.so.6 (GLIBC_2.2.5) => /lib/libc.so.6
Best regards,
--Edwin
_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://lurker.clamav.net/list/clamav-users.html