This patch which uses lseek64() and open64() is unacceptable since it breaks X on other platforms. Perhaps we should #ifdef __linux__ it, or perhaps we should have Linux built apps built with the flags -D_FILE_OFFSET_BITS=64 and -D_LARGEFILE_SOURCE This is something that will need to be fixed before it is accepted into upstream XFree86 sources. --- xc/programs/xdm/sessreg.c.orig Tue Mar 26 17:13:53 2002 +++ xc/programs/xdm/sessreg.c Tue Mar 26 17:13:59 2002 @@ -329,12 +329,12 @@ struct passwd *pwd = getpwnam(user_name); sysnerr( pwd != NULL, "get user id"); - llog = open (llog_file, O_RDWR); + llog = open64 (llog_file, O_RDWR); if (llog != -1) { struct lastlog ll; - sysnerr (lseek(llog, (long) pwd->pw_uid*sizeof(ll), 0) + sysnerr (lseek64(llog, (loff_t) pwd->pw_uid*sizeof(ll), 0) != -1, "seeking lastlog entry"); bzero((char *)&ll, sizeof(ll)); ll.ll_time = current_time;