On Linux, OpenSSH's configure script complains that zlib and libcrypto are missing even when they are installed -- what it actually needs are the corresponding -devel RPMs. Since the problem is absence of the headers, and they're in different RPMs on Linux, please improve the errors to mention 'headers' -- -devel RPMs are too specific unless you wanted to special-case the relevant Linux flavors. [root@si-node openssh]# autoreconf [root@si-node openssh]# ./configure && make ... checking for deflate in -lz... no configure: error: *** zlib missing - please install first or check config.log *** [root@si-node openssh]# rpm -qa|grep zlib zlib-1.2.3-3 [root@si-node openssh]# rpm -ql zlib /usr/lib/libz.so.1 /usr/lib/libz.so.1.2.3 /usr/share/doc/zlib-1.2.3 /usr/share/doc/zlib-1.2.3/README [root@si-node openssh]# uname -a Linux si-node.mskcc.org 2.6.18-128.2.1.el5 #1 SMP Tue Jul 14 06:39:56 EDT 2009 i686 i686 i386 GNU/Linux [root@si-node openssh]# cat /etc/redhat-release CentOS release 5.3 (Final) I installed zlib-devel-1.2.3-3.i386.rpm, then got past zlib to a similar error about openssl: configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) *** [root@si-node openssh]# rpm -qa|grep crypto The fix was to install openssl-devel-0.9.8e-7.el5.i386.rpm. This was in HEAD from today.
Created attachment 1666 [details] Check for header presence for zlib and openssl before checking llibraries. Actually the problem is not that the headers are missing since the test just does a test link against libz looking for "deflate". The problem is that the .so link to the shared library is missing: $ rpm -qf /usr/lib/libz.so zlib-devel-1.2.3-18.fc9.i386 so as far as your linker is concerned, zlib *is* missing since nothing using -lz is going to work. There's already a header check which we could maybe move to before the library check. I'm opposed to including distro-specific advice in the configure errors.
I've committed the change that checks for the headers first, which may help: $ ./configure [...] checking whether getpgrp requires zero arguments... yes checking openssl/opensslv.h usability... no checking openssl/opensslv.h presence... no checking for openssl/opensslv.h... no configure: error: *** OpenSSL headers missing - please install first or check config.log *** If you'd like to write some text to put in README.platform I'd be happy to add it.
Created attachment 1682 [details] Short blurb telling RHEL-based users that they need -devel RPMs
Here's a suggestion, thanks! Linux ----- Some Linux distributions (including Red Hat/Fedora/CentOS) include headers and library links in the -devel RPMs rather than the main binary RPMs. If you get an error about headers, or complaining about a missing prerequisite that you know is installed, make sure the -devel RPMs are installed too.
Thanks, I've committed the text with a few modifications.
Mass move of RESOLVED bugs to CLOSED now that 5.3 is out.