I have a fresh redhat 6.0 install on a x86 machine (VA Research VArStation 28), however I have been unable to compile ssh versions 2.0.11, 2.0.12, and 1.2.26. During the install I chose the custom install and selected every component except for the news server. The configure works fine, and the build works up until it gets to wtmp.c. It fails with errors that indicate that the include file /usr/include/wtmpx.h is bad in some way. Here are the errors: gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -I. -I../.. -I../.. -I../sshutil -I./../sshutil -g -Wall -c wtmp.c wtmp.c: In function `ssh_user_record_login': wtmp.c:384: warning: flag `0' used with type `s' wtmp.c:388: warning: flag `0' used with type `s' wtmp.c:413: structure has no member named `ut_syslen' wtmp.c:425: warning: implicit declaration of function `updwtmpx' wtmp.c:425: `WTMPX_FILE' undeclared (first use in this function) wtmp.c:425: (Each undeclared identifier is reported only once wtmp.c:425: for each function it appears in.) In ssh version 1.2.26 it fails in login.c with very similar errors. I would have thought that this would have already been found if it were a general problem, but I can't find any mention of ssh in the bugzilla complete list. I've compiled ssh dozens of times on all versions of linux, on solaris and on IRIX and I've never had any problems, so I'm stumped. I really need help on this very soon. I'd greatly appreciate it if someone could give me some suggestions and cc me directly. Thanks, Nathan PS. I attempted upgrading to the 2.2.7 kernel, even though I knew it would make no difference... Guess what, I was right.
Here's what I do for 1.2.26. I haven't tried 2.0.x, but I'm told that -D_GNU_SOURCE does the trick there too. Please reopen this bug if not ... Add -D_GNU_SOURCE to CFLAGS. In addition, there's a one liner for login.c --- ssh-1.2.26/login.c.rh Fri Mar 12 16:06:29 1999 +++ ssh-1.2.26/login.c Fri Mar 12 16:06:37 1999 @@ -434,7 +434,6 @@ ux.ut_session = pid; strncpy(ux.ut_host, host, sizeof(ux.ut_host)); ux.ut_host[sizeof(ux.ut_host) - 1] = 0; - ux.ut_syslen = strlen(ux.ut_host); #ifdef HAVE_SYSLEN_IN_UTMPX ux.ut_syslen = strlen(ux.ut_host); #endif