Platform to compile is a Debian Slink with openssl 0.9.6g installed. Platform compiles 100% successfully with openssh 3.4p1 Using indentical platform, compile error when trying to compile 3.5p1 Openssh, see http://pigtail.net/compile/error.txt for more details. Thanks Nicholas Fong
[.. Important part from URL..] gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I.. -I. -I./.. - I/usr/local/ssl/include -DHAVE_CONFIG_H -c bsd-getpeereid.c bsd-getpeereid.c: In function `getpeereid': bsd-getpeereid.c:35: storage size of `cred' isn't known bsd-getpeereid.c:35: warning: unused variable `cred' make[1]: *** [bsd-getpeereid.o] Error 1 I dealt with this recently on an old Redhat 6.2 Alpha box. Your glibc is out of date. You more than likely have 2.0. Which does not include the correct headers from kernel space (back when /usr/includes/linux/ was linked to /usr/src/linux/include/). The hack is to just do a #undef SO_PEERCRED at the top of the bsd-getpeereid.c file. As for a better solution. I'm not sure. I don't want to include <linux/*> stuff. That I think is the wrong solution.
Due to old glibc in Debian slink. Work around tips from anonymous guru: add #undef SO_PEERCRED at the top of the bsd-getpeereid.c
This bug still exists in the source. Don't close it until a final decision is made about how it iwll be handled in the CVS tree.
I noticed the same problem with a compile error where ucred is undefined in SUSE Linux 6.1. The problem is the test for SO_PEERCRED-- the feature is not available even though the define is present. In my linux/socket.h there is a "#define SCM_CREDENTIALS" next to the ucred definition, so the change from #if defined(SO_PEERCRED) to #if defined(SO_PEERCRED) && defined(SCM_CREDENTIALS) solves the compile problem, but I don't know which other distributions have the same. It may be SCM_CREDS or SCM_RIGHTS. Perhaps the only good way to check is with a new autoconfigure variable.
#if defined(SO_PEERCRED) && defined(SCM_CREDENTIALS) also works with Debian Slink.
Is this still broken for anyone? I built the current CVS tree on a Debian/slink test box today and it complied OK and ran a complete regression test (including privsep).
With the closure of bug #536, I think this is now fully fixed. It certainly works for me. Please re-open if this problem re-occurs or a new bug if there's other problems on this platform.
Mass change of RESOLVED bugs to CLOSED