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

Reply via email to