In 3.6.1p2 the broken_dirname checks for Solaris 2.5.1 aren't getting run out of configure because -lgen has already been detected. This fixes the problem (moves all checks against -lgen after the dirname checks): RCS file: /cvsroot/upstream/openssh/configure.ac,v retrieving revision 1.1.1.10 diff -u -r1.1.1.10 configure.ac --- configure.ac 2003/04/29 09:12:08 1.1.1.10 +++ configure.ac 2003/05/09 03:00:53 @@ -410,9 +410,6 @@ fi fi -AC_CHECK_FUNC(getspnam, , - AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen")) - AC_ARG_WITH(rpath, [ --without-rpath Disable auto-added -R linker paths], [ @@ -622,7 +619,6 @@ ) AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP)) -AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME)) dnl Make sure strsep prototype is defined before defining HAVE_STRSEP AC_CHECK_DECL(strsep, [AC_CHECK_FUNCS(strsep)]) @@ -663,6 +659,10 @@ fi ]) ]) + +AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME)) +AC_CHECK_FUNC(getspnam, , + AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen")) dnl Checks for time functions AC_CHECK_FUNCS(gettimeofday time)
Ignore the fix - it fixes configure, but breaks at build time due to incompatible dirname prototypes (libgen.h)
I'm pretty sure this has the same root cause as bug #615. Please try the proposed fix at comments 8 & 9: http://bugzilla.mindrot.org/show_bug.cgi?id=615#c8
Created attachment 391 [details] Move other libgen tests after dirname test, remove first libgen.h test. I think the attached patch will solve this: it removes the extra libgen.h test and only defines HAVE_LIBGEN_H if HAVE_DIRNAME gets defined. Hopefully this won't break anything else... if it does we'll probably need a "DIRNAME_IS_CONST " test or something. The ChangeLog entry for the previous libgen.h change is: revision 1.107 date: 2003/02/24 01:47:16; author: djm; state: Exp; lines: +3 -3 - (djm) Most of Bug #499: Cygwin compile fixes for new progressmeter I have confirmed that is fixes the problem on Solaris 2.5.1 and that Cygwin still builds after this change. OK?
The patch is (modulo exchanging the order of the final basename & getspnam checks), identical to what I've been using locally to get the build to work on Solaris 2.5.1. Seems extremely likely that this fixes the problem.
Thanks, I'll put this in the queue to be fixed for 3.7.
Comment on attachment 391 [details] Move other libgen tests after dirname test, remove first libgen.h test. Looks fine to me
Fixed, thanks. 20030911 - (dtucker) [configure.ac] Bug #588, #615: Move other libgen tests to after the dirname test, to allow a broken dirname to be detected correctly. Based partially on patch supplied by alex.kiernan at thus.net. ok djm@
Mass change of RESOLVED bugs to CLOSED