I have been fighting a small problem here, and I think tonight I have a workaround. If this has been suggested before, please excuse me. I have seen some similar posts in the archive, thought this might help someone. I am using SuSE Linux 7.1. I am installing SSH 2.9p1 from source, and compiling against OpenSSL 0.9.6a. I was having some trouble with signature verification. My OpenSSL was compiled as dynamic libraries with pgcc-2.95.2.1 (although I have tried several other versions of gcc/pgcc with same results), and options '-O2 -march=i686 -mcpu=i686'. I notice that the 'openssh' application bombs on 'make test' with these settings. I can turn down the settings to '-march=i686 -mcpu=i686' and make 'openssh' work again, but ssh still fails when dynamically linked to the shared openssl libraries. I built an extra install of OpenSSL, static only, with CFLAGS='-march=i686 -mcpu=i686' and link against this static library instead of the system's dyanmic OpenSSL libraries. I put this library in /opt/ssl. Then I build OpenSSH against these libraries by including --with-ssl-dir=/opt/ssl on the 'configure' line when building OpenSSH. Voila! It now works fine. SSL routines are slower without -O2, but at least they work now. I didn't have trouble with this under SuSE 7.0. Perhaps a difference between glibc 2.1 and 2.2, or Linux 2.2 to 2.4? I am using Linux-2.4.5 built with the suggested compiler, egcs-1.1.3. I build apps with pgcc-2.95.2.1, which was built using the egcs-1.1.3, and then bootstrapped against itself. For anyone interested, the problem affected both incoming connections to 'sshd' and outgoing connections using 'ssh'. All I changed was the library linkage.
