I upgraded my amanda server from redhat 6.2 to redhat 7.1 and upgraded
amanda from 2.4.1p1 to 2.4.2p2.

I upgraded an amanda client to redhat 7.2 and replaced its copy of
the amanda programs (/usr/local/libexec and /usr/local/sbin) with
copies from the server.

Afterward I got the infamous "xinetd: amanda service was deactivated ..."
on the client during amcheck.

I used tcpdump and saw only three udp packets from the server to the client,
but watching xinetd I saw ten invocations of amandad on the client.

So I did an strace of xinetd on the client and saw

  recvfrom(3, "A", 1, MSG_PEEK

Since xinetd only peeks at the packet, what if amandad was failing
to read the packet, then when it returned the packet would still
be there, xinetd would invoke amandad again, voila looping.

But why would amandad fail to read the packet?  So, I did ldd on amandad

ldd /usr/local/libexec/amandad
        libm.so.6 => /lib/i686/libm.so.6 (0x40027000)
        libreadline.so.4.1 => not found
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x4004a000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x4004e000)
        libc.so.6 => /lib/i686/libc.so.6 (0x40064000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Ah, libreadline is missing!  No, it's there, but it is
/usr/lib/libreadline.so.4.2.

The question is why does amandad depend upon libreadline.so.4.1
and not merely libreadline.so.4?  Is this just some compiletime
mistake.  The other libraries are only specified to their major number.

I guess I'm lazy, I'd rather not have to recompile amanda everytime
libreadline is upgraded. :-)

Thanks,

Ron
[EMAIL PROTECTED]

Reply via email to