Hi all,

I have SSH1/SSH2 (2.3.0) installed on a mostly Solaris 7 cluster 
(some Solaris 2.4 and Tru64 4.0F also). With the Solaris hosts I 
keep getting these messages with ss2h/scp2/sftp2 etc just before the
password is asked for:

ld.so.1: ssh-signer2: fatal: libncurses.so.5: open failed: No such
file or directory

This not fatal (despite what it says), except for sftp2, where the 
following additional message is observed, after the password prompt:

ld.so.1: sftp-server: fatal: libncurses.so.5: open failed: No such
file or directory
          Warning: ssh_packet_wrapper_input: invalid packet received:
len 1265200240 closing the offending input channel.

At the sftp> prompt, an 'ls' just hangs forever.

libncurses.so.5 *does* exist, in /usr/local/lib. It seems to be 
something to do with the SUID nature of ssh-signer2 - the
value of LD_LIBRARY_PATH is not passed when SUID binaries are
executed, and the problem doesn't occur when I try it as root
(with same environment variables etc). It doesn't happen between
my Tru64 hosts, or going from Tru64 to Solaris, but happens nearly
always going from Solaris to any other hosts. The exceptions are:
(1) one Solaris 7 host which should be identical to the others; and
(2) a very similar cluster (Solaris 7, Tru64 mix) I maintain at 
another site - the problem doesn't exist there at all, although
revisions and patch levels are much the same.

No errors during compile (this is ssh 2.3.0 - same happened with
2.2.0), although if I use gcc instead of Sun's cc, there are many
warnings like this:

ld: warning: symbol `acs_map' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x4; file
/usr/local/lib/libncurses.so value=0x200);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `numnames' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x88; file
/usr/local/lib/libncurses.so value=0xa0);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `ospeed' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x2; file
/usr/local/lib/libncurses.so value=0x4);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `strcodes' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x62c; file
/usr/local/lib/libncurses.so value=0x67c);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `boolfnames' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x98; file
/usr/local/lib/libncurses.so value=0xb4);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `boolcodes' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x98; file
/usr/local/lib/libncurses.so value=0xb4);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `strnames' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x62c; file
/usr/local/lib/libncurses.so value=0x67c);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `ttytype' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x400; file
/usr/local/lib/libncurses.so value=0x100);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `boolnames' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x98; file
/usr/local/lib/libncurses.so value=0xb4);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `strfnames' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x62c; file
/usr/local/lib/libncurses.so value=0x67c);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `numcodes' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x88; file
/usr/local/lib/libncurses.so value=0xa0);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `curses_version' has differing types:
        (file /usr/ccs/lib/libtermcap.so type=OBJT; file
/usr/local/lib/libncurses.so type=FUNC);
        /usr/ccs/lib/libtermcap.so definition taken
ld: warning: symbol `numfnames' has differing sizes:
        (file /usr/ccs/lib/libtermcap.so value=0x88; file
/usr/local/lib/libncurses.so value=0xa0);
        /usr/ccs/lib/libtermcap.so definition taken

(/usr/ccs/lib/libtermcap.so turns out to be a link to /usr/lib/libcurses.so.1)
This would seem to be relevant, but I'm not sure how. 

I've tried updating ncurses, installing GNU termlib, compiling
with gcc and cc, setting ld -L /usr/local/lib in the Makefiles so the path
to libncurses is "built in", static linking, putting the ncurses
libs in /usr/lib, not setting LD_LIBRARY_PATH at all and probably other 
things I've forgotten by now. Web searches and the archives of this list
haven't turned up anything so far.

This is driving me crazy - I can't understand why it compiles
out the box on one Solaris 7 box and gives me this weird error
on another, very similar Solaris 7 box. Any help would be 
very much appreciated!

Thanks,
-- 
________________________________________________________________________
Brett Holman                             [EMAIL PROTECTED]
IT Manager, School of Earth Sciences * IT Support, Astrophysics Group
The University of Melbourne, Parkville, Victoria 3052, AUSTRALIA
http://astro.ph.unimelb.edu.au/~bholman/ * Remember: KLAATU BARADA NIKTO

Reply via email to