Solving a CRLE issue under Solaris

If you have the kind of message shown below, you know you are in big trouble:

root@galactus$ ssh -V ssh: fatal: open failed: No such file or directory

Oh dear, that's not good. Especially if you take a look at the program itself using the ldd command:

root@galactus$ ldd $(which ssh) =>        /lib/ =>   /lib/ =>     /usr/lib/ =>    (file not found) =>   /usr/lib/ =>     /lib/ =>    /lib/ =>    /lib/ =>   /lib/ =>   /lib/ =>  /lib/ =>         /lib/ =>   /lib/ =>     /lib/

Of course, the "missing" libraries are present on the machine:

root@galactus$ ls /usr/local/lib/*crypt*
/usr/local/lib/              /usr/local/lib/llib-lcrypto
/usr/local/lib/        /usr/local/lib/llib-lcrypto.ln

Yup, libcrypto is right there.

The easiest way to solve this is to make sure the crle configuration is updated. To do this, enter the following:

root@galactus$ crle -v -u -l /lib:/usr/lib:/local/lib:/lib/secure:/usr/lib/secure
output configuration file: /var/ld/ld.config
adding default library path (ELF): /lib:/usr/lib:/local/lib:/lib/secure:/usr/lib/secure

In the example show above, we add several missing directories to the damaged/corrupted crle configuration.

Before using the command line shown above, you should, of course, investigate matters a bit more (ldd is your best friend for this) and adapt the command line to include the missing directories that are

Once this configuration has been updated, everything is back to normal:

root@galactus$ ssh -V
Sun_SSH_1.1, SSH protocols 1.5/2.0, OpenSSL 0x0090704f

Phew... That was close...

See Also: